³ò
þPÁHc           @   sß   d  d k  Z e i i ƒ  Z d e d <e d e Z d  d k Z d  d k Z d  d k Z d  d k	 Z	 d  d k
 Z d  d k Z d  d k Z d Z d e i i i f d „  ƒ  YZ d e i f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d S(   iÿÿÿÿNs/   Session as tab.

pyChecker support by Nicodemust   descriptiont   docsÎ   Portions Copyright 2003-2007 www.stani.be - see credits in manual for further copyright information.
Please donate if you find this program useful (see help menu). Double click to jump to error source code.t   Shellc           B   s&   e  Z d  „  Z d d „ Z d „  Z RS(   c         K   ss   h  | d <d d <|  _  | d <t i i i i |  |  |  i t ƒ |  i t i	 |  i
 ƒ |  i t i ƒ d  S(   Nt   SPEappt   __main__t   __name__t   locals(   R   t   wxt   pyt   shellR   t   __init__t   SetUseAntiAliasingt   Truet   Bindt   EVT_LEFT_DCLICKt   jumpToSourcet   Unbindt   EVT_IDLE(   t   selft   appt   keyw(    (    s   C:\py\_spe\tabs\Shell.pyR
      s
    #c         C   s³  |  i  ƒ  } d  } x¾ | oµ | d j o¨ |  i | ƒ } | i d ƒ d j oo | i d ƒ d j oY d | i d ƒ d i ƒ  i d d ƒ i d d	 ƒ } y t | ƒ } WqÄ d  } qÄ Xn d  } | d
 8} q W| pr |  i |  i  ƒ  ƒ } t i	 d | ƒ } | o: h  } | i
 d
 ƒ | d <t | i
 d ƒ ƒ d
 | d <qLd  } n | oO | d c d
 8<|  i d | d | d ƒ |  i d | d | d f ƒ n |  i d ƒ d  S(   Ni    t   Fileiÿÿÿÿt   lines   {%s}s   in s   File s   "file":rs   "line":i   s   (.*):(\d+): .*t   filei   s   %ss   Jumped to file "%s" (line %s)s1   Error: Impossible to locate file and line number.(   t   GetCurrentLinet   Nonet   GetLinet   findt   splitt   stript   replacet   evalt   ret   matcht   groupt   intt   opent   setStatusText(   R   t   eventR   t   textt   current_linet   m(    (    s   C:\py\_spe\tabs\Shell.pyR      s4     ,5!
#c         C   só  t  t i ƒ } t  t i ƒ } |  i ƒ  } |  i | ƒ |  i } |  i | | ƒ |  i d ƒ | i	 ƒ  } |  i
 | ƒ } |  i | ƒ } | i t i | d ƒ } | i t i | d ƒ } | i t i d ƒ } | i d ƒ } g  } d } xµ | D]­ }	 |	 i ƒ  | i ƒ  j o
 d }	 n |	 i	 ƒ  }
 |	 i ƒ  d j oQ |
 |	 j oD |
 d  d	 j o3 |
 d  d j o" | o | i | ƒ n |	 } qð | d 7} | |	 7} qð W| i | ƒ x> | D]6 } | i d t i | ƒ } |  i | ƒ |  i ƒ  qµWd S(
   s8   Replace selection with clipboard contents, run commands.t    s   
i   t   elset   elifi   t   exceptN(   s   elses   elif(   t   strt   syst   ps1t   ps2t   GetTextLengtht   SetCurrentPost   promptPosEndt   SetSelectiont   ReplaceSelectiont   lstript   fixLineEndingst   lstripPromptR   t   ost   linesepR   R   t   appendt   writet   processLine(   R   R'   R0   R1   t   endpost   startpost   linest   commandst   commandR   R7   (    (    s   C:\py\_spe\tabs\Shell.pyt   Execute?   sF    	 
 

 N(   R   t
   __module__R
   R   R   RD   (    (    (    s   C:\py\_spe\tabs\Shell.pyR      s   	!t   DropRunc           B   s    e  Z d  Z d „  Z d „  Z RS(   s"   Runs a file when dropped on shell.c         C   s   t  i i |  ƒ | |  _ d  S(   N(   R   t   FileDropTargetR
   t   run(   R   RH   (    (    s   C:\py\_spe\tabs\Shell.pyR
   m   s    c         C   s}   g  } | D]4 } t  i i | ƒ d i ƒ  d j o | | q q ~ } | o& x | D] } |  i | ƒ qV Wd Sn d Sd  S(   Niÿÿÿÿs   .pys   .pywi   i    (   s   .pys   .pyw(   R:   t   patht   splitextt   lowerRH   (   R   t   xt   yt	   fileNamest   _[1]t   scriptt   fileName(    (    s   C:\py\_spe\tabs\Shell.pyt   OnDropFilesp   s    7 (   R   RE   t   __doc__R
   RR   (    (    (    s   C:\py\_spe\tabs\Shell.pyRF   k   s   	t   Panelc           B   s   e  Z d  „  Z RS(   c         O   s   t  i |  | i d | d t ƒ| i |  _ | i |  _ |  i t	 | i
 ƒ ƒ |  i t i i ƒ |  i t i i t i i t i ƒ d ƒ ƒ d  S(   Nt   parentt	   introTexts
   startup.py(   R   R
   R   t   INTROt   SetActiveStatusTextR%   t   openListR$   t   SetDropTargetRF   t   runFilet   SetHelpTextt   _spet   helpt   SHELLt   execStartupScriptR:   RI   t   joint   dirnamet   __file__(   R   t   panelt   argst   kwds(    (    s   C:\py\_spe\tabs\Shell.pyR
   z   s    (   R   RE   R
   (    (    (    s   C:\py\_spe\tabs\Shell.pyRT   y   s   (   t	   _spe.infoR]   t   infot   copyt   INFORS   R   R    R:   R/   t	   _spe.helpt   os.pathRW   R   R	   R   RG   RF   RT   (    (    (    s   C:\py\_spe\tabs\Shell.pys   <module>   s   
0U