???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................
]:                 @   sR   d  d l  Z  d  d l Z d g Z d Z e  j e  j d Z Gd d   d  Z d S)    NCmdz(Cmd) _c               @   s9  e  Z d  Z e Z e Z d Z d Z d Z	 d Z
 d Z d Z d Z d Z d Z d	 d d d
 d  Z d d d  Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d  d!   Z d" d#   Z d$ d%   Z d& d'   Z d( d)   Z d* d+   Z  d, d- d.  Z! d S)/r   = Nz(Documented commands (type help <topic>):zMiscellaneous help topics:zUndocumented commands:z*** No help on %s   Ztabc             C   s^   | d  k	 r | |  _  n t j  |  _  | d  k	 r< | |  _ n t j |  _ g  |  _ | |  _ d  S)N)stdinsysstdoutcmdqueuecompletekey)selfr   r   r	    r   (/opt/alt/python35/lib64/python3.5/cmd.py__init__L   s    	zCmd.__init__c             C   s  |  j    |  j rt |  j rt yC d d  l } | j   |  _ | j |  j  | j |  j d  Wn t	 k
 rs Yn Xz7| d  k	 r | |  _
 |  j
 r |  j j t |  j
  d  d  } x | s|  j r |  j j d  } n |  j ry t |  j  } Wqlt k
 rd } YqlXnS |  j j |  j  |  j j   |  j j   } t |  s]d } n | j d  } |  j |  } |  j |  } |  j | |  } q W|  j   Wd  |  j r|  j ry  d d  l } | j |  j  Wn t	 k
 rYn XXd  S)Nr   z
: complete
EOFz
)preloopuse_rawinputr   readlineZget_completerZold_completerZset_completercompleteparse_and_bindImportErrorintror	   writestrr
   popinputpromptEOFErrorflushr   lenrstripprecmdonecmdpostcmdpostloop)r   r   r   stopliner   r   r   cmdloopb   sN    
						zCmd.cmdloopc             C   s   | S)Nr   )r   r'   r   r   r   r"      s    z
Cmd.precmdc             C   s   | S)Nr   )r   r&   r'   r   r   r   r$      s    zCmd.postcmdc             C   s   d  S)Nr   )r   r   r   r   r      s    zCmd.preloopc             C   s   d  S)Nr   )r   r   r   r   r%      s    zCmd.postloopc             C   s   | j    } | s d  d  | f S| d d k rF d | d d   } nC | d d k r t |  d  r| d | d d   } n d  d  | f Sd t |  } } x- | | k  r | | |  j k r | d } q W| d  |  | | d   j    } } | | | f S)Nr   ?zhelp r   !Zdo_shellzshell )striphasattrr    
identchars)r   r'   incmdargr   r   r   	parseline   s    " 'zCmd.parselinec             C   s   |  j  |  \ } } } | s( |  j   S| d  k rA |  j |  S| |  _ | d k r_ d |  _ | d k rx |  j |  Sy t |  d |  } Wn t k
 r |  j |  SYn X| |  Sd  S)Nr   r   do_)r2   	emptylinedefaultlastcmdgetattrAttributeError)r   r'   r0   r1   funcr   r   r   r#      s    

		z
Cmd.onecmdc             C   s   |  j  r |  j |  j   Sd  S)N)r6   r#   )r   r   r   r   r4      s    	zCmd.emptylinec             C   s   |  j  j d |  d  S)Nz*** Unknown syntax: %s
)r	   r   )r   r'   r   r   r   r5      s    zCmd.defaultc             G   s   g  S)Nr   )r   ignoredr   r   r   completedefault   s    zCmd.completedefaultc                s'   d |     f d d   |  j    D S)Nr3   c                s/   g  |  ]% } | j     r | d  d   q S)   N)
startswith).0a)dotextr   r   
<listcomp>   s   	 z%Cmd.completenames.<locals>.<listcomp>)	get_names)r   textr:   r   )r@   r   completenames   s    
zCmd.completenamesc             C   s'  | d k r d d  l  } | j   } | j   } t |  t |  } | j   | } | j   | } | d k r |  j |  \ }	 }
 } |	 d k r |  j } q y t |  d |	  } Wq t	 k
 r |  j } Yq Xn	 |  j
 } | | | | |  |  _ y |  j | SWn t k
 r"d  SYn Xd  S)Nr   r   Z	complete_)r   Zget_line_bufferlstripr    Z
