o ?Og :@s> ddlZddlZdgZdZejejdZGdddZdS)NCmdz(Cmd) _c@seZdZ eZeZdZdZdZ 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 %stabcCsB |dur ||_ntj|_|dur||_ntj|_g|_||_dSN)stdinsysstdoutcmdqueue completekey)selfr r r r*/opt/alt/python310/lib64/python3.10/cmd.py__init__Ls  z Cmd.__init__cCs ||jr.|jr.zddl}||_||j||jdWn t y-Ynwz|dur6||_ |j rD|j t |j dd}|s|jrR|jd}n3|jrhzt|j}Wn(tygd}Ynw|j |j|j |j}t|sd}n|d}||}||}|||}|rH|W|jr|jrz ddl}||jWdSt yYdSwdSdS|jr|jrz ddl}||jWwt yYwwww)Nrz : complete EOFz )preloop use_rawinputr readlineZ get_completerZ old_completerZ set_completercompleteparse_and_bind ImportErrorintror writestrr popinputpromptEOFErrorflushr lenrstripprecmdonecmdpostcmdpostloop)rrrstoplinerrrcmdloopbsh               z Cmd.cmdloopcC |Srrrr)rrrr$z Cmd.precmdcCr+rr)rr(r)rrrr&z Cmd.postcmdcC dSrrrrrrrr.z Cmd.preloopcCr/rrr0rrrr'r-z Cmd.postloopcCs |}|s dd|fS|ddkrd|dd}n|ddkr4t|dr/d|dd}ndd|fSdt|}}||krU|||jvrU|d}||krU|||jvsF|d|||d}}|||fS)Nr?zhelp r!Zdo_shellzshell )striphasattrr" identchars)rr)incmdargrrr parselines     4 z Cmd.parselinecCs ||\}}}|s|S|dur||S||_|dkr"d|_|dkr+||Sz t|d|}W||StyE||YSw)Nrrdo_)r: emptylinedefaultlastcmdgetattrAttributeError)rr)r8r9funcrrrr%s"    z Cmd.onecmdcCs |jr ||jSdSr)r>r%r0rrrr<s z Cmd.emptylinecCs |jd|dS)Nz*** Unknown syntax: %s )r rr,rrrr=sz Cmd.defaultcGs gSrr)rignoredrrrcompletedefaultszCmd.completedefaultcsd|fdd|DS)Nr;cs"g|] }|r|ddqS)N startswith.0aZdotextrr s"z%Cmd.completenames..) get_names)rtextrBrrJr completenamesszCmd.completenamesc Cs |dkrZddl}|}|}t|t|}||}||}|dkrO||\} } } | dkr9|j} nz t|d| } Wnt yN|j} Ynw|j } | |||||_ z|j |WSt yjYdSw)NrrZ complete_) rZget_line_bufferlstripr"Z get_begidxZ get_endidxr:rCr?r@rNZcompletion_matches IndexError) rrMstaterZorigliner)strippedZbegidxZendidxr8argsZfooZcompfuncrrrrs0      z Cmd.completecCs t|jSr)dir __class__r0rrrrLs z Cmd.get_namescs4t|j}tfdd|D}t||BS)Nc3s.|]}|ddr|ddVqdS)help_rNrErGrSrr sz$Cmd.complete_help..)setrNrLlist)rrSZcommandsZtopicsrrXr complete_helps zCmd.complete_helpc Cs |rNz t|d|}Wn<tyHzt|d|j}|r,|jdt|WYdSWn ty6Ynw|jdt|j|fYdSw|dS|}g}g}i}|D]}|dddkrld||dd<qZ|d} |D]5}|dddkr|| krqu|} |dd} | |vr| | || =qut||jr| | qu| | qu|jdt|j | |j |dd | |j t|dd | |j|dd dS) NrVr;%s rWrrrDP)r?r@__doc__r rrnohelprLsortappend doc_leader print_topics doc_header misc_headerr[keys undoc_header) rr9rAdocnamesZcmds_docZ cmds_undochelpnameZprevnamer8rrrdo_help$sZ        z Cmd.do_helpcCs`|r.|jdt||jr|jdt|jt||||d|jddSdS)Nr]rr)r rrrulerr" columnize)rheaderZcmdsZcmdlenZmaxcolrrrreRszCmd.print_topicsr_cs s |jddSfddttD}|r&tddtt|t}|dkr<|jdtddStdtD]L}||d|}g}d }t|D]3} d} t|D]} | || } | |krkn | } t| t| } q]| | || d 7}||krnqU||krn qCt}d}dg}t|D]Q} g}t|D]} | || } | |krd } n| } | | q|r|d s|d =|r|d rtt|D] } ||  || || <q|jdtd |qdS)Nz csg|] }t|ts|qSr) isinstancer)rHr6r[rrrKds  z!Cmd.columnize..z list[i] not a string for i in %sz, rr]rrz ) r rranger" TypeErrorjoinmaprmaxrcljust)rr[Z displaywidthZ nonstringssizeZnrowsZncolsZ colwidthsZtotwidthcolZcolwidthrowr6xZtextsrrsrrpZsf            z Cmd.columnize)rNNr)r_)"__name__ __module__ __qualname__PROMPTr IDENTCHARSr5ror>rrdrfrgrirarrr*r$r&rr'r:r%r<r=rCrNrrLr\rnrerprrrrr4s>   4   .)stringr __all__rZ ascii_lettersZdigitsrrrrrrs ,