
    z%i:                     l    	 d dl Z d dlZdgZdZe j                  e j
                  z   dz   Z G d d      Zy)    NCmdz(Cmd) _c                       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	Zdd
Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z ddZ!y)r   = Nz(Documented commands (type help <topic>):zMiscellaneous help topics:zUndocumented commands:z*** No help on %s   c                     	 ||| _         nt        j                   | _         ||| _        nt        j                  | _        g | _        || _        y N)stdinsysstdoutcmdqueuecompletekey)selfr   r   r   s       7/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/cmd.py__init__zCmd.__init__L   sH    		 DJDJ DK**DK&    c                    	 | j                          | j                  r_| j                  rS	 dd l}|j	                         | _        |j                  | j                         |j                  | j                  dz          	 ||| _
        | j                  r1| j                  j                  t        | j                        dz          d }|s| j                  r| j                  j                  d      }n| j                  r	 t!        | j"                        }nx| j                  j                  | j"                         | j                  j'                          | j(                  j                         }t+        |      sd}n|j-                  d      }| j/                  |      }| j1                  |      }| j3                  ||      }|s| j5                          | j                  r.| j                  r!	 dd l}|j                  | j
                         y y y # t        $ r Y w xY w# t$        $ r d}Y w xY w# t        $ r Y y w xY w# | j                  r=| j                  r0	 dd l}|j                  | j
                         w # t        $ r Y w w xY ww w xY w)Nr   z
: complete
EOFz
)preloopuse_rawinputr   readlineget_completerold_completer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lines        r   cmdloopzCmd.cmdloopb   s)   	 	!1!1%-%;%;%="&&t}}5''(8(8(EF!	 "
zz!!#djj/$"67D====,,Q/D(()#(#5D ))$++6))+#zz224"4y#(D#';;v#6D{{4({{4(||D$/' ( MMO  T%5%5#**4+=+=> &6 =    ( )#(D)& # 	   T%5%5#**4+=+=>" 	 &6 s   AH >A>H= =H B/H= H= +H. 	HHH+(H= *H++H= .	H:9H:=JI76J7	J JJJc                     	 |S r
    r   r/   s     r   r*   z
Cmd.precmd   s    	 r   c                     	 |S r
   r2   )r   r.   r/   s      r   r,   zCmd.postcmd   s
    Mr   c                      	 y r
   r2   r   s    r   r   zCmd.preloop   s    Lr   c                      	 y r
   r2   r6   s    r   r-   zCmd.postloop   s    	 	r   c                 P   	 |j                         }|sd d |fS |d   dk(  r	d|dd  z   }n"|d   dk(  rt        | d      r	d|dd  z   }nd d |fS dt        |      }}||k  r-||   | j                  v r|dz   }||k  r||   | j                  v r|d | ||d  j                         }}|||fS )Nr   ?zhelp r   !do_shellzshell )striphasattrr(   
identchars)r   r/   incmdargs         r   	parselinezCmd.parseline   s    	 zz|t##!W^T!"X%D!W^tZ($qr(*T4''#d)1!eQ4??2!Aa!eQ4??28T!"X^^-SC~r   c                 :   	 | j                  |      \  }}}|s| j                         S || j                  |      S || _        |dk(  rd| _        |dk(  r| j                  |      S 	 t	        | d|z         } ||      S # t
        $ r | j                  |      cY S w xY w)Nr   r   do_)rC   	emptylinedefaultlastcmdgetattrAttributeError)r   r/   rA   rB   funcs        r   r+   z
Cmd.onecmd   s    	 -S$>>##;<<%%5=DL"9<<%%*tUS[1 9 " *||D))*s   &A= =BBc                 T    	 | j                   r| j                  | j                         S y r
   )rH   r+   r6   s    r   rF   zCmd.emptyline   s(    	 <<;;t||,, r   c                 B    	 | j                   j                  d|z         y )Nz*** Unknown syntax: %s
)r   r!   r3   s     r   rG   zCmd.default   s!    	 	4T9:r   c                     	 g S r
   r2   )r   ignoreds     r   completedefaultzCmd.completedefault   s    	 	r   c                 |    d|z   }| j                         D cg c]  }|j                  |      s|dd   c}S c c}w )NrE      )	get_names
