f c@sdZdgZdZdZdZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlmZddlmZdd lmZmZd d Zd d ZddZddZddZddZddZ ej!dej"Z#ddZ$ddZ%ddZ&dd Z'e(e(d!d"Z)d#d$Z*d%d&Z+d'd(Z,id)d*Z-Gd+d,d,e.Z/d-d.Z0did/d0Z1Gd1d2d2Z2Gd3d4d4eZ3Gd5d6d6e2Z4Gd7d8d8eZ5Gd9d:d:e2Z6Gd;d<d<e6Z7d=d>a8d?d@Z9dAdBZ:dCdDZ;dEdFZ<dGdHZ=dIdJZ>dKdLZ?ddMdNZ@e6ZAe7ZBe4ZCddOdPZDdQde(dRdSZEdQde(dTdUZFddVdWZGdXe(dYdZZHGd[d\d\ZIeIZJGd]d^d^ZKGd_d`d`ZLdadbZMdcddZNdedfdgZOdhePddidjZQdkdlZRdmdnZSeTdokreSndS(puGenerate Python documentation in HTML or text for interactive use. In the Python interpreter, do "from pydoc import help" to provide help. Calling help(thing) on a Python object documents the object. Or, at the shell command line outside of Python: Run "pydoc " to show documentation on something. may be the name of a function, module, package, or a dotted reference to a class or function within a module or module in a package. If the argument contains a path segment delimiter (e.g. slash on Unix, backslash on Windows) it is treated as the path to a Python source file. Run "pydoc -k " to search for a keyword in the synopsis lines of all available modules. Run "pydoc -p " to start an HTTP server on the given port on the local machine. Port number 0 can be used to get an arbitrary unused port. Run "pydoc -b" to start an HTTP server on an arbitrary unused port and open a Web browser to interactively browse documentation. The -p option can be used with the -b option to explicitly specify the server port. Run "pydoc -w " to write out the HTML documentation for a module to a file named ".html". Module docs for core modules are assumed to be in http://docs.python.org/X.Y/library/ This can be overridden by setting the PYTHONDOCS environment variable to a different URL or to a local directory containing the Library Reference Manual pages. uhelpuKa-Ping Yee u26 February 2001uGuido van Rossum, for an excellent programming language. Tommy Burnette, the original creator of manpy. Paul Prescod, for all his work on onlinehelp. Richard Chamberlain, for the first implementation of textdoc. iN(udeque(uRepr(u extract_tbuformat_exception_onlycCsg}g}xvtjD]k}tjj|p.d}tjj|}||krtjj|r|j||j|qqW|S(uAConvert sys.path into a list of absolute, existing, unique paths.u.(usysupathuosuabspathunormcaseuisdiruappend(udirsunormdirsudirunormdir((u*/opt/alt/python33/lib64/python3.3/pydoc.pyupathdirsJs upathdirscCsCtj|ptj|}|r?tjdd|jpBdS(u-Get the doc string or comments for an object.u^ * u(uinspectugetdocu getcommentsureusuburstrip(uobjecturesult((u*/opt/alt/python33/lib64/python3.3/pydoc.pyugetdocVsugetdoccCs|jjd}t|dkr5|ddfSt|dkry|dj ry|ddj|ddfSddj|fS(u>Split a doc string into a synopsis line (if any) and the rest.u iiuiN(ustripusplitulenurstripujoin(udoculines((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusplitdoc[s #!usplitdoccCs0|j}|j|kr,|jd|}n|S(u@Get a class name and qualify it with a module name if necessary.u.(u__name__u __module__(uobjectumodnameuname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu classnameds u classnamecCsYtj|pWtj|pWtj|pWtj|pWtj|pWtj| S(u>Check if an object is of a type that probably means it's data.(uinspectuismoduleuisclassu isroutineuisframeu istracebackuiscode(uobject((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuisdataksuisdatacGsAx:|r<|dj|j|d}|dd}qW|S(u/Do a series of global replacements on a string.iiiN(ujoinusplit(utextupairs((u*/opt/alt/python33/lib64/python3.3/pydoc.pyureplaceqs  ureplacecCsnt||krjtd|dd}td|d|}|d|d|t||dS|S(uCOmit part of a string if needed to make it fit in a maximum length.iiiNu...(ulenumax(utextumaxlenupreupost((u*/opt/alt/python33/lib64/python3.3/pydoc.pyucramxs *ucramu at 0x[0-9a-f]{6,16}(>+)$cCstjd|S(u>Remove the hexadecimal id from a Python object representation.u\1(u _re_stripidusub(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyustripidsustripidcCs:tj|p9tj|p9tj|p9tj|S(N(uinspectu isfunctionuismethodu isbuiltinuismethoddescriptor(uobj((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu_is_some_methodsu_is_some_methodcCsi}x*tj|tD]\}}d||u __package__u__path__u__date__u __loader__u __slots__u __version__u__initializing__u__name__u __cached__u__doc__u __module__u __credits__u __qualname__u__file__u __builtins__u __author__T(u startswithuendswithuhasattruTrueuNone(unameualluobj((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu visiblenames   u visiblenamecCsag}xTtj|D]C\}}}}tj|r@d}n|j||||fqW|S(uCWrap inspect.classify_class_attrs, with fixup for data descriptors.udata descriptor(uinspectuclassify_class_attrsuisdatadescriptoruappend(uobjecturesultsunameukinduclsuvalue((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuclassify_class_attrss " uclassify_class_attrscCsStjj|rOx:dD]/}tjjtjj|d|rdSqWndS(u3Guess whether a path refers to a package directory.u.pyu.pycu.pyou__init__(u.pyu.pycu.pyoTF(uosupathuisdiruisfileujoinuTrueuFalse(upathuext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu ispackages  % u ispackagecCs|j}x=|dddks2|j rK|j}|sPqqW|j}|dddkr|dd}n|dddkr|dd}|d ddkr|dd }nx&|js|j}|sPqqW|jddj}nd}|S( Niu#iur"""iu"""u\iii(ureadlineustripusplituNone(ufileulineuresult((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusource_synopsiss& &   usource_synopsisc stjj}|jd\}}|dksB||krytj}Wntk rmdSYnXtj j dd}|tj j dd7}t fdd|Dra|j t fddtj j Drtj jd}ntj jd}y|jd}Wn dSYnX|jpGdjd}tjd=nt|}|j ||f|susynopsis..c3s|]}j|VqdS(N(uendswith(u.0ux(ufilename(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu su__temp__ui(NN(uosustatust_mtimeugetuNoneutokenizeuopenuIOErroru importlibu machineryuBYTECODE_SUFFIXESuEXTENSION_SUFFIXESuanyucloseuSourcelessFileLoaderuExtensionFileLoaderu load_moduleu__doc__u splitlinesusysumodulesusource_synopsis( ufilenameucacheumtimeu lastupdateuresultufileubinary_suffixesuloaderumodule((ufilenameu*/opt/alt/python33/lib64/python3.3/pydoc.pyusynopsiss6           usynopsiscBs2|EeZdZdZddZddZdS(uErrorDuringImportuEErrors that occurred while trying to import something to document it.cCs%||_|\|_|_|_dS(N(ufilenameuexcuvalueutb(uselfufilenameuexc_info((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__s uErrorDuringImport.__init__cCs#|jj}d|j||jfS(Nuproblem in %s - %s: %s(uexcu__name__ufilenameuvalue(uselfuexc((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__str__s uErrorDuringImport.__str__N(u__name__u __module__u __qualname__u__doc__u__init__u__str__(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuErrorDuringImports uErrorDuringImportcCstj}t|d}|jt||krEtj}n tj}|jdtj j |}tj j |\}}y%tj ||||d|f}Wnt |tjYnXWdQX|S(u<Import a Python source file or compiled file given its path.urbiurN(uimpu get_magicuopenureadulenu PY_COMPILEDu PY_SOURCEuseekuosupathubasenameusplitextu load_moduleuErrorDuringImportusysuexc_info(upathumagicufileukindufilenameunameuextumodule((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu importfile s    % u importfilec sy|r|tjkr|tjkr|fddtjD}x3g|D]!}tj|||1s usafeimport..u.iN(usysumodulesubuiltin_module_namesu __import__uexc_infouErrorDuringImportu__file__u SyntaxErrorufilenameu ImportErrorunameuNoneusplitugetattruAttributeError( upathu forceloaducacheusubsukeyumoduleuexcuvalueutbuinfoupart((upathu*/opt/alt/python33/lib64/python3.3/pydoc.pyu safeimports.   u safeimportcBs~|EeZdZejjddejddZdddZ dddZ e Z Z ZZZZd d ZdS( uDocu PYTHONDOCSu$http://docs.python.org/%d.%d/libraryNic Gs||f|}tj|r,|j|Stj|rH|j|SyXtj|rg|j|Stj|r|j|Stj|r|j |SWnt k rYnXt |t r|j |S|j|S(u%Generate documentation for an object.(uinspectuisgetsetdescriptorudocdatauismemberdescriptoruismoduleu docmoduleuisclassudocclassu isroutineu docroutineuAttributeErroru isinstanceupropertyu docpropertyudocother(uselfuobjectunameuargs((u*/opt/alt/python33/lib64/python3.3/pydoc.pyudocumentSs"      u Doc.documentcGs9d|odt|t|jf}t|dS(u+Raise an exception for unimplemented types.u.don't know how to document object%s of type %su N(ureprutypeu__name__u TypeError(uselfuobjectunameuargsumessage((u*/opt/alt/python33/lib64/python3.3/pydoc.pyufailes&uDoc.failcCs*ytj|}Wntk r-d}YnXtjjd|j}tjjt j ddt j dd}t |t tr |jdks|j|r |jtjj|d r |jdkr |jdrd|jd|jf}q&tjj||jd}nd}|S(u*Return the location of module docs or Noneu (built-in)u PYTHONDOCSulibu python%d.%dNiuerrnou exceptionsugcuimpumarshaluposixusignalusysu_threadu zipimportu site-packagesu xml.etreeutest.pydoc_moduhttp://u%s/%su/u.html( uerrnou exceptionsugcuimpumarshaluposixusignalusysu_threadu zipimport(u xml.etreeutest.pydoc_mod(uinspectu getabsfileu TypeErroruosuenvironugetu PYTHONDOCSupathujoinusysubase_exec_prefixu version_infou isinstanceutypeu__name__u startswithurstripuNone(uselfuobjectufileudoclocubasedir((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu getdoclocms&   u Doc.getdocloc(u__name__u __module__u __qualname__uosuenvironugetusysu version_infou PYTHONDOCSuNoneudocumentufailu docmoduleudocclassu docroutineudocotheru docpropertyudocdatau getdocloc(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuDocMs uDoccBsn|EeZdZdZddZddZddZdd Zd d ZeZ d d Z eZ dS(uHTMLRepruBClass for safely making an HTML representation of a Python object.cCs:tj|d|_|_d|_d|_|_dS(Nii id(uRepru__init__umaxlistumaxtupleumaxdictu maxstringumaxother(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__s  uHTMLRepr.__init__cCst|ddddddS(Nu&u&uu>(ureplace(uselfutext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuescapesuHTMLRepr.escapecCstj||S(N(uReprurepr(uselfuobject((u*/opt/alt/python33/lib64/python3.3/pydoc.pyureprsu HTMLRepr.reprcCstt|dr_ddjt|jj}t||r_t||||Sn|jttt ||j S(Nu__name__urepr_u_( uhasattrutypeujoinu__name__usplitugetattruescapeucramustripidureprumaxother(uselfuxulevelu methodname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyurepr1s "uHTMLRepr.repr1cCst||j}t|}d|krcdt|ddkrcd|d|j||dStjdd|j|S(Nu\u\\uuriu-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)u\1(ucramu maxstringureprureplaceuescapeureusub(uselfuxulevelutestutestrepr((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu repr_strings $! uHTMLRepr.repr_stringc CsOy)|jttt||jSWn|jd|jjSYnXdS(Nu <%s instance>(uescapeucramustripidurepru maxstringu __class__u__name__(uselfuxulevel((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu repr_instances)uHTMLRepr.repr_instanceN( u__name__u __module__u __qualname__u__doc__u__init__uescapeureprurepr1u repr_stringurepr_stru repr_instanceu repr_unicode(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuHTMLReprs      uHTMLReprcBs|EeZdZdZeZejZejZddZdddZ ddd4dd d Z d d Z d dZ dddZddZddZddZddZddZddZd4iiiddZd4d d!Zd4d4d"d#Zd4d4iid$d%Zd&d'Zd4d4iiid4d(d)Zd*d+Zd4d4d4d,d-Zd4d4d.d/Zd4d4d4d0d1Zd4d2d3Zd4S(5uHTMLDocu'Formatter class for HTML documentation.cCsd||fS(uFormat an HTML page.u Python: %s %s ((uselfutitleucontents((u*/opt/alt/python33/lib64/python3.3/pydoc.pyupagesu HTMLDoc.pageucCsd|||||pdfS(uFormat a page heading.u'
 
 
%s
%s
u ((uselfutitleufgcolubgcoluextras((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuheadings uHTMLDoc.headingiu c Csz|dkr!dd|d}nd|||f} |rW| d||||f} n| d|||f} | d|S( u Format a section with a heading.uu uu

uR u( u'
 
%s
%s %s
%s
%s%s%s
N(uNone( uselfutitleufgcolubgcolucontentsuwidthupreludeu marginaliaugapuresult((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusections uHTMLDoc.sectioncGsd|}|j||S(u$Format a section with a big heading.u%s(usection(uselfutitleuargs((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu bigsections uHTMLDoc.bigsectionc Cs7|j|j}t|dddddddd S(u!Format literal preformatted text.u u u u u u
(uescapeu expandtabsureplace(uselfutext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu preformatsuHTMLDoc.preformaticCsd}t||d|}xt|D]u}|dd|}xPt|||||D]3}|t|kr_||||d}q_q_W|d}q+Wd|S(u0Format a list of items into a multi-column list.uiuidu
uu7%s
(ulenurange(uselfulistuformatucolsuresulturowsucolui((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu multicolumns"uHTMLDoc.multicolumncCsd|S(Nu%s((uselfutext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyugreysu HTMLDoc.greycGs3x,|D]$}||krd|||fSqW|S(u:Make a link for an identifier, given name-to-URL mappings.u%s((uselfunameudictsudict((u*/opt/alt/python33/lib64/python3.3/pydoc.pyunamelinks  uHTMLDoc.namelinkcCsm|jtjj|j}}t||r`t|||kr`d|j|t||fSt||S(uMake a link for a class.u%s(u__name__usysumodulesugetu __module__uhasattrugetattru classname(uselfuobjectumodnameunameumodule((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu classlinks $uHTMLDoc.classlinkcCsd|j|jfS(uMake a link for a module.u%s(u__name__(uselfuobject((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu modulelinksuHTMLDoc.modulelinkcCso|\}}}}|r%|j|S|r>d||f}n d|}|r[d|}n|}d||fS(u;Make a link for a module or package to display in an index.u %s.%s.htmlu%s.htmlu"%s (package)u%s(ugrey(uselfu modpkginfounameupathu ispackageushadoweduurlutext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu modpkglinks   uHTMLDoc.modpkglinkcCsd||fS(uMake a link to source file.u%s((uselfuurlupath((u*/opt/alt/python33/lib64/python3.3/pydoc.pyufilelink#suHTMLDoc.filelinkcCs|p |j}g}d}tjd}x|j||} | sIPn| j\} } |j|||| | j\} } }}}}| r|| jdd}|jd||fn|rdt|}|jd||| fn|r:dt|}|jd||| fno|| | dd krv|j|j ||||n3|r|jd |n|j|j ||| }q-|j|||d d j |S( uMark up some plain text, given a context of symbols to look for. Each context dictionary maps object names to anchor names.iuD\b((http|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?(\w+))u"u"u%su'http://www.rfc-editor.org/rfc/rfc%d.txtu(http://www.python.org/dev/peps/pep-%04d/iu(uself.%sNu( uescapeureucompileusearchuspanuappendugroupsureplaceuintunamelinkujoin(uselfutextuescapeufuncsuclassesumethodsuresultsuhereupatternumatchustartuendualluschemeurfcupepuselfdotunameuurl((u*/opt/alt/python33/lib64/python3.3/pydoc.pyumarkup's8  " uHTMLDoc.markupc Cs d}x|D]}t|tfkr|\}}|d}||j||}|r||fkrg}x'|D]} |j|j| |qyW|ddj|d}n|d}q t|tgkr |d|j|||}q q Wd|S( uAProduce HTML for a class tree as given by inspect.getclasstree().uu"

u(u, u)u
u
%s
u
%s
(utypeu classlinkuappendujoinu formattree( uselfutreeumodnameuparenturesultuentryucubasesuparentsubase((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu formattreeMs       uHTMLDoc.formattreec$s|j}y |j}Wntk r0d}YnX|jd}g}xPtt|dD]8}|jddj|d|d||fq]Wdj||d/d} d| } yXt j |} | } t j dkrddl } | j| } nj| | }Wntk r2d}YnXg}t|d rt|j}|dd d0kr|d1dd kr|d d2j}n|jd j|nt|dr|jjt|jn|r | ddj|} nj|}|dk r5dt}nd}j| ddd||}t j|t j}gi}}xt j|t jD]t\}}|dk st j|p||krt|||r|j||fd|||<||%sNu)%suwin32iu (built-in)u __version__i u$u Revision: u version %su__date__u (%s)u, u-
Module Referenceuu#ffffffu#7799eeuindex
u#u.html#u#-u %su