get_begidxZ
get_endidxr2   r;   r7   r8   rD   Zcompletion_matches
IndexError)r   rC   stater   Zorigliner'   strippedZbegidxZendidxr0   argsZfooZcompfuncr   r   r   r      s*    	zCmd.completec             C   s   t  |  j  S)N)dir	__class__)r   r   r   r   rB     s    zCmd.get_namesc                sH   t  |  j      } t    f d d   |  j   D  } t | | B S)Nc             3   s6   |  ], } | j  d    d  r | d d  Vq d S)help_r      N)r=   )r>   r?   )rI   r   r   	<genexpr>   s    z$Cmd.complete_help.<locals>.<genexpr>)setrD   rB   list)r   rI   commandsZtopicsr   )rI   r   complete_help  s    %zCmd.complete_helpc             C   s6  | r y t  |  d |  } Wn t k
 r y> t  |  d |  j } | rj |  j j d t |   d  SWn t k
 r Yn X|  j j d t |  j | f   d  SYn X|   n{|  j   } g  } g  } i  } x8 | D]0 } | d  d  d k r d | | d d   <q W| j   d }	 x | D] } | d  d  d k r'| |	 k rRq'| }	 | d d   }
 |
 | k r| j	 |
  | |
 =q't  |  |  j r| j	 |
  q'| j	 |
  q'W|  j j d t |  j
   |  j |  j | d d	  |  j |  j t | j    d d	  |  j |  j | d d	  d  S)
NrL   r3   z%s
rM   r   r   r<      P   )r7   r8   __doc__r	   r   r   nohelprB   sortappend
doc_leaderprint_topics
doc_headermisc_headerrP   keysundoc_header)r   r1   r9   docnamesZcmds_docZ
cmds_undochelpnameZprevnamer0   r   r   r   do_help$  sN    $	


%zCmd.do_helpc             C   sx   | rt |  j  j d t |   |  j rP |  j  j d t |  j t |    |  j | | d  |  j  j d  d  S)Nz%s
r   r   )r	   r   r   rulerr    	columnize)r   headerZcmdsZcmdlenZmaxcolr   r   r   rZ   R  s    	'zCmd.print_topicsrT   c                s    s |  j  j d  d  S  f d d   t t     D } | rg t d d j t t |     t    } | d k r |  j  j d t   d   d  Sx t d t     D] } | | d | } g  } d } x t |  D] }	 d }
 xN t |  D]@ } | | |	 } | | k r"P  | } t |
 t |   }
 qW| j	 |
  | |
 d	 7} | | k r Pq W| | k r Pq Wt    } d } d g } x t |  D] } g  } xN t |  D]@ }	 | | |	 } | | k rd
 } n
   | } | j	 |  qWx | r%| d r%| d =q
Wx5 t t |   D]! }	 | |	 j
 | |	  | |	 <q9W|  j  j d t d j |    qWd  S)Nz<empty>
c                s)   g  |  ] } t    | t  s |  q Sr   )
isinstancer   )r>   r.   )rP   r   r   rA   d  s   	 z!Cmd.columnize.<locals>.<listcomp>z list[i] not a string for i in %sz, r   z%s
r      r   z  rj   )r	   r   ranger    	TypeErrorjoinmapr   maxrX   ljust)r   rP   ZdisplaywidthZ
nonstringssizeZnrowsZncolsZ	colwidthsZtotwidthcolZcolwidthrowr.   xZtextsr   )rP   r   re   Z  sZ    %
		
zCmd.columnize)"__name__
__module____qualname__PROMPTr   
IDENTCHARSr-   rd   r6   r   rY   r[   r\   r^   rV   r   r   r(   r"   r$   r   r%   r2   r#   r4   r5   r;   rD   r   rB   rR   rc   rZ   re   r   r   r   r   r   4   s:   4
		.)stringr   __all__rx   ascii_lettersdigitsry   r   r   r   r   r   <module>-   s   	