3 \+ @s<ddlZGdddeZGdddeZGdddeZdS)Nc@s&eZdZddZddZdddZdS) QuittercCs||_||_dS)N)nameeof)selfrrr%/usr/lib64/python3.6/_sitebuiltins.py__init__szQuitter.__init__cCsd|j|jfS)NzUse %s() or %s to exit)rr)rrrr__repr__szQuitter.__repr__Nc Cs(ytjjWn YnXt|dS)N)sysstdinclose SystemExit)rcoderrr__call__s zQuitter.__call__)N)__name__ __module__ __qualname__rr rrrrrr src@s6eZdZdZfffddZddZddZdd Zd S) _Printercs4ddl||_||_d|_fdd|D|_dS)Nrcs$g|]}D]}jj||q qSr)pathjoin).0dirfilename)filesosrr (sz%_Printer.__init__..)r_Printer__name_Printer__data_Printer__lines_Printer__filenames)rrdatardirsr)rrrr#s  z_Printer.__init__cCs~|jr dSd}xH|jD]>}y$t|d}|j}WdQRXPWqtk rRYqXqW|sb|j}|jd|_t|j|_dS)Nr ) rr openreadOSErrorrsplitlen_Printer__linecnt)rr!rfprrr__setup,s    z_Printer.__setupcCs8|jt|j|jkr$dj|jSd|jfdSdS)Nr$z!Type %s() to see the full %s text)_Printer__setupr)rMAXLINESrr)rrrrr <s z_Printer.__repr__c Cs|jd}d}xy,x&t|||jD]}t|j|q&WWntk rTPYqX||j7}d}x |dkrt|}|dkrfd}qfW|dkrPqWdS)Nz0Hit Return for more, or q (and Return) to quit: rq)r0r1)r.ranger/printr IndexErrorinput)rpromptlinenoikeyrrrrCs"  z_Printer.__call__N)rrrr/rr.r rrrrrrs  rc@seZdZddZddZdS)_HelpercCsdS)NzHType help() for interactive help, or help(object) for help about object.r)rrrrr bsz_Helper.__repr__cOsddl}|j||S)Nr)pydochelp)rargskwdsr;rrrresz_Helper.__call__N)rrrr rrrrrr:Xs r:)r objectrrr:rrrr s;