łň
JéŹFc           @   sG   d  d k  Z  d  d k Z d  d k Z d  d k l Z d h  d  Z d S(   i˙˙˙˙N(   t   StringIOc         C   st  t  i t  i t  i t  i f } t   } t   } zĺt |  t  _ | o t | d  t  _ n
 | t  _ | t  _ | i d  o | d } | d =n |  } t g  } | i	   D] \ }	 }
 | d |	 |
 g q° ~ g   } | g | t  _ t |  d  } t
 i   } zŰ yo y, d d t i f } t i d | | |  Wn< t j
 o0 } | i o t i d | | i f  qxn XWne t j
 oY } d	 d
 k } t  i   \ } }
 } | i d i | i | |
  | i |    n XWd
 | i   | t
 i   j o t
 i |  n XWd
 | \ t  _ t  _ t  _ t  _ X| i   o& d	 d
 k } | i i | i    n | i   S(   s$    process an Python script using imp t   wt   __file__s   --t   rs   .plugint   rbt   __main__s   %s exit rc=%di˙˙˙˙Nt    (   t   syst   stdint   stdoutt   stderrt   argvR    t   opent   has_keyt   sumt   itemst   ost   getcwdt   impt	   PY_SOURCEt   load_modulet
   SystemExitt   codet   logt   errort	   Exceptiont	   tracebackt   exc_infot   writet   joint   format_exception_onlyt	   format_tbt   closet   chdirt   getvaluet   planett   logger(   t   scriptt   doct   output_filet   optionst   save_syst   plugin_stdoutt   plugin_stderrt   plugin_filet   _[1]t   keyt   valuet   handlet   cwdt   descriptiont   eR   t   typet   tbR#   (    (    s9   /home/sgala/public_html/code/venus/planet/shell/plugin.pyt   run   sJ    				
@0
)(   R   R   R   R    t   NoneR6   (    (    (    s9   /home/sgala/public_html/code/venus/planet/shell/plugin.pys   <module>   s   $