startswith)r   textrO   dotextas        r   completenameszCmd.completenames   s7    t#~~/H!1<<3G!"HHHs   99c                    	 |dk(  rdd l }|j                         }|j                         }t        |      t        |      z
  }|j	                         |z
  }|j                         |z
  }|dkD  r8| j                  |      \  }	}
}|	dk(  r| j                  }n	 t        | d|	z         }n| j                  } |||||      | _        	 | j                  |   S # t        $ r | j                  }Y 7w xY w# t        $ r Y y w xY w)Nr   r   	complete_)r   get_line_bufferlstripr(   
get_begidx
get_endidxrC   rP   rI   rJ   rX   completion_matches
IndexError)r   rU   stater   origliner/   strippedbegidxendidxrA   argsfoocompfuncs                r   r   zCmd.complete   s   	
 A://1H??$D8}s4y0H((*X5F((*X5Fax!%!5T3"9#33H8#*4s1B#C  --&.tT66&JD#	**511 * 8#'#7#78  		s$   C C, C)(C),	C87C8c                 ,    t        | j                        S r
   )dir	__class__r6   s    r   rS   zCmd.get_names  s     4>>""r   c                     t         | j                         }t        fd| j                         D              }t        ||z        S )Nc              3   V   K   | ]   }|j                  d d   z         r|dd  " yw)help_r      N)rT   ).0rW   rf   s     r   	<genexpr>z$Cmd.complete_help.<locals>.<genexpr>   s3      9qWtAw%67 qrU 9s   &))setrX   rS   list)r   rf   commandstopicss    `  r   complete_helpzCmd.complete_help  sH    )t))401 9DNN$4 9 9Hv%&&r   c                 6   	 |r	 t        | d|z         } |        y | j                         }g }g }t               }|D ]  }|d d dk(  s|j                  |dd         ! |j                          d}	|D ]x  }|d d dk(  s||	k(  r|}	|dd  }
|
|v r#|j                  |
       |j                  |
       @t        | |      j                  r|j                  |
       h|j                  |
       z | j                  j	                  dt        | j                        z         | j                  | j                  |dd       | j                  | j                   t#        |      dd       | j                  | j$                  |dd       y # t        $ r 	 t        | d|z         j                  }|r)| j                  j	                  dt        |      z         Y y n# t        $ r Y nw xY w| j                  j	                  dt        | j                  |fz        z         Y y w xY w)	Nrn   rE   %s
ro   r   rR      P   )rI   rJ   __doc__r   r!   r"   nohelprS   rr   addsortappendremove
doc_leaderprint_topics
doc_headermisc_headersortedundoc_header)r   rB   rK   docnamescmds_doc
cmds_undocru   nameprevnamerA   s              r   do_helpzCmd.do_help$  s   OtWs]3 FNN$EHJUF )8w&JJtABx() JJLH /8u$x' #HQRCf} ,c* t,44 ,"))#./ KKfS%99:dooRCd..2Fd//RCM " 	eck2::C))&S/:  & !!&T[[C6-A)B"BC	s6   F 	HAGH	GHG8HHc           	      J   |r| j                   j                  dt        |      z         | j                  r=| j                   j                  dt        | j                  t	        |      z        z         | j                  ||dz
         | j                   j                  d       y y )Nrx   r   r   )r   r!   r"   rulerr(   	columnize)r   headercmdscmdlenmaxcols        r   r   zCmd.print_topicsR  sy    KKfS[01zz!!&TZZ#f+-E)F"FGNN4*KKd# r   c           	      `   	 |s| j                   j                  d       y t        t        |            D cg c]  }t	        ||   t
              s| }}|r+t        ddj                  t        t
        |            z        t        |      }|dk(  r+| j                   j                  dt        |d         z         y t        dt        |            D ]  }||z   dz
  |z  }g }d}	t        |      D ]]  }
d}t        |      D ]+  }|||
z  z   }||k\  r n||   }t        |t        |            }- |j                  |       |	|dz   z  }	|	|kD  s] n |	|k  s n t        |      }d}dg}t        |      D ]  }g }t        |      D ](  }
|||
z  z   }||k\  rd	}n||   }|j                  |       * |r|d
   s|d
= |r|d
   st        t        |            D ]  }
||
   j                  ||
         ||
<    | j                   j                  dt        dj                  |            z          y c c}w )Nz<empty>
z list[i] not a string for i in %sz, r   rx   r      r   z  )r   r!   ranger(   
isinstancer"   	TypeErrorjoinmapmaxr   ljust)r   rs   displaywidthr?   
nonstringssizenrowsncols	colwidthstotwidthcolcolwidthrowxtextss                  r   r   zCmd.columnizeZ  sc   	
 KKk*!&s4y!1 9A)$q'37  9
 9>"iiC(<=> ? ?4y19KKfSa\121c$i( 	E%Z\e+EIHU|  < 5CeCiADyQA"8SV4H5   *HqL(l* <'#	& IEEI< 	<CEU|  %)O9AQAQ  b	"I b	SZ( >"3Z--in=c
>KKfS5)9%::;	<A9s   H+)tabNNr
   )rz   )"__name__
__module____qualname__PROMPTr%   
IDENTCHARSr>   r   rH   r    r   r   r   r   r|   r   r   r0   r*   r,   r   r-   rC   r+   rF   rG   rP   rX   r   rS   rv   r   r   r   r2   r   r   r   r   4   s    
 FJEGEJ;J.K+L FL',1h(6-;I<#
',D\$7<r   )stringr   __all__r   ascii_lettersdigitsr   r   r2   r   r   <module>r      sA   *X '	!!FMM1C7
]< ]<r   