Critics have remarked that those four worthies were truly peerless throughout the ages; yet the present falls short of the pastβ€”the ancients favored unadorned simplicity, whereas the moderns prefer refined elegance. Styles of substance and ornament rise and fall in succession, shifting with the changing mores of the times; such evolution is simply the natural order of things. The ideal lies in honoring antiquity without clashing with the present, and embracing modernity without succumbing to its flawsβ€”embodying that perfect balance of substance and refinement that defines the true gentleman. There is surely no need to abandon a carved palace in favor of a cave dwelling, or to trade a jade carriage for a primitive cart with solid wooden wheels.🌌 SpectraShell

🌌 SpectraShell

Current path: lib64/python2.7/



⬆️ Go up: /lib64

πŸ“„ Viewing: pyclbr.pyo

οΏ½
zfc@sοΏ½dZddlZddlZddlZddlmZmZmZddlm	Z	ddddgZ
iZddd	οΏ½οΏ½YZddd
οΏ½οΏ½YZ
ddοΏ½ZddοΏ½Zdd
οΏ½ZdοΏ½ZdοΏ½ZdοΏ½ZedkrοΏ½eοΏ½ndS(sοΏ½Parse a Python module and describe its classes and methods.

Parse enough of a Python file to recognize imports and class and
method definitions, and to find out the superclasses of a class.

The interface consists of a single function:
        readmodule_ex(module [, path])
where module is the name of a Python module, and path is an optional
list of directories where the module is to be searched.  If present,
path is prepended to the system search path sys.path.  The return
value is a dictionary.  The keys of the dictionary are the names of
the classes defined in the module (including classes that are defined
via the from XXX import YYY construct).  The values are class
instances of the class Class defined here.  One special key/value pair
is present for packages: the key '__path__' has a list as its value
which contains the package search path.

A class is described by the class Class in this module.  Instances
of this class have the following instance variables:
        module -- the module name
        name -- the name of the class
        super -- a list of super classes (Class instances)
        methods -- a dictionary of methods
        file -- the file in which the class was defined
        lineno -- the line in the file on which the class statement occurred
The dictionary of methods uses the method names as keys and the line
numbers on which the method was defined as values.
If the name of a super class is not recognized, the corresponding
entry in the list of super classes is not a class instance but a
string giving the name of the super class.  Since import statements
are recognized and imported modules are scanned as well, this
shouldn't happen often.

A function is described by the class Function in this module.
Instances of this class have the following instance variables:
        module -- the module name
        name -- the name of the class
        file -- the file in which the class was defined
        lineno -- the line in the file on which the class statement occurred
iοΏ½οΏ½οΏ½οΏ½N(tNAMEtDEDENTtOP(t
itemgettert
readmodulet
readmodule_extClasstFunctioncBs eZdZdοΏ½ZdοΏ½ZRS(s"Class to represent a Python class.cCsO||_||_|dkr'g}n||_i|_||_||_dS(N(tmoduletnametNonetsupertmethodstfiletlineno(tselfRR	RR
R((s/usr/lib64/python2.7/pyclbr.pyt__init__7s						cCs||j|<dS(N(R(RR	R((s/usr/lib64/python2.7/pyclbr.pyt
_addmethodAs(t__name__t
__module__t__doc__RR(((s/usr/lib64/python2.7/pyclbr.pyR5s	
cBseZdZdοΏ½ZRS(s.Class to represent a top-level Python functioncCs(||_||_||_||_dS(N(RR	R
R(RRR	R
R((s/usr/lib64/python2.7/pyclbr.pyRFs			(RRRR(((s/usr/lib64/python2.7/pyclbr.pyRDscCsRi}xEt||pgοΏ½jοΏ½D](\}}t|tοΏ½r"|||<q"q"W|S(s}Backwards compatible interface.

    Call readmodule_ex() and then only keep Class objects from the
    resulting dictionary.(t_readmoduletitemst
isinstanceR(Rtpathtrestkeytvalue((s/usr/lib64/python2.7/pyclbr.pyRLs
(cCst||pgοΏ½S(sοΏ½Read a module file and return a dictionary of classes.

    Search for MODULE in PATH and sys.path, read and parse the
    module and return a dictionary with one entry for each class
    found in the module.
    (R(RR((s/usr/lib64/python2.7/pyclbr.pyRXsc&CsZ|dk	rd||f}n|}|tkr9t|Si}|tjkrh|dkrh|t|<|S|jdοΏ½}|dkr|| }||d}t|||οΏ½}|dk	rοΏ½d||f}nd|krοΏ½tdj|οΏ½οΏ½οΏ½nt||d|οΏ½Sd}	|dk	r=tj	||οΏ½\}	}
\}}}
n+tj	||tj
οΏ½\}	}
\}}}
|
tjkrοΏ½|
g|d<|
g|}tj	d|
gοΏ½\}	}
\}}}
n|t|<|
tjkrοΏ½|	j
οΏ½|Sg}tj|	jοΏ½}y>x7|D]/\}}}}}|tkr\|\}}xοΏ½|rX|dd|krX|d=q4Wq|d	kr2|\}}x%|rοΏ½|dd|krοΏ½|d=qwW|jοΏ½dd
!\}}}|tkrοΏ½qn|r|dd}t|tοΏ½r|j||οΏ½qnt|||
|οΏ½||<|jd|fοΏ½q|dkrοΏ½|\}}x%|rq|dd|krq|d=qMW|jοΏ½dd
!\}}}|tkrοΏ½qn|jοΏ½dd
!\}}}d}|dkr]g}d}g}xqtrS|jοΏ½dd
!\}}}|dkrοΏ½|dkrοΏ½dj|οΏ½}||krE||}nj|jdοΏ½}t|οΏ½dkrοΏ½|d} |d}| tkrοΏ½t| }!||!krοΏ½|!|}qοΏ½qοΏ½n|j|οΏ½g}n|dkrοΏ½|d7}qοΏ½|d
kr|d8}|dkrPPqPqοΏ½|dkr"|dkr"qοΏ½|ttfkrοΏ½|dkrοΏ½|j|οΏ½qοΏ½qοΏ½W|}nt||||
|οΏ½}|sοΏ½|||<n|j||fοΏ½q|dkr?|ddkr?t|οΏ½}"xj|"D]k\}#}$yU|dkrοΏ½t|#|οΏ½n5yt|#||οΏ½Wntk
r,t|#gοΏ½nXWqοΏ½qοΏ½XqοΏ½Wq|dkr|ddkrt|οΏ½\}#}|#s|dkrοΏ½qnt|οΏ½}yt|#||οΏ½}!Wn
qnXx{|D]p\}}%||!krοΏ½|!|||%pοΏ½|<qοΏ½|dkrοΏ½x2|!D]'}|ddkrοΏ½|!|||<qοΏ½qοΏ½WqοΏ½qοΏ½WqqWWnt k
rKnX|	j
οΏ½|S(s.Do the hard work for readmodule[_ex].

    If INPACKAGE is given, it must be the dotted name of the package in
    which we are searching for a submodule, and then PATH must be the
    package search path; otherwise, we are searching for a top-level
    module, and PATH is combined with sys.path.
    s%s.%st.iit__path__sNo package named {}RiοΏ½οΏ½οΏ½οΏ½tdefitclasst(t)t,tiοΏ½οΏ½οΏ½οΏ½timporttfromt*t_N(R!R"(!R
t_modulestsystbuiltin_module_namestrfindRtImportErrortformattimptfind_moduleRt
PKG_DIRECTORYt	PY_SOURCEtclosettokenizetgenerate_tokenstreadlineRtnextRRRRRtappendtTruetjointsplittlenRt_getnamelistt_getnamet
StopIteration(&RRt	inpackaget
fullmoduletdicttitpackaget	submoduletparenttftfnamet_st_mttytstacktgt	tokentypettokentstartt_endt_lineRt
thisindentt	meth_namet	cur_classt
class_nametinherittnamestlevelRtntctmtdtmodulestmodt_mod2tn2((s/usr/lib64/python2.7/pyclbr.pyRas	

'+

*

		




	

	


'

cCsοΏ½g}xοΏ½trοΏ½t|οΏ½\}}|s+Pn|dkrLt|οΏ½\}}nd}|j||fοΏ½x,|dkrοΏ½d|krοΏ½|jοΏ½d}qhW|dkr	Pq	q	W|S(NtasR"s
i(R8R=R
R7R6(RLRWR	RNtname2((s/usr/lib64/python2.7/pyclbr.pyR<s	cCsοΏ½g}|jοΏ½dd!\}}|tkrA|dkrAd|fS|j|οΏ½xitrοΏ½|jοΏ½dd!\}}|dkrοΏ½Pn|jοΏ½dd!\}}|tkrοΏ½Pn|j|οΏ½qQWdj|οΏ½|fS(NiiR&R(R6RR
R7R8R9(RLtpartsRMRN((s/usr/lib64/python2.7/pyclbr.pyR=+s

	c	Csbddl}tjd}|jj|οΏ½rw|jj|οΏ½g}|jj|οΏ½}|jοΏ½jdοΏ½r}|d }q}ng}t	||οΏ½}|j
οΏ½}|jdοΏ½οΏ½xοΏ½|D]οΏ½}t|t
οΏ½r5dG|jG|jG|jGHt|jjοΏ½dtdοΏ½οΏ½}xX|D](\}}|dkrd	G|G|GHqqWqοΏ½t|tοΏ½rοΏ½d
G|jG|jGHqοΏ½qοΏ½WdS(NiοΏ½οΏ½οΏ½οΏ½is.pyiοΏ½οΏ½οΏ½οΏ½cSs%tt|ddοΏ½t|ddοΏ½οΏ½S(NRi(tcmptgetattr(tatb((s/usr/lib64/python2.7/pyclbr.pyt<lambda>KsRRRs  defR(tosR)targvRtexiststdirnametbasenametlowertendswithRtvaluestsortRRR	RRtsortedRt	iteritemsRR(	RiR^RRAtobjstobjRR	R((s/usr/lib64/python2.7/pyclbr.pyt_main>s(

!t__main__(((RR)R.R3RNRRRtoperatorRt__all__R(RRR
RRRR<R=RvR(((s/usr/lib64/python2.7/pyclbr.pyt<module>(s"	οΏ½			


πŸ“