%s

u__path__uPackage Contentsu#aa55cccsj|dS(Ni(u modulelink(ut(uself(u*/opt/alt/python33/lib64/python3.3/pydoc.pyusu#HTMLDoc.docmodule..uModulescSsg|]\}}|qS(((u.0ukeyuvalue((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu s u%HTMLDoc.docmodule..uClassesu#ee77aau u Functionsu#eeaa77uDatau#55aa55u
u __author__uAuthoru __credits__uCreditsiu $Revision: ii(7u__name__u__all__uAttributeErroruNoneuspliturangeulenuappendujoinuinspectu getabsfileusysuplatformu nturl2pathu pathname2urlufilelinku TypeErroruhasattrustru __version__ustripuescapeu__date__u getdocloculocalsuheadingu getmembersuismoduleuisclassu getmoduleu visiblenameu __bases__u __module__umodulesugetugetattru isroutineu isbuiltinu isfunctionuisdataumarkupugetdocu preformatupkgutilu iter_modulesu__path__usortu multicolumnu modpkglinku bigsectionu formattreeu getclasstreeudocumentu __author__u __credits__($uselfuobjectunameumoduignoreduallupartsulinksuiu linkednameuheadupathuurlu nturl2pathufilelinkuinfouversionudoclocuresultumodulesuclassesucdictukeyuvalueubaseumodnameumoduleufuncsufdictudataudocumodpkgsuimporteruispkgucontentsu classlist((uselfu*/opt/alt/python33/lib64/python3.3/pydoc.pyu docmodule`s    -    ,"   "  ! + " $!"   !& &    uHTMLDoc.docmodulecsj}|p|}j}g} | jGfddd} | ttj} t| dkrjdx+| D]#} dj| j qWdnfdd} fd d }fd d }fd dt D}ix|D]w\}}}}d|d||<}yt |}Wnt k rYnXy||.HorizontalRulecSs d|_dS(Ni(uneedone(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__su1HTMLDoc.docclass..HorizontalRule.__init__cs#|jrdnd|_dS(Nu
i(uneedone(uself(upush(u*/opt/alt/python33/lib64/python3.3/pydoc.pyumaybes  u.HTMLDoc.docclass..HorizontalRule.maybeN(u__name__u __module__u __qualname__u__init__umaybe(u __locals__(upush(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuHorizontalRules uHorizontalRuleiu&
Method resolution order:
u
%s
u
cst||\}}|rj|x|D]\}}}}yt|}Wn+tk rj||Yn&Xj||dq6Wn|S(Nu (u _split_listumaybeugetattru Exceptionu_docdescriptorudocument(umsguattrsu predicateuokunameukinduhomeclsuvalue(uclassesufuncsuhrumdictumoduobjectupushuself(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuspills   uHTMLDoc.docclass..spillcslt||\}}|rhj|x6|D]+\}}}}j||q6Wn|S(N(u _split_listumaybeu_docdescriptor(umsguattrsu predicateuokunameukinduhomeclsuvalue(uhrumodupushuself(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuspilldescriptors s   u*HTMLDoc.docclass..spilldescriptorsc st||\}}|r j|x|D]\}}}}jt||}t|stj|rt|dd} nd} | dkrd|nBjt |j } d| } d|| fdq6Wn|S(Nu__doc__u
%s
u
%su
%s%s
u ( u _split_listumaybeudocotherugetattrucallableuinspectuisdatadescriptoruNoneumarkupugetdocu preformat( umsguattrsu predicateuokunameukinduhomeclsuvalueubaseudoc(uclassesufuncsuhrumdictumoduobjectupushuself(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu spilldatas"    u#HTMLDoc.docclass..spilldatacs@g|]6\}}}}t|dr||||fqS(uobj(u visiblename(u.0unameukinduclsuvalue(uobject(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu *s u$HTMLDoc.docclass..u#u-ics|dkS(Ni((ut(u thisclass(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuCsu"HTMLDoc.docclass..u defined hereuinherited from %su:
ukeycSs|dS(Ni((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuPsu Methods %scSs|ddkS(Niumethod((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuTsuClass methods %scSs|ddkS(Niu class method((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuVsuStatic methods %scSs|ddkS(Niu static method((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuXsuData descriptors %scSs|ddkS(Niudata descriptor((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuZsuData and other attributes %scSs|ddkS(Niudata((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu\suu*class %su/%s = class %su(%s)u, u%s
 
u#000000u#ffc8d8i(u__name__u __bases__uappendudequeuinspectugetmroulenumaybeu classlinku __module__uclassify_class_attrsugetattru Exceptionu TypeErrorupopleftu _split_listubuiltinsuobjectusortuAssertionErrorujoinumarkupugetdocu preformatusection(uselfuobjectunameumodufuncsuclassesuignoredurealnameubasesucontentsuHorizontalRuleumroubaseuspilluspilldescriptorsu spilldatauattrsukeyukinduhomeclsuvalueuanchoru inheritedutagutitleuparentsudoc(( uclassesufuncsuhrumdictumoduobjectupushuselfu thisclassu*/opt/alt/python33/lib64/python3.3/pydoc.pyudocclasss         ' '    !              $uHTMLDoc.docclasscCs|jd|j|S(u)Format an argument default value as text.u=(ugreyurepr(uselfuobject((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu formatvaluersuHTMLDoc.formatvaluecCsn|j}|p|}|r$|jp'dd|} d} d} tj|r|jj} |r| |k rd|j| |} qnD|jdk rd|j|jj|} nd|j| |} |j}n||krd| |f} ne|rB||jkrB|j||krBd|jd||f}d } n|}d | ||f} tj |rtj |\}}}}}}}tj |||||||d |j d tj |}|d krd|} |d d}qnd}| || o|jd| }| r(d|S|jt||j|||}|oYd|}d||fSdS(u;Produce HTML documentation for a function or method object.uu-iu from u method of %s instanceu unbound %s methodu$%su%siu)%s = %su formatvalueuformatannotationuu$%s lambda u(...)u'%su
%s
u
%s
u
%s
%s
Ni(u__name__uinspectuismethodu__self__u __class__u classlinkuNoneu__func__u__dict__u isfunctionugetfullargspecu formatargspecu formatvalueuformatannotationrelativetougreyumarkupugetdocu preformat(uselfuobjectunameumodufuncsuclassesumethodsuclurealnameuanchorunoteuskipdocsuimclassutitleureallinkuargsuvarargsu kwonlyargsu kwdefaultsuvarkwudefaultsuannuargspecudecludoc((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu docroutinevsV        $   uHTMLDoc.docroutinecCsxg}|j}|r&|d|n|jdk ra|jt||j}|d|n|ddj|S(Nu!
%s
u
%s
u
u(uappendu__doc__uNoneumarkupugetdocu preformatujoin(uselfunameuvalueumoduresultsupushudoc((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu_docdescriptors  uHTMLDoc._docdescriptorcCs|j|||S(u*Produce html documentation for a property.(u_docdescriptor(uselfuobjectunameumoducl((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu docpropertysuHTMLDoc.docpropertycGs'|rd|pd}||j|S(u-Produce HTML documentation for a data object.u%s = u(urepr(uselfuobjectunameumoduignoredulhs((u*/opt/alt/python33/lib64/python3.3/pydoc.pyudocothersuHTMLDoc.docothercCs|j|||S(u1Produce html documentation for a data descriptor.(u_docdescriptor(uselfuobjectunameumoducl((u*/opt/alt/python33/lib64/python3.3/pydoc.pyudocdatasuHTMLDoc.docdatacCsg}|dkri}nxktj|gD]W\}}}tdd|Dr\q.n|j|d|||kfd||su HTMLDoc.index..uiu#ffffffu#ee77aaN( uNoneupkgutilu iter_modulesuanyuappendusortu multicolumnu modpkglinku bigsection(uselfudirushadowedumodpkgsuimporterunameuispkgucontents((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuindexs " u HTMLDoc.indexN( u__name__u __module__u __qualname__u__doc__uHTMLRepru_repr_instanceurepruescapeupageuheadinguNoneusectionu bigsectionu preformatu multicolumnugreyunamelinku classlinku modulelinku modpkglinkufilelinkumarkupu formattreeu docmoduleudocclassu formatvalueu docroutineu_docdescriptoru docpropertyudocotherudocdatauindex(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuHTMLDocs:             &| ; uHTMLDoccBsP|EeZdZdZddZddZddZeZdd Zd S( uTextRepruAClass for safely making a text representation of a Python object.cCs:tj|d|_|_d|_d|_|_dS(Nii id(uRepru__init__umaxlistumaxtupleumaxdictu maxstringumaxother(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__s  uTextRepr.__init__cCs{tt|dr_ddjt|jj}t||r_t||||Snttt||j S(Nu__name__urepr_u_( uhasattrutypeujoinu__name__usplitugetattrucramustripidureprumaxother(uselfuxulevelu methodname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyurepr1s "uTextRepr.repr1cCs^t||j}t|}d|krZdt|ddkrZd|d||dS|S(Nu\u\\uuri(ucramu maxstringureprureplace(uselfuxulevelutestutestrepr((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu repr_strings  $uTextRepr.repr_stringc Cs=y ttt||jSWnd|jjSYnXdS(Nu <%s instance>(ucramustripidurepru maxstringu __class__u__name__(uselfuxulevel((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu repr_instances uTextRepr.repr_instanceN( u__name__u __module__u __qualname__u__doc__u__init__urepr1u repr_stringurepr_stru repr_instance(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuTextReprs    uTextReprcBs|EeZdZdZeZejZddZdddZddZ dd d d Z ddd d Z ddddZ ddZdddddZddZdddddZdddddZdddddddZdS(uTextDocu'Formatter class for text documentation.cCsdjdd|DS(u(Format a string in bold by overstriking.ucss|]}|d|VqdS(uN((u.0uch((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu suTextDoc.bold..(ujoin(uselfutext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuboldsu TextDoc.boldu csV|s dSfdd|jdD}|rI|dj|d s u"TextDoc.indent..u iii(uspliturstripujoin(uselfutextuprefixulines((uprefixu*/opt/alt/python33/lib64/python3.3/pydoc.pyuindent s "uTextDoc.indentcCs.|j|j}|j|d|dS(u&Format a section with a given heading.u u (uindenturstripubold(uselfutitleucontentsuclean_contents((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusectionsuTextDoc.sectionuc sd}x|D]}t|tfkr|\}}||t|}|r||fkrfdd|D} |ddj| }n|d}q t|tgkr ||j|||d}q q W|S(uBRender in text a class tree as returned by inspect.getclasstree().uc3s|]}t|VqdS(N(u classname(u.0uc(umodname(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu su%TextDoc.formattree..u(%s)u, u u (utypeu classnameujoinu formattree( uselfutreeumodnameuparentuprefixuresultuentryucubasesuparents((umodnameu*/opt/alt/python33/lib64/python3.3/pydoc.pyu formattrees    uTextDoc.formattreecCs|j}tt|\}}|jd||o:d|}t|dd}|j|}|dk r||jd|d}n|r||jd|}ng} xutj|tj D]^\} } |dk stj | p||krt | ||r$| j | | fq$qqWg} x~tj|tj D]g\} } |dk stj| stj | |krDt | ||r| j | | fqqDqDWg} xHtj|tD]4\} } t | ||r| j | | fqqWg}t}t|drxWtj|jD]C\}}}|j||rg|j |dq1|j |q1W|j||jd d j|}ng}xUtj|tjD]>\} } | jj|d r| |kr|j | qqW|r4|j||jd d j|}n| rd d| D}|jtj|d|g}x0| D](\} } |j |j| | |quW||jdd j|}n| r$g}x0| D](\} } |j |j| | |qW||jdd j|}n| rg}x6| D].\} } |j |j| | |ddq7W||jdd j|}nt|drt|j}|ddd#kr|d$ddkr|dd%j }n||jd|}nt|dr8||jdt|j!}nt|dri||jdt|j"}nt|dr||jd t|j#}nytj$|}Wnt%k rd!}YnX||jd"|}|S(&u5Produce text documentation for a given module object.uNAMEu - u__all__uMODULE REFERENCEu. The following documentation is automatically generated from the Python source files. It may be incomplete, incorrect or include features that are considered implementation detail and may vary between Python implementations. When in doubt, consult the module reference at the location listed above. u DESCRIPTIONu__path__u (package)uPACKAGE CONTENTSu u.u SUBMODULEScSsg|]\}}|qS(((u.0ukeyuvalue((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu gs u%TextDoc.docmodule..iuCLASSESu FUNCTIONSumaxleniFuDATAu __version__Ni u$u Revision: uVERSIONu__date__uDATEu __author__uAUTHORu __credits__uCREDITSu (built-in)uFILEu $Revision: ii(&u__name__usplitdocugetdocusectionugetattruNoneu getdoclocuinspectu getmembersuisclassu getmoduleu visiblenameuappendu isroutineu isbuiltinuisdatausetuhasattrupkgutilu iter_modulesu__path__uaddusortujoinuismoduleu startswithu formattreeu getclasstreeudocumentudocotherustru __version__ustripu__date__u __author__u __credits__u getabsfileu TypeError(uselfuobjectunameumodusynopudescuresultualludoclocuclassesukeyuvalueufuncsudataumodpkgsu modpkgs_namesuimporterumodnameuispkgu submodulesu classlistucontentsuversionufile((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu docmodule's   " " $ "   ""   " "&","""  uTextDoc.docmodulecsEj}|p|}j}jdd}||krRdj|}nj|d|}|rt||} |ddj| }nt} | r| dgpg} | jtt j } t | dkr)d x"| D]} d || qWd nGfd d d }|fdd}fdd}fdd}fddt D}xB|r| r| j n|ddt|fdd\}}tjkr)|}qn+kr>d}ndtj}|j|d||dd}|d||dd}|d||d d}|d!||d"d}|d#||d$d}|gkst|}qWdj| } | s#|dS|dj| jd%dS(&u4Produce text documentation for a given class object.cSs t||S(N(u classname(ucum((u*/opt/alt/python33/lib64/python3.3/pydoc.pyumakenamesu"TextDoc.docclass..makenameuclass u = class u(%s)u, u iuMethod resolution order:u ucs2|EeZdZddZfddZdS(u(TextDoc.docclass..HorizontalRulecSs d|_dS(Ni(uneedone(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__su1TextDoc.docclass..HorizontalRule.__init__cs'|jrddnd|_dS(Nu-iFi(uneedone(uself(upush(u*/opt/alt/python33/lib64/python3.3/pydoc.pyumaybes u.TextDoc.docclass..HorizontalRule.maybeN(u__name__u __module__u __qualname__u__init__umaybe(u __locals__(upush(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuHorizontalRules uHorizontalRulecst||\}}|rj|xz|D]o\}}}}yt|}Wn+tk rj||Yq6Xj||q6Wn|S(N(u _split_listumaybeugetattru Exceptionu_docdescriptorudocument(umsguattrsu predicateuokunameukinduhomeclsuvalue(uhrumoduobjectupushuself(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuspills    uTextDoc.docclass..spillcslt||\}}|rhj|x6|D]+\}}}}j||q6Wn|S(N(u _split_listumaybeu_docdescriptor(umsguattrsu predicateuokunameukinduhomeclsuvalue(uhrumodupushuself(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuspilldescriptorss   u*TextDoc.docclass..spilldescriptorsc st||\}}|rj|x|D]t\}}}}t|sctj|rrt|}nd}jt||ddd|dq6Wn|S(NumaxleniFudocu ( u _split_listumaybeucallableuinspectuisdatadescriptorugetdocuNoneudocotherugetattr( umsguattrsu predicateuokunameukinduhomeclsuvalueudoc(uhrumoduobjectupushuself(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu spilldatas  $u#TextDoc.docclass..spilldatacs@g|]6\}}}}t|dr||||fqS(uobj(u visiblename(u.0unameukinduclsuvalue(uobject(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu s u$TextDoc.docclass..ics|dkS(Ni((ut(u thisclass(u*/opt/alt/python33/lib64/python3.3/pydoc.pyusu"TextDoc.docclass..u defined hereuinherited from %su Methods %s: cSs|ddkS(Niumethod((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusuClass methods %s: cSs|ddkS(Niu class method((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusuStatic methods %s: cSs|ddkS(Niu static method((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusuData descriptors %s: cSs|ddkS(Niudata descriptor((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusuData and other attributes %s: cSs|ddkS(Niudata((ut((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusu | (u__name__u __bases__u __module__uboldumapujoinugetdocuappendudequeuinspectugetmroulenuclassify_class_attrsupopleftu _split_listubuiltinsuobjectu classnameusortuAssertionErroruindenturstrip(uselfuobjectunameumoduignoredurealnameubasesumakenameutitleuparentsudocucontentsumroubaseuHorizontalRuleuspilluspilldescriptorsu spilldatauattrsu inheritedutag((uhrumoduobjectupushuselfu thisclassu*/opt/alt/python33/lib64/python3.3/pydoc.pyudocclasssn            !           uTextDoc.docclasscCsd|j|S(u)Format an argument default value as text.u=(urepr(uselfuobject((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu formatvaluesuTextDoc.formatvaluecCs|j}|p|}d}d}tj|r|jj}|rg||k rdt||}qn>|jdk rdt|jj|}ndt||}|j}n||kr|j|} nH|r||j kr|j ||krd}n|j|d|} tj |rtj |\} } } } }}}tj | | | | |||d|j d tj|}|d kr|j|d } |dd}qnd }| ||}|r|d St|pd}|d |o|j|jd SdS(u;Produce text documentation for a function or method object.uiu from u method of %s instanceu unbound %s methodiu = u formatvalueuformatannotationuu lambda u(...)u Ni(u__name__uinspectuismethodu__self__u __class__u classnameuNoneu__func__uboldu__dict__u isfunctionugetfullargspecu formatargspecu formatvalueuformatannotationrelativetougetdocuindenturstrip(uselfuobjectunameumoduclurealnameunoteuskipdocsuimclassutitleuargsuvarargsuvarkwudefaultsu kwonlyargsu kwdefaultsuannuargspecudecludoc((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu docroutine sF       $  uTextDoc.docroutinecCszg}|j}|r5||j||dnt|pDd}|rm||j||dndj|S(Nu u(uappenduboldugetdocuindentujoin(uselfunameuvalueumoduresultsupushudoc((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu_docdescriptor:s   uTextDoc._docdescriptorcCs|j|||S(u*Produce text documentation for a property.(u_docdescriptor(uselfuobjectunameumoducl((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu docpropertyGsuTextDoc.docpropertycCs|j|||S(u1Produce text documentation for a data descriptor.(u_docdescriptor(uselfuobjectunameumoducl((u*/opt/alt/python33/lib64/python3.3/pydoc.pyudocdataKsuTextDoc.docdatac Cs|j|}|re|r%|dp(d|}|t|} | dkre|d| d}qen|r~|j|dpd|}|dk r|d|jt|7}n|S(u-Produce text documentation for a data object.u = uiNu...u (ureprulenubolduNoneuindentustr( uselfuobjectunameumoduparentumaxlenudocureprulineuchop((u*/opt/alt/python33/lib64/python3.3/pydoc.pyudocotherOs #  uTextDoc.docotherN(u__name__u __module__u __qualname__u__doc__uTextRepru_repr_instanceureprubolduindentusectionuNoneu formattreeu docmoduleudocclassu formatvalueu docroutineu_docdescriptoru docpropertyudocdataudocother(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuTextDocs    ey 1 uTextDoccBs&|EeZdZdZddZdS(u _PlainTextDocu2Subclass of TextDoc which overrides string stylingcCs|S(N((uselfutext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyubold]su_PlainTextDoc.boldN(u__name__u __module__u __qualname__u__doc__ubold(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu _PlainTextDoc[su _PlainTextDoccCstat|dS(uCThe first time this is called, determine what kind of pager to use.N(ugetpagerupager(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyupagerbs upagercCsttjdstStjj s6tjj r:tSdtjkrtjdkrbddStjj ddkrd dSd dSntjj ddkrtStjdkstjj d rd dSttd rtj ddkrddSddl }|j \}}tj|z:ttd rftj d|dkrfddStSWdtj|XdS(u2Decide what method to use for paging through text.uisattyuPAGERuwin32cSstt|tjdS(NuPAGER(u tempfilepageruplainuosuenviron(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyupsugetpager..uTERMudumbuemacscSstt|tjdS(NuPAGER(u pipepageruplainuosuenviron(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyurscSst|tjdS(NuPAGER(u pipepageruosuenviron(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyutsuos2cSstt|dS(Numore <(u tempfilepageruplain(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuxsusystemu(less) 2>/dev/nullicSs t|dS(Nuless(u pipepager(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuzsNu more "%s"cSs t|dS(Numore(u pipepager(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyus(udumbuemacs(udumbuemacs(uhasattrusysustdoutu plainpagerustdinuisattyuosuenvironuplatformugetu startswithusystemutempfileumkstempucloseuttypageruunlink(utempfileufdufilename((u*/opt/alt/python33/lib64/python3.3/pydoc.pyugetpagerhs0    ! $   ( ugetpagercCstjdd|S(u%Remove boldface formatting from text.u.u(ureusub(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuplainsuplainc CsFtj|d}y|j||jWntk rAYnXdS(u3Page through text by feeding it to another program.uwN(uosupopenuwriteucloseuIOError(utextucmdupipe((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu pipepagers   u pipepagerc Cspddl}|j}t|d}|j||jztj|d|dWdtj|XdS(u<Page through text by invoking a program on a temporary file.iNuwu "u"(utempfileumktempuopenuwriteucloseuosusystemuunlink(utextucmdutempfileufilenameufile((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu tempfilepagers    u tempfilepagerc Cst|jd}yGddl}tjj}|j|}|j|dd}Wn*tt fk rd}dd}YnXzHt j j ddd }}tjjdj|d|dx||drtjjd tjj|}|dkr)tjjd Pn8|dkratjjd ||d|d }qn|dkr|||}|dkrd}qntjjddj||||d||}qWWd|r|j||j|nXdS(u%Page through text on a text terminal.u iNcSstjjdS(Ni(usysustdinuread(((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusuttypager..cSs!tjjddddS(Nii(usysustdinureadline(((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusuLINESiiu -- more --uquQu u ubuBu(uquQ(u u (ubuBu(uplainusplituttyusysustdinufilenou tcgetattru setcbreaku ImportErroruAttributeErroruNoneuosuenvironugetustdoutuwriteujoinuflushu tcsetattru TCSAFLUSH( utextulinesuttyufduoldugetcharuruincuc((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuttypagers@  '       /uttypagercCstjjt|dS(u>Simply print unformatted text. This is the ultimate fallback.N(usysustdoutuwriteuplain(utext((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu plainpagersu plainpagercCs'tj|rT|jtjkr,d|jSt|drFd|jSd|jSntj|rnd|jStj|rd|jj |jj|jfStj |rd|jj |jj|jfStj |rd|jStj |rd |jStj |rd |jSt|jS( u/Produce a short description of the given thing.ubuilt-in module u__path__upackage umodule ubuilt-in function ugetset descriptor %s.%s.%sumember descriptor %s.%s.%suclass u function umethod (uinspectuismoduleu__name__usysubuiltin_module_namesuhasattru isbuiltinuisgetsetdescriptoru __objclass__u __module__uismemberdescriptoruisclassu isfunctionuismethodutype(uthing((u*/opt/alt/python33/lib64/python3.3/pydoc.pyudescribes.        udescribec Csdd|jdD}d\}}xW|t|krtdj|d|d|}|r}||d}}q+Pq+W|r|}nt}xD||dD]2}yt||}Wqtk rdSYqXqW|S(u@Locate an object by name or dotted path, importing as necessary.cSsg|]}|r|qS(((u.0upart((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu s ulocate..u.iNi(Ni(usplituNoneulenu safeimportujoinubuiltinsugetattruAttributeError(upathu forceloadupartsumoduleunu nextmoduleuobjectupart((u*/opt/alt/python33/lib64/python3.3/pydoc.pyulocates  &   ulocatecCsvt|trAt||}|s7td|n||fSt|dd}|t|trk|ndfSdS(uDGiven an object or a path to an object, get the object and its name.u$no Python documentation found for %ru__name__N(u isinstanceustrulocateu ImportErrorugetattruNone(uthingu forceloaduobjectuname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuresolves uresolveu Python Library Documentation: %sc Cs0|dkrt}nt||\}}t|}tj|}|r{d|kr{|d|d|jd7}n&|r||k r|d|j7}ntj|ptj |ptj |ptj |ptj |pt |tst|}|d7}n||d|j||S(uBRender text documentation, given an object or a path to an object.u.u in Nu in module u objectu (uNoneutexturesolveudescribeuinspectu getmoduleurfindu__name__uismoduleuisclassu isroutineuisgetsetdescriptoruismemberdescriptoru isinstanceupropertyutypeudocument(uthingutitleu forceloadurendereruobjectunameudescumodule((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu render_doc s$   $  u render_doccCsyE|dkr(tt|||n|jt|||tWn5ttfk r|}zt|WYdd}~XnXdS(uCDisplay text documentation, given an object or a path to an object.N(uNoneupageru render_docuwriteu plaintextu ImportErroruErrorDuringImportuprint(uthingutitleu forceloaduoutputuvalue((u*/opt/alt/python33/lib64/python3.3/pydoc.pyudoc"s   udoccCsy~t||\}}tjt|tj||}t|dddd}|j||jtd|dWn5t t fk r}zt|WYdd}~XnXdS(u<Write HTML documentation to a file in the current directory.u.htmluwuencodinguutf-8uwroteN( uresolveuhtmlupageudescribeudocumentuopenuwriteucloseuprintu ImportErroruErrorDuringImport(uthingu forceloaduobjectunameupageufileuvalue((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuwritedoc-s$  uwritedocucCsL|dkri}nx0tj|g|D]\}}}t|q+WdS(uAWrite out HTML documentation for all modules in a directory tree.N(uNoneupkgutilu walk_packagesuwritedoc(udirupkgpathudoneuimporterumodnameuispkg((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu writedocs9s  %u writedocscBs|EeZdZi!dd6dd6dd6dd6dd6d7d 6d8d 6d9d 6d:d6d;d6d<d6dd6d=d6dd6dd6d>d6dd6d?d6d@d6dAd6dBd!6d#d$6dCd%6dDd'6dd)6dd*6dEd+6dFd,6dGd.6dHd6dId/6dJd6dKd26ZidLd;6dMdP6dNd#6dOdQ6dPd^6dQd_6dRdb6ZidcdB6ddd?6dedf6dgdh6didj6dkdl6dmdn6d;do6dpdq6drds6dtdu6dvdw6dvdx6dydz6dyd{6ZxdejD]V\ZZxGeD]?Z ej e eZ ee kre d|eZ ne ee >u&u|u^u~uu<=u>=u==u!=u<>u OPERATORSuUNARYu+=u-=u*=u/=u%=u&=u|=u^=u<<=u>>=u**=u//=uAUGMENTEDASSIGNMENTuBITWISEujuJuCOMPLEXuOPERATORS FORMATTINGuPOWERuTUPLES LISTS FUNCTIONSu,u ATTRIBUTES FLOAT MODULES OBJECTSu.uELLIPSISu...uSLICINGS DICTIONARYLITERALSu:u def classu@u\u PRIVATENAMESu_uPRIVATENAMES SPECIALMETHODSu__u BACKQUOTESu`uTUPLES FUNCTIONS CALLSu(u)uLISTS SUBSCRIPTS SLICINGSu[u]u utypesuRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspectuTYPESustringsu4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPESustring-methodsuSTRINGS FORMATTINGu STRINGMETHODSu formatstringsu FORMATTINGu:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPESuUNICODEunumbersuINTEGER FLOAT COMPLEX TYPESuNUMBERSuintegersu int rangeuINTEGERufloatingu float mathuFLOATu imaginaryu complex cmathutypessequ$STRINGMETHODS FORMATTING range LISTSu SEQUENCESu DICTIONARIESuMAPPINGSutypesfunctionsu def TYPESu typesmethodsuclass def CLASSES TYPESuMETHODSubltin-code-objectsucompile FUNCTIONS TYPESu CODEOBJECTSubltin-type-objectsu types TYPESu TYPEOBJECTSu FRAMEOBJECTSu TRACEBACKSubltin-null-objectuNONEubltin-ellipsis-objectuSLICINGSubltin-file-objectsuFILESu specialattrsuSPECIALATTRIBUTESu!class SPECIALMETHODS PRIVATENAMESuCLASSESu typesmodulesuPACKAGESuoperator-summaryulambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIESu EXPRESSIONSu PRECEDENCEuobjectsuOBJECTSu specialnamesubBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS NUMBERMETHODS CLASSESuSPECIALMETHODSu customizationuhash repr str SPECIALMETHODSuattribute-accessuATTRIBUTES SPECIALMETHODSuATTRIBUTEMETHODSucallable-typesuCALLS SPECIALMETHODSuCALLABLEMETHODSusequence-typesu(SEQUENCES SEQUENCEMETHODS SPECIALMETHODSuMAPPINGS SPECIALMETHODSuMAPPINGMETHODSu numeric-typesu*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODSu NUMBERMETHODSu execmodelu%NAMESPACES DYNAMICFEATURES EXCEPTIONSu EXECUTIONunamingu3global nonlocal ASSIGNMENT DELETION DYNAMICFEATURESu NAMESPACESudynamic-featuresuDYNAMICFEATURESuSCOPINGuFRAMESu exceptionsutry except finally raiseu conversionsu CONVERSIONSu identifiersukeywords SPECIALIDENTIFIERSu IDENTIFIERSu id-classesuSPECIALIDENTIFIERSuatom-identifiersu atom-literalsu=STRINGS NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALSuLITERALSuTUPLESu exprlistsuTUPLES LITERALSu TUPLELITERALSutypesseq-mutableu LISTLITERALSuLISTSulistsuLISTS LITERALSu typesmappinguDICTIONARYLITERALSudictuDICTIONARIES LITERALSuattribute-referencesu(getattr hasattr setattr ATTRIBUTEMETHODSu ATTRIBUTESu subscriptionsu SUBSCRIPTSuslicingsucallsuCALLSupoweruunaryubinaryuBINARYushiftinguSHIFTINGubitwiseu comparisonsuEXPRESSIONS BASICMETHODSubooleansuEXPRESSIONS TRUTHVALUEu ASSERTIONu assignmentu ASSIGNMENTu augassignuDELETIONu RETURNINGu IMPORTINGu CONDITIONALucompoundufor while break continueuLOOPINGutruthu if while and or not BASICMETHODSudebuggerupdbu DEBUGGINGucontext-managersuCONTEXTMANAGERScCs||_||_dS(N(u_inputu_output(uselfuinputuoutput((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__s uHelper.__init__cCs|jptjS(N(u_inputusysustdin(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyusuHelper.cCs|jptjS(N(u_outputusysustdout(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuscCs)tjdddkr%|dSdS(Niiu?uu(uinspectustack(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__repr__suHelper.__repr__cCsG||jk r|j|n$|j|j|jjddS(Nu You are now leaving help and returning to the Python interpreter. If you want to ask for help on a particular object directly from the interpreter, you can type "help(object)". Executing "help('string')" has the same effect as typing a particular string at the help> prompt. (u_GoInteractiveuhelpuintrouinteractuoutputuwrite(uselfurequest((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__call__s    uHelper.__call__cCs|jjdx}y|jd}|s/PnWnttfk rKPYnXt|ddddj}|jdkrPn|j|qdS( Nu uhelp> u"uu'uququit(uququit( uoutputuwriteugetlineuKeyboardInterruptuEOFErrorureplaceustripuloweruhelp(uselfurequest((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuinteractsuHelper.interactcCsJ|jtjkrt|S|jj||jj|jjSdS(u.Read one line, using input() when appropriate.N(uinputusysustdinuoutputuwriteuflushureadline(uselfuprompt((u*/opt/alt/python33/lib64/python3.3/pydoc.pyugetlines   uHelper.getlinecCst|tdkrr|j}|dkr=|jq|dkrV|jq|dkro|jq|dkr|jq|dkr|jq|dddkr|j|jd q||jkr|j |q|dkrt t |d q||j kr1|j |q||jkrP|j |q|rt |d d|jqn/t|tr|nt |d d|j|jjddS(Nuuhelpukeywordsusymbolsutopicsumodulesiumodules iuTrueuFalseuNoneu Help on %s:uoutputu (uTrueuFalseuNone(utypeustripuintrou listkeywordsu listsymbolsu listtopicsu listmodulesusplitusymbolsu showsymboludocuevalukeywordsu showtopicutopicsu_outputu isinstanceuHelperuoutputuwrite(uselfurequest((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuhelps8        u Helper.helpcCs2|jjdttjddgddS(Nu Welcome to Python %s! This is the interactive help utility. If this is your first time using Python, you should definitely check out the tutorial on the Internet at http://docs.python.org/%s/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". To get a list of available modules, keywords, or topics, type "modules", "keywords", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose summaries contain a given word such as "spam", type "modules spam". ii(uoutputuwriteutupleusysuversion(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuintro2s u Helper.introiiPc Cstt|}||}t||d|}xt|D]}xt|D]z}|||}|t|krT|jj||||dkr|jjdd|dt||qqTqTW|jjdqAWdS(Niu u (ulistusortedulenurangeuoutputuwrite( uselfuitemsucolumnsuwidthucolwurowsurowucolui((u*/opt/alt/python33/lib64/python3.3/pydoc.pyulistCs 4u Helper.listcCs*|jjd|j|jjdS(NuN Here is a list of the Python keywords. Enter any keyword to get more help. (uoutputuwriteulistukeywordsukeys(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu listkeywordsPs uHelper.listkeywordscCs*|jjd|j|jjdS(Nux Here is a list of the punctuation symbols which Python assigns special meaning to. Enter any symbol to get more help. (uoutputuwriteulistusymbolsukeys(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu listsymbolsWs uHelper.listsymbolscCs*|jjd|j|jjdS(NuN Here is a list of available topics. Enter any topic name to get more help. (uoutputuwriteulistutopicsukeys(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu listtopics_s uHelper.listtopicsc Csyddl}Wn&tk r8|jjddSYnX|jj||jj|}|s~|jjdt|dSt|tdkr|j ||S|\}}y|jj|}Wn0t k r|jjdt|dSYnXt |j d|r*|pdd|}n|rddl }tj} |j| jddj|jd|jjd | jndS( Niut Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. uno documentation found for %s uu u uRelated help topics: u, u %s (upydoc_data.topicsu ImportErroruoutputuwriteutopicsugetukeywordsureprutypeu showtopicuKeyErrorupagerustripu formatteruiouStringIOu DumbWriterusend_flowing_dataujoinusplitugetvalue( uselfutopicu more_xrefsu pydoc_datautargetulabeluxrefsudocu formatterubuffer((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu showtopicfs6   !     uHelper.showtopicc Csyddl}Wntk r(dSYnX|jj||jj|}|s_tdnt|tr~|j||S|\}}|jj|}|r|pdd|}n||fS(u*Return unbuffered tuple of (topic, xrefs). If an error occurs here, the exception is caught and displayed by the url handler. This function duplicates the showtopic method but returns its result directly so it can be formatted for display in an html page. iNut Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. uucould not find topicu (ut Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. u( upydoc_data.topicsu ImportErrorutopicsugetukeywordsu ValueErroru isinstanceustru _gettopic(uselfutopicu more_xrefsu pydoc_datautargetulabeluxrefsudoc((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu _gettopics   ! uHelper._gettopiccCs9|j|}|jd\}}}|j||dS(Nu (usymbolsu partitionu showtopic(uselfusymbolutargetutopicu_uxrefs((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu showsymbols uHelper.showsymbolcs|r#|jjdt|np|jjdi}|ddfdd}tjd||j|j|jjddS( NuO Here is a list of matching modules. Enter any module name to get more help. uI Please wait a moment while I gather a list of all available modules... cSsY|r3|dddkr3|ddd}n|jddkrUd||.callbackcsd|ddS(N(uNone(umodname(ucallback(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuonerrorsu#Helper.listmodules..onerroruonerroru Enter any module name to get more help. Or, type "modules spam" to search for modules whose descriptions contain the word "spam". (uoutputuwriteuaproposu ModuleScannerurunulistukeys(uselfukeyumodulesuonerror((ucallbacku*/opt/alt/python33/lib64/python3.3/pydoc.pyu listmoduless    uHelper.listmodulesN(uassertu(ubreaku while for(uclassuCLASSES SPECIALMETHODS(ucontinueu while for(ufunctionu(udelu BASICMETHODS(uelseu while for(uforubreak continue while(uglobalunonlocal NAMESPACES(uifu TRUTHVALUE(uimportuMODULES(uinuSEQUENCEMETHODS(ulambdau FUNCTIONS(unonlocaluglobal NAMESPACES(upassu(uraiseu EXCEPTIONS(ureturnu FUNCTIONS(utryu EXCEPTIONS(uwhileubreak continue if TRUTHVALUE(uwithu CONTEXTMANAGERS EXCEPTIONS yield(uyieldu(u'u'''ur'ub'u"""u"ur"ub"(u+u-u*u**u/u//u%u<>u&u|u^u~uu<=u>=u==u!=u<>(uu<=u>=u==u!=u<>(u-u~( u+=u-=u*=u/=u%=u&=u|=u^=u<<=u>>=u**=u//=(u<>u&u|u^u~(ujuJ(utypesuRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspect(ustringsu4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPES(ustring-methodsuSTRINGS FORMATTING(u formatstringsu OPERATORS(ustringsu:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPES(unumbersuINTEGER FLOAT COMPLEX TYPES(uintegersu int range(ufloatingu float math(u imaginaryu complex cmath(utypessequ$STRINGMETHODS FORMATTING range LISTS(utypesfunctionsu def TYPES(u typesmethodsuclass def CLASSES TYPES(ubltin-code-objectsucompile FUNCTIONS TYPES(ubltin-type-objectsu types TYPES(ubltin-null-objectu(ubltin-ellipsis-objectuSLICINGS(ubltin-file-objectsu(u specialattrsu(utypesu!class SPECIALMETHODS PRIVATENAMES(u typesmodulesuimport(uoperator-summaryulambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIES(uobjectsuTYPES(u specialnamesubBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS NUMBERMETHODS CLASSES(u customizationuhash repr str SPECIALMETHODS(uattribute-accessuATTRIBUTES SPECIALMETHODS(ucallable-typesuCALLS SPECIALMETHODS(usequence-typesu(SEQUENCES SEQUENCEMETHODS SPECIALMETHODS(usequence-typesuMAPPINGS SPECIALMETHODS(u numeric-typesu*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODS(u execmodelu%NAMESPACES DYNAMICFEATURES EXCEPTIONS(unamingu3global nonlocal ASSIGNMENT DELETION DYNAMICFEATURES(udynamic-featuresu(u exceptionsutry except finally raise(u conversionsu(u identifiersukeywords SPECIALIDENTIFIERS(u id-classesu(uatom-identifiersu(u atom-literalsu=STRINGS NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALS(u exprlistsuTUPLES LITERALS(utypesseq-mutableu LISTLITERALS(ulistsuLISTS LITERALS(u typesmappinguDICTIONARYLITERALS(udictuDICTIONARIES LITERALS(uattribute-referencesu(getattr hasattr setattr ATTRIBUTEMETHODS(u subscriptionsuSEQUENCEMETHODS(uslicingsuSEQUENCEMETHODS(ucallsu EXPRESSIONS(upoweru EXPRESSIONS(uunaryu EXPRESSIONS(ubinaryu EXPRESSIONS(ushiftingu EXPRESSIONS(ubitwiseu EXPRESSIONS(u comparisonsuEXPRESSIONS BASICMETHODS(ubooleansuEXPRESSIONS TRUTHVALUE(u assignmentuAUGMENTEDASSIGNMENT(u augassignu NUMBERMETHODS(ucompoundufor while break continue(utruthu if while and or not BASICMETHODS(udebuggerupdb(ucontext-managersuwith(!u__name__u __module__u __qualname__ukeywordsu_symbols_inverseusymbolsuitemsutopicusymbols_usymbolugetutopicsuNoneu__init__upropertyuinputuoutputu__repr__uobjectu_GoInteractiveu__call__uinteractugetlineuhelpuintroulistu listkeywordsu listsymbolsu listtopicsu showtopicu _gettopicu showsymbolu listmodules(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuHelper@s>                uHelpercBs2|EeZdZdZddZddZdS(uScanneruA generic tree iterator.cCs2|dd|_g|_||_||_dS(N(urootsustateuchildrenudescendp(uselfurootsuchildrenudescendp((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__s  uScanner.__init__cCs|jsF|jsdS|jjd}||j|fg|_n|jd\}}|sv|jj|jS|jd}|j|r|jj||j|fn|S(Niii(ustateurootsuNoneupopuchildrenunextudescendpuappend(uselfurootunodeuchildrenuchild((u*/opt/alt/python33/lib64/python3.3/pydoc.pyunexts    "u Scanner.nextN(u__name__u __module__u __qualname__u__doc__u__init__unext(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuScanners uScannercBs/|EeZdZdZdddddZdS(u ModuleScanneru7An interruptible scanner that searches module synopses.cCs|r|j}nd |_i}xtjD]}|dkr.d||<|dkri|d|dqt|jp{d}|jdd}|d|}|jj |dkr|d||qq.q.Wxt j d|D]\} }} |jrPn|dkr"|d|dqy| j |} Wnt k rLwYnXt| dry| j|} Wn(tk r|r||nwYnXttj| pd}t| d r| j|} qHd} niy| j|}Wn(tk r|r||nwYnX|jp)djd}t|d d} |d|}|jj |dkr|| ||qqW|r|ndS( Nu__main__iuu iu - uonerroru get_sourceu get_filenameu__file__F(uloweruFalseuquitusysubuiltin_module_namesuNoneu __import__u__doc__usplitufindupkgutilu walk_packagesu find_moduleu SyntaxErroruhasattru get_sourceu Exceptionusource_synopsisuiouStringIOu get_filenameu load_moduleu ImportErroru splitlinesugetattr(uselfucallbackukeyu completeruonerroruseenumodnameunameudescuimporteruispkguloaderusourceupathumodule((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuruns^    "        uModuleScanner.runN(u__name__u __module__u __qualname__u__doc__uNoneurun(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu ModuleScannersu ModuleScannerc CsUdd}dd}tj+tjdtj||d|WdQXdS(uAPrint all the one-line module summaries that contain a substring.cSsH|dddkr-|ddd}nt||o@d|dS(Ni u .__init__u (package)u- ii(uprint(upathumodnameudesc((u*/opt/alt/python33/lib64/python3.3/pydoc.pyucallbacksuapropos..callbackcSsdS(N((umodname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuonerrorsuapropos..onerroruignoreuonerrorN(uwarningsucatch_warningsufilterwarningsu ModuleScannerurun(ukeyucallbackuonerror((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuaproposs     uaproposcsddlddlddlddlGdddjjGfdddjjGfdddj}|||}|jx%|j r|j rt j d qW|S( u7Start an HTTP server thread on a specific port. Start an HTML/text server thread, so HTML or text documents can be browsed dynamically and interactively with a Web browser. Example use: >>> import time >>> import pydoc Define a URL handler. To determine what the client is asking for, check the URL and content_type. Then get or generate some text or HTML code and return it. >>> def my_url_handler(url, content_type): ... text = 'the URL sent was: (%s, %s)' % (url, content_type) ... return text Start server thread on port 0. If you use port 0, the server will pick a random port number. You can then use serverthread.port to get the port number. >>> port = 0 >>> serverthread = pydoc._start_server(my_url_handler, port) Check that the server is really started. If it is, open browser and get first page. Use serverthread.url as the starting page. >>> if serverthread.serving: ... import webbrowser The next two lines are commented out so a browser doesn't open if doctest is run on this module. #... webbrowser.open(serverthread.url) #True Let the server do its thing. We just need to monitor its status. Use time.sleep so the loop doesn't hog the CPU. >>> starttime = time.time() >>> timeout = 1 #seconds This is a short timeout for testing purposes. >>> while serverthread.serving: ... time.sleep(.01) ... if serverthread.serving and time.time() - starttime > timeout: ... serverthread.stop() ... break Print any errors that may have occurred. >>> print(serverthread.error) None iNcBs,|EeZdZddZddZdS(u!_start_server..DocHandlercSsx|jjdrd}nd}|jd|jdd||j|jj|j|j|jddS( uProcess a request from an HTML browser. The URL received is in self.path. Get an HTML page from self.urlhandler and send it. u.cssutext/cssu text/htmliu Content-Typeu%s; charset=UTF-8uutf-8N( upathuendswithu send_responseu send_headeru end_headersuwfileuwriteu urlhandleruencode(uselfu content_type((u*/opt/alt/python33/lib64/python3.3/pydoc.pyudo_GETds   u(_start_server..DocHandler.do_GETcWsdS(N((uselfuargs((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu log_messagetsu-_start_server..DocHandler.log_messageN(u__name__u __module__u __qualname__udo_GETu log_message(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu DocHandlerbs u DocHandlercs>|EeZdZddZfddZddZdS(u _start_server..DocServercSsMd|_|j|f|_||_|jj||j|jd|_dS(Nu localhostF(uhostuaddressucallbackubaseu__init__uhandleruFalseuquit(uselfuportucallback((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__zs   u)_start_server..DocServer.__init__cs^xM|jsOj|jjgggd\}}}|r|jqqW|jdS(Ni(uquituselectusocketufilenouhandle_requestu server_close(uselfurduwruex(uselect(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuserve_until_quits  -u1_start_server..DocServer.serve_until_quitcSs-|jj||jr)|j|ndS(N(ubaseuserver_activateucallback(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuserver_activates u0_start_server..DocServer.server_activateN(u__name__u __module__u __qualname__u__init__userve_until_quituserver_activate(u __locals__(uselect(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu DocServerxs u DocServercsY|EeZdZfddZfddZddZddZd S( u#_start_server..ServerThreadcs>||_t||_jj|d|_d|_dS(NF( u urlhandleruintuportuThreadu__init__uFalseuservinguNoneuerror(uselfu urlhandleruport(u threading(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu__init__s   u,_start_server..ServerThread.__init__csyejj__jj_t|j_|j |j }||_ |j Wn.t k r}z||_WYdd}~XnXdS(uStart the server.N(userveru HTTPServerubaseuhandlerumessageuMessageu MessageClassu staticmethodu urlhandleruportureadyu docserveruserve_until_quitu Exceptionuerror(uselfudocsvrue(u DocHandleru DocServeruemailuhttp(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuruns  u'_start_server..ServerThread.runcSs>d|_|j|_|j|_d|j|jf|_dS(Nu http://%s:%d/T(uTrueuservinguhostu server_portuportuurl(uselfuserver((u*/opt/alt/python33/lib64/python3.3/pydoc.pyureadys   u)_start_server..ServerThread.readycSs"d|j_d|_d|_dS(u&Stop the server and this thread nicelyNTF(uTrueu docserveruquituFalseuservinguNoneuurl(uself((u*/opt/alt/python33/lib64/python3.3/pydoc.pyustops  u(_start_server..ServerThread.stopN(u__name__u __module__u __qualname__u__init__urunureadyustop(u __locals__(u DocHandleru DocServeruemailuhttpu threading(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu ServerThreads u ServerThreadg{Gz?( u http.serveru email.messageuselectu threadinguserveruBaseHTTPRequestHandleru HTTPServeruThreadustartuerroruservingutimeusleep(u urlhandleruportu ServerThreaduthread((u DocHandleru DocServeruemailuhttpuselectu threadingu*/opt/alt/python33/lib64/python3.3/pydoc.pyu _start_server%s8    "+" u _start_serveru text/htmlc sGfdddt}|fddfddfddfd d fd d fd dfddfddfdd f dd}|jdr|dd}n|dkr}tjjtjjt}tjj||}t|}dj|j SWdQXn|dkr||St d||fdS(uThe pydoc url handler for use with the pydoc server. If the content_type is 'text/css', the _pydoc.css style sheet is read and returned if it exits. If the content_type is 'text/html', then the result of get_html_page(url) is returned. cs2|EeZdZfddZddZdS(u_url_handler.._HTMLDoccs'd}d|}d|||fS(uFormat an HTML page.upydoc_data/_pydoc.cssu1u  Pydoc: %s %s%s
%s
((uselfutitleucontentsucss_pathucss_link(u html_navbar(u*/opt/alt/python33/lib64/python3.3/pydoc.pyupagesu#_url_handler.._HTMLDoc.pagecSsd||fS(Nu%s((uselfuurlupath((u*/opt/alt/python33/lib64/python3.3/pydoc.pyufilelinksu'_url_handler.._HTMLDoc.filelinkN(u__name__u __module__u __qualname__upageufilelink(u __locals__(u html_navbar(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu_HTMLDocs u_HTMLDoccsUjdtjtjdtjf}d|jtjddfS(Nu %s [%s, %s]iuZ
Python %s
%s
uterseT(uescapeuplatformupython_versionu python_buildupython_compileruTrue(uversion(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu html_navbars u!_url_handler..html_navbarcsdd}jddd}ddtjD}j||}|djd dd |g}i}x*tjD]}|jj||q{W|jd d d j|fS(uModule Index page.cSsd||fS(Nu%s((uname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu bltinlinksu3_url_handler..html_index..bltinlinku7Index of Modulesu#ffffffu#7799eecSs"g|]}|dkr|qS(u__main__((u.0uname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu s u4_url_handler..html_index..u

uBuilt-in Modulesu#ee77aau|

pydoc by Ka-Ping Yee<ping@lfw.org>uIndex of Modulesu( uheadingusysubuiltin_module_namesu multicolumnu bigsectionupathuappenduindexujoin(u bltinlinkuheadingunamesucontentsuseenudir(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu html_indexs   u _url_handler..html_indexc sgfdd}tj%tjdtj||WdQXdd}g}jddd }x+D]#\}}|j|||qyW|jd |dd d j|}d |fS(uSearch results page.csN|dddkr-|ddd}nj||oCd|fdS(Ni u .__init__u (package)u- ii(uappend(upathumodnameudesc(u search_result(u*/opt/alt/python33/lib64/python3.3/pydoc.pyucallback su3_url_handler..html_search..callbackuignoreNcSsd||fS(Nu%s((uname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu bltinlink su4_url_handler..html_search..bltinlinku5Search Resultsu#ffffffu#7799eeukey = %su#ee77aau
uSearch Results( uwarningsucatch_warningsufilterwarningsu ModuleScannerurunuheadinguappendu bigsectionujoin(ukeyucallbacku bltinlinkuresultsuheadingunameudescucontents(uhtml(u search_resultu*/opt/alt/python33/lib64/python3.3/pydoc.pyu html_search s      u!_url_handler..html_searchc s|jdd}tj|}j|j}WdQXd|}jddd}|jd|dd |}d ||fS( u-Get and display a source file listing safely.u%20u Nu

%s
u3File Listingu#ffffffu#7799eeuFile: %su#ee77aau getfile %s(ureplaceutokenizeuopenuescapeureaduheadingu bigsection(upathufpulinesubodyuheadingucontents(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu html_getfile& s   u"_url_handler..html_getfilecsndd}jddd}ttjj}j||}|jddd|}d|fS(uIndex of topic texts available.cSsd||fS(Nu%s((uname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu bltinlink6 su4_url_handler..html_topics..bltinlinku,INDEXu#ffffffu#7799eeuTopicsu#ee77aa(uheadingusorteduHelperutopicsukeysu multicolumnu bigsection(u bltinlinkuheadingunamesucontents(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu html_topics3 s   u!_url_handler..html_topicscsnjddd}ttjj}dd}j||}|jddd|}d|fS(uIndex of keywords.u,INDEXu#ffffffu#7799eecSsd||fS(Nu%s((uname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu bltinlinkJ su6_url_handler..html_keywords..bltinlinkuKeywordsu#ee77aa(uheadingusorteduHelperukeywordsukeysu multicolumnu bigsection(uheadingunamesu bltinlinkucontents(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu html_keywordsC s   u#_url_handler..html_keywordscs tj}t||}|j|\}}||jkrHd}nd}jd|dd}dj|}j|dd|}|rt|j }dd }j ||}j d dd|}nd ||fd j |||ffS( uTopic or keyword help page.uKEYWORDuTOPICu)%su#ffffffu#7799eeu
%s
u#ee77aacSsd||fS(Nu%s((uname((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu bltinlinkc su7_url_handler..html_topicpage..bltinlinkuRelated help topics: u%s %su( uiouStringIOuHelperu _gettopicukeywordsuheadingumarkupu bigsectionusortedusplitu multicolumnusectionujoin(utopicubufuhtmlhelpucontentsuxrefsutitleuheadingu bltinlink(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyuhtml_topicpageR s&      u$_url_handler..html_topicpagecsat|dd}|dkr9|dkr9tdnt|}j||}||fS(Nu forceloadiuNoneucould not find object(ulocateuNoneu ValueErrorudescribeudocument(uurluobjutitleucontent(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu html_getobjl s  u!_url_handler..html_getobjcspjddd}djfddtt||D}|j|dd|}d||fS( Nu,Erroru#ffffffu#7799eeu
c3s|]}j|VqdS(N(uescape(u.0uline(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu x su3_url_handler..html_error..u#bb0000u Error - %s(uheadingujoinuformat_exception_onlyutypeu bigsection(uurluexcuheadingucontents(uhtml(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu html_errort s  u _url_handler..html_errorcs|}|jdr(|dd}ny|dkrI\}}ny|dkrg\}}n[|dkr\}}n=d|kr|jd\}}}|d kr|\}}q|d kr|\}}q|d kr7y|\}}Wqtk r3|\}}YqXq|d kr|dkra\}}qy|\}}Wqtk r|\}}YqXqtd n|\}}Wn:tk r}z||\}}WYdd}~XnXj||S(uGenerate an HTML page for url.u.htmlNiuuindexutopicsukeywordsu=u search?keyu getfile?keyu topic?keyuget?keyu bad pydoc urli(uuindex(uuindex(uendswithu partitionu ValueErroru Exceptionupage(uurlu complete_urlutitleucontentuopu_uexc( uhtmlu html_erroru html_getfileu html_getobju html_indexu html_keywordsu html_searchuhtml_topicpageu html_topics(u*/opt/alt/python33/lib64/python3.3/pydoc.pyu get_html_page~ sB           (u#_url_handler..get_html_pageu/iNutext/cssuu text/htmlu"unknown content type %r for url %s( uHTMLDocu startswithuosupathudirnameurealpathu__file__ujoinuopenu readlinesu TypeError(uurlu content_typeu_HTMLDocu get_html_pageu path_hereucss_pathufp(( uhtmlu html_erroru html_getfileu html_getobju html_indexu html_keywordsu html_navbaru html_searchuhtml_topicpageu html_topicsu*/opt/alt/python33/lib64/python3.3/pydoc.pyu _url_handlers,    **   u _url_handleru open_browsercCs-ddl}tt|}|jr5t|jdS|jr)d}|r]|j|jnzytd|jt|x^|jrtd}|j }|dkrPq|dkr|j|jqt|qWWnt t fk rtYnXWd|jr%|j tdnXndS( uStart the enhanced pydoc Web server and open a Web browser. Use port '0' to start the server on an arbitrary port. Set open_browser to False to suppress opening a browser. iNu"Server commands: [b]rowser, [q]uituServer ready atuserver> uqubuServer stopped( u webbrowseru _start_serveru _url_handleruerroruprintuservinguopenuurluinputuloweruKeyboardInterruptuEOFErrorustop(uportu open_browseru webbrowseru serverthreaduserver_help_msgucmd((u*/opt/alt/python33/lib64/python3.3/pydoc.pyubrowse s2            ubrowsecCs%t|to$|jtjdkS(Ni(u isinstanceustrufinduosusep(ux((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuispath suispathcCsddl}Gdddt}dtjkrtjjtjd}|tjkrltjj|ntjjddny|jtjddd\}}d}d}d}d}xy|D]q\} } | d krd}d}n| d kr t | dS| d kr%d}| }n| d krd}qqW|rm|dkrYd}nt |d |dS|s||nx|D]} t| rtjj|  rtd| Pny|t| rtjj| rt| } n|r(t| rtjj| rt| q5t| n tj| Wqtk rg} zt| WYdd} ~ XqXqWWnc|j|fk rtjjtjjtjdd} tdjd| dtjYnXdS(u@Command-line interface (looks at sys.argv to decide what to do).iNcBs|EeZdZdS(ucli..BadUsageN(u__name__u __module__u __qualname__(u __locals__((u*/opt/alt/python33/lib64/python3.3/pydoc.pyuBadUsage suBadUsageuu.iubk:p:wu-bu-ku-pu-wu open_browserufile %r does not existupydoc - the Python documentation tool {cmd} ... Show text documentation on something. may be the name of a Python keyword, topic, function, module, or package, or a dotted reference to a class or function within a module or module in a package. If contains a '{sep}', it is used as the path to a Python source file to document. If name is 'keywords', 'topics', or 'modules', a listing of these things is displayed. {cmd} -k Search for a keyword in the synopsis lines of all available modules. {cmd} -p Start an HTTP server on the given port on the local machine. Port number 0 can be used to get an arbitrary unused port. {cmd} -b Start an HTTP server on an arbitrary unused port and open a Web browser to interactively browse documentation. The -p option can be used with the -b option to explicitly specify the server port. {cmd} -w ... Write out the HTML documentation for a module to a file in the current directory. If contains a '{sep}', it is treated as a filename; if it names a directory, documentation is written for all the contents. ucmdusepFT(ugetoptu ExceptionusysupathuosudirnameuargvuremoveuinsertuFalseuNoneuTrueuaproposubrowseuispathuexistsuprintuisfileu importfileuisdiru writedocsuwritedocuhelpuErrorDuringImportuerrorusplitextubasenameuformatusep(ugetoptuBadUsageu scriptdiruoptsuargsuwritingu start_serveru open_browseruportuoptuvaluarguvalueucmd((u*/opt/alt/python33/lib64/python3.3/pydoc.pyucli sd %              %)ucliu__main__(Uu__doc__u__all__u __author__u__date__u __credits__ubuiltinsuimpuimportlib.machineryu importlibuinspectuiouosupkgutiluplatformureusysutimeutokenizeuwarningsu collectionsudequeureprlibuRepru tracebacku extract_tbuformat_exception_onlyupathdirsugetdocusplitdocu classnameuisdataureplaceucramucompileu IGNORECASEu _re_stripidustripidu_is_some_methodu allmethodsu _split_listuNoneu visiblenameuclassify_class_attrsu ispackageusource_synopsisusynopsisu ExceptionuErrorDuringImportu importfileu safeimportuDocuHTMLRepruHTMLDocuTextRepruTextDocu _PlainTextDocupagerugetpageruplainu pipepageru tempfilepageruttypageru plainpagerudescribeulocateutextu plaintextuhtmluresolveu render_docudocuwritedocu writedocsuHelperuhelpuScanneru ModuleScanneruaproposu _start_serveru _url_handleruTrueubrowseuispathucliu__name__(((u*/opt/alt/python33/lib64/python3.3/pydoc.pyu#s                        $ 0=*+ _    &         <  %  V