eaiovnaovbqoebvqoeavibavo B YI~d :@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@|dk r||_ntj|_|dk r(||_ntj|_g|_||_dS)N)stdinsysstdoutcmdqueue completekey)selfr rr r(/opt/alt/python37/lib64/python3.7/cmd.py__init__Ls z Cmd.__init__cCs||jr\|jr\y2ddl}||_||j||jdWnt k rZYnXz|dk rl||_ |j r|j t |j dd}x|s6|jr|jd}nl|jryt|j}Wntk rd}YnXn<|j |j|j |j}t|s d}n |d}||}||}|||}qW|Wd|jr|jryddl}||jWnt k rYnXXdS)Nrz : complete EOFz )preloop use_rawinputr readlineZ get_completerZ old_completerZ set_completercompleteparse_and_bind ImportErrorintror writestrr popinputpromptEOFErrorflushrlenrstripprecmdonecmdpostcmdpostloop)r rrstoplinerrrcmdloopbsN           z Cmd.cmdloopcCs|S)Nr)r r(rrrr#sz Cmd.precmdcCs|S)Nr)r r'r(rrrr%sz Cmd.postcmdcCsdS)Nr)r rrrrsz Cmd.preloopcCsdS)Nr)r rrrr&sz Cmd.postloopcCs|}|sdd|fS|ddkr4d|dd}n2|ddkrft|dr\d|dd}n dd|fSdt|}}x"||kr|||jkr|d}qvW|d|||d}}|||fS)Nr?zhelp r!Zdo_shellzshell )striphasattrr! identchars)r r(incmdargrrr parselines      z Cmd.parselinecCs||\}}}|s|S|dkr.||S||_|dkrBd|_|dkrT||Syt|d|}Wntk r||SX||SdS)Nrrdo_)r3 emptylinedefaultlastcmdgetattrAttributeError)r r(r1r2funcrrrr$s    z Cmd.onecmdcCs|jr||jSdS)N)r7r$)r rrrr5sz Cmd.emptylinecCs|jd|dS)Nz*** Unknown syntax: %s )r r)r r(rrrr6sz Cmd.defaultcGsgS)Nr)r ignoredrrrcompletedefaultszCmd.completedefaultcsd|fdd|DS)Nr4cs"g|]}|r|ddqS)N) startswith).0a)dotextrr sz%Cmd.completenames..) get_names)r textr;r)rAr completenamesszCmd.completenamesc Cs|dkrddl}|}|}t|t|}||}||}|dkr||\} } } | dkrp|j} qyt|d| } Wqt k r|j} YqXn|j } | |||||_ y |j |St k rdSXdS)NrrZ complete_) rZget_line_bufferlstripr!Z get_begidxZ get_endidxr3r<r8r9rEZcompletion_matches IndexError) r rDstaterZorigliner(strippedZbegidxZendidxr1argsZfooZcompfuncrrrrs*   z Cmd.completecCs t|jS)N)dir __class__)r rrrrCsz Cmd.get_namescs4t|j}tfdd|D}t||BS)Nc3s,|]$}|ddr|ddVqdS)help_rN)r>)r?r@)rJrr sz$Cmd.complete_help..)setrErClist)r rJZcommandsZtopicsr)rJr complete_helpszCmd.complete_helpc Cs|ryt|d|}Wnvtk ry0t|d|j}|rT|jdt|dSWntk rjYnX|jdt|j|fdSX|n|}g}g}i}x,|D]$}|dddkrd||dd<qW|d} xx|D]p}|dddkr|| kr q|} |dd} | |kr8| | || =qt||jrR| | q| | qW|jdt|j | |j |dd | |j t|dd | |j|dd dS) NrMr4z%s rNrrr=P)r8r9__doc__r rrnohelprCsortappend doc_leader print_topics doc_header misc_headerrQkeys undoc_header) r r2r:docnamesZcmds_docZ cmds_undochelpnameZprevnamer1rrrdo_help$sN        z Cmd.do_helpcCs\|rX|jdt||jr<|jdt|jt||||d|jddS)Nz%s rr)r rrrulerr! columnize)r headerZcmdsZcmdlenZmaxcolrrrrZRs zCmd.print_topicsrTcss|jddSfddttD}|rJtddtt|t}|dkrv|jdtddSxtdtD]}||d|}g}d }xrt|D]f} d} x csg|]}t|ts|qSr) isinstancer)r?r/)rQrrrBdsz!Cmd.columnize..z list[i] not a string for i in %sz, rz%s rrz ) r rranger! TypeErrorjoinmaprmaxrXljust)r rQZ displaywidthZ nonstringssizeZnrowsZncolsZ colwidthsZtotwidthcolZcolwidthrowr/xZtextsr)rQrreZsZ       z Cmd.columnize)rNN)N)rT)"__name__ __module__ __qualname__PROMPTr IDENTCHARSr.rdr7rrYr[r\r^rVrrr)r#r%rr&r3r$r5r6r<rErrCrRrcrZrerrrrr4s:   4   .)stringr __all__rxZ ascii_lettersdigitsryrrrrr-s