a DOg :@s<ddlZddlZdgZdZejejdZGdddZdS)NCmdz(Cmd) _c@seZdZeZeZdZdZdZ dZ dZ dZ dZ dZdZd/d d Zd0d d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Z d1d-d.Z!dS)2r=Nz(Documented commands (type help ):zMiscellaneous help topics:zUndocumented commands:z*** No help on %stabcCs@|dur||_ntj|_|dur(||_ntj|_g|_||_dSN)stdinsysstdoutcmdqueue completekey)selfr r r r(/opt/alt/python39/lib64/python3.9/cmd.py__init__Ls z Cmd.__init__cCs||jrZ|jrZz2ddl}||_||j||jdWnt yXYn0z|durl||_ |j r|j t |j dd}|s2|jr|jd}nj|jrzt|j}Wntyd}Yn0n<|j |j|j |j}t|sd}n |d}||}||}|||}q|W|jr|jrzddl}||jWnt yxYn0n@|jr|jrzddl}||jWnt yYn00dS)Nrz : complete EOFz )preloop use_rawinputr readlineZ get_completerZ old_completerZ set_completercompleteparse_and_bind ImportErrorintror writestrr popinputpromptEOFErrorflushr lenrstripprecmdonecmdpostcmdpostloop)rrrstoplinerrrcmdloopbsZ             z Cmd.cmdloopcCs|Srrrr)rrrr$sz Cmd.precmdcCs|Srr)rr(r)rrrr&sz Cmd.postcmdcCsdSrrrrrrrsz Cmd.preloopcCsdSrrr,rrrr'sz Cmd.postloopcCs|}|sdd|fS|ddkr4d|dd}n2|ddkrft|dr\d|dd}n dd|fSdt|}}||kr|||jvr|d}qt|d|||d}}|||fS)Nr?zhelp r!Zdo_shellzshell )striphasattrr" identchars)rr)incmdargrrr parselines      z Cmd.parselinecCs||\}}}|s|S|dur.||S||_|dkrBd|_|dkrT||Szt|d|}Wnty||YS0||SdS)Nrrdo_)r6 emptylinedefaultlastcmdgetattrAttributeError)rr)r4r5funcrrrr%s    z Cmd.onecmdcCs|jr||jSdSr)r:r%r,rrrr8sz Cmd.emptylinecCs|jd|dS)Nz*** Unknown syntax: %s )r rr+rrrr9sz Cmd.defaultcGsgSrr)rignoredrrrcompletedefaultszCmd.completedefaultcsd|fdd|DS)Nr7cs"g|]}|r|ddqS)N startswith.0aZdotextrr z%Cmd.completenames..) get_names)rtextr>rrFr completenamesszCmd.completenamesc Cs|dkrddl}|}|}t|t|}||}||}|dkr||\} } } | dkrp|j} qzt|d| } Wqt y|j} Yq0n|j } | |||||_ z |j |WSt yYdS0dS)NrrZ complete_) rZget_line_bufferlstripr"Z get_begidxZ get_endidxr6r?r;r<rKZcompletion_matches IndexError) rrJstaterZorigliner)strippedZbegidxZendidxr4argsZfooZcompfuncrrrrs*     z Cmd.completecCs t|jSr)dir __class__r,rrrrIsz Cmd.get_namescs4t|j}tfdd|D}t||BS)Nc3s,|]$}|ddr|ddVqdS)help_rNrArCrPrr sz$Cmd.complete_help..)setrKrIlist)rrPZcommandsZtopicsrrUr complete_helpszCmd.complete_helpc Cs|rzt|d|}Wnxtyz4t|d|j}|rV|jdt|WYdSWntyjYn0|jdt|j|fYdS0|n|}g}g}i}|D]$}|dddkrd||dd<q|d} |D]p}|dddkr|| krq|} |dd} | |vr4| | || =qt||jrN| | q| | q|jdt|j | |j |dd | |j t|dd | |j|dd dS) NrSr7%s rTrrr@P)r;r<__doc__r rrnohelprIsortappend doc_leader print_topics doc_header misc_headerrXkeys undoc_header) rr5r=docnamesZcmds_docZ cmds_undochelpnameZprevnamer4rrrdo_help$sN          z Cmd.do_helpcCs\|rX|jdt||jr<|jdt|jt||||d|jddS)NrZrr)r rrrulerr" columnize)rheaderZcmdsZcmdlenZmaxcolrrrrbRs zCmd.print_topicsr\css|jddSfddttD}|rJtddtt|t}|dkrv|jdtddStdtD]}||d|}g}d }t|D]h} d} t|D]2} | || } | |krq| } t| t| } q| | || d 7}||krqq||krq4qt}d}dg}t|D]} g}t|D]4} | || } | |krld } n| } | | qL|r|d s|d =qtt|D]} ||  || || <q|jdtd |q csg|]}t|ts|qSr) isinstancer)rDr2rXrrrGdsz!Cmd.columnize..z list[i] not a string for i in %sz, rrZrrz ) r rranger" TypeErrorjoinmaprmaxr`ljust)rrXZ displaywidthZ nonstringssizeZnrowsZncolsZ colwidthsZtotwidthcolZcolwidthrowr2xZtextsrrprrmZs\           z Cmd.columnize)rNN)N)r\)"__name__ __module__ __qualname__PROMPTr IDENTCHARSr1rlr:rrarcrdrfr^rrr*r$r&rr'r6r%r8r9r?rKrrIrYrkrbrmrrrrr4s:   4   .)stringr __all__rZ ascii_lettersZdigitsrrrrrr-s