grthtrhthjhtyjytjytkergtrhtrjytjerhrfhó zfc@sydZddlZddlZddlZddlZejejgZda da da d„Z d„Z d„Zd„Zd„Zdd„Zd „Zd „Zd „Zd „Zd „Zd„Zd„Zd„Zdefd„ƒYZd„Zdefd„ƒYZd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$e$ƒd„Z%e&dkrue%ƒndS(sN Append module search paths for third-party packages to sys.path. **************************************************************** * This module is automatically imported during initialization. * **************************************************************** In earlier versions of Python (up to 1.5a3), scripts or modules that needed to use site-specific modules would place ``import site'' somewhere near the top of their code. Because of the automatic import, this is no longer necessary (but code that does it still works). This will append site-specific paths to the module search path. On Unix (including Mac OSX), it starts with sys.prefix and sys.exec_prefix (if different) and appends lib/python/site-packages as well as lib/site-python. On other platforms (such as Windows), it tries each of the prefixes directly, as well as with lib/site-packages appended. The resulting directories, if they exist, are appended to sys.path, and also inspected for path configuration files. A path configuration file is a file whose name has the form .pth; its contents are additional directories (one per line) to be added to sys.path. Non-existing directories (or non-directories) are never added to sys.path; no directory is added to sys.path more than once. Blank lines and lines beginning with '#' are skipped. Lines starting with 'import' are executed. For example, suppose sys.prefix and sys.exec_prefix are set to /usr/local and there is a directory /usr/local/lib/python2.5/site-packages with three subdirectories, foo, bar and spam, and two path configuration files, foo.pth and bar.pth. Assume foo.pth contains the following: # foo package configuration foo bar bletch and bar.pth contains: # bar package configuration bar Then the following directories are added to sys.path, in this order: /usr/local/lib/python2.5/site-packages/bar /usr/local/lib/python2.5/site-packages/foo Note that bletch is omitted because it doesn't exist; bar precedes foo because bar.pth comes alphabetically before foo.pth; and spam is omitted because it is not mentioned in either path configuration file. After these path manipulations, an attempt is made to import a module named sitecustomize, which can perform arbitrary additional site-specific customizations. If this import fails with an ImportError exception, it is silently ignored. iÿÿÿÿNcGsRtjj|Œ}ytjj|ƒ}Wntk r;nX|tjj|ƒfS(N(tostpathtjointabspathtOSErrortnormcase(tpathstdir((s/usr/lib64/python2.7/site.pytmakepathOs  cCsixbtjjƒD]Q}t|dƒr+qnytjj|jƒ|_Wqtt fk r`qXqWdS(s6Set all module' __file__ attribute to an absolute patht __loader__N( tsystmodulestvaluesthasattrRRRt__file__tAttributeErrorR(tm((s/usr/lib64/python2.7/site.pyt abs__file__XscCslg}tƒ}xLtjD]A}t|ƒ\}}||kr|j|ƒ|j|ƒqqW|tj(|S(sK Remove duplicate entries from sys.path along with making them absolute(tsetR RRtappendtadd(tLt known_pathsRtdircase((s/usr/lib64/python2.7/site.pytremoveduppathscs    cCsptƒ}x`tjD]U}y8tjj|ƒrPt|ƒ\}}|j|ƒnWqtk rgqqXqW|S(sDReturn a set containing all existing directory entries from sys.path(RR RRtisdirRRt TypeError(tdRR((s/usr/lib64/python2.7/site.pyt_init_pathinfovs   c Bsº|dkreƒd}nd}ejj||ƒ}ye|dƒ}Wnek r^dSX|�@x8e|ƒD]*\}}|jdƒr”qsny€|jd ƒr´|dUwsn|j ƒ}e ||ƒ\}} | |krejj |ƒre jj |ƒ|j| ƒnWqsek rœ} e jdj|d|ƒIJxEeje jƒŒD].} x%| jƒD]}e jd |IJqlWqYWe jd IJPqsXqsWWdQX|r¶d}n|S( sÖProcess a .pth file within the site-packages directory: For each line in the file, either combine it with sitedir to a path and add that to known_paths, or execute it if it starts with 'import '. iitrUNt#simport simport s"Error processing line {:d} of {}: s s Remainder of file ignored(simport simport (tNoneRRRRtopentIOErrort enumeratet startswithtrstripRtexistsR RRt Exceptiontstderrtformatt tracebacktformat_exceptiontexc_infot splitlines( tsitedirtnameRtresettfullnametftntlineRRterrtrecord((s/usr/lib64/python2.7/site.pyt addpackageƒsB       cCsï|dkrtƒ}d}nd}t|ƒ\}}||krUtjj|ƒnytj|ƒ}Wntjk rdSXtj d}g|D]}|j |ƒr”|^q”}x$t |ƒD]}t |||ƒqÂW|rëd}n|S(sTAdd 'sitedir' argument to sys.path if missing and handle .pth files in 'sitedir'iiNtpth( RRRR RRRtlistdirterrortextseptendswithtsortedR6(R-RR/t sitedircasetnamestdotpthR.((s/usr/lib64/python2.7/site.pyt addsitedir¬s$     ( cCsŽtjjrtSttdƒrMttdƒrMtjƒtjƒkrMdSnttdƒrŠttdƒrŠtj ƒtj ƒkrŠdSnt S(s,Check if user site directory is safe for inclusion The function tests for the command line flag (including environment var), process uid/gid equal to effective uid/gid. None: Disabled for security reasons False: Disabled by user (command line option) True: Safe and enabled tgetuidtgeteuidtgetgidtgetegidN( R tflagst no_user_sitetFalseR RRBRARRDRCtTrue(((s/usr/lib64/python2.7/site.pytcheck_enableusersiteÄs cCs0tdk rtSddlm}|dƒatS(sËReturns the `user base` directory path. The `user base` directory can be used to store data. If the global variable ``USER_BASE`` is not initialized yet, this function will also set it. iÿÿÿÿ(tget_config_vartuserbaseN(t USER_BASERt sysconfigRJ(RJ((s/usr/lib64/python2.7/site.pyt getuserbaseÜs   cCs�tƒ}tdk rtSddlm}ddl}tjdkrvddlm}|dƒrv|ddƒatSn|dd |j ƒatS( s¢Returns the user-specific site-packages directory path. If the global variable ``USER_SITE`` is not initialized yet, this function will also set it. iÿÿÿÿ(tget_pathNtdarwin(RJtPYTHONFRAMEWORKtpurelibtosx_framework_users%s_user( RNt USER_SITERRMRORR tplatformRJR.(t user_baseRORRJ((s/usr/lib64/python2.7/site.pytgetusersitepackagesês    cCs5tƒ}tr1tjj|ƒr1t||ƒn|S(s†Add a per user site-package to sys.path Each user has its own python directory with site-packages in the home directory. (RWtENABLE_USER_SITERRRR@(Rt user_site((s/usr/lib64/python2.7/site.pytaddusersitepackagess cCsQg}tƒ}x;tD]3}| s||kr5qn|j|ƒtjd krs|jtjj|ddƒƒqtj dkrþ|jtjj|ddtj d dƒƒ|jtjj|d dtj d dƒƒ|jtjj|d d ƒƒq|j|ƒ|jtjj|ddƒƒ|jtjj|d dƒƒqW|S( s+Returns a list containing all global site-packages directories (and possibly site-python). For each directory present in the global ``PREFIXES``, this function will find its `site-packages` subdirectory depending on the system environment, and will return a list of full paths. tos2emxtriscostLibs site-packagest/tlib64tpythonitlibs site-python(R[R\( RtPREFIXESRR RURRRRtseptversion(t sitepackagestseentprefix((s/usr/lib64/python2.7/site.pytgetsitepackagess(   "  " #cCs:x3tƒD](}tjj|ƒr t||ƒq q W|S(s8Add site-packages (and possibly site-python) to sys.path(RhRRRR@(RR-((s/usr/lib64/python2.7/site.pytaddsitepackages0scCsotjjtjddƒ}tjdjdƒ}|drK|j|ƒn ||deZdZdZddd„Zd„Zd„Zd„ZRS(sninteractive prompt objects for printing the license text, a list of contributors and the copyright notice.icCs1||_||_||_||_d|_dS(N(t_Printer__namet_Printer__datat_Printer__filest_Printer__dirsRt_Printer__lines(RsR.tdatatfilestdirs((s/usr/lib64/python2.7/site.pyRtns     cCsÒ|jr dSd}x‚|jD]w}xd|jD]Y}tjj||ƒ}y*t|dƒ}|jƒ}|j ƒPWq-t k r…q-Xq-W|rPqqW|sª|j }n|j dƒ|_t |jƒ|_dS(NRs (RˆRR‡R†RRRtfiletreadRxR!R…Rmtlent_Printer__linecnt(RsR‰Rtfilenametfp((s/usr/lib64/python2.7/site.pyt__setupus&     cCsH|jƒt|jƒ|jkr2dj|jƒSd|jfdSdS(Ns s!Type %s() to see the full %s texti(t_Printer__setupRŽRˆtMAXLINESRR„(Rs((s/usr/lib64/python2.7/site.pyRvŠs cCs¾|jƒd}d}x¡y1x*t|||jƒD]}|j|GHq3WWntk r^PqX||j7}d}x1|dkr¥t|ƒ}|dkrud}ququW|dkrPqqWdS(Ns0Hit Return for more, or q (and Return) to quit: ittq(R•R–(R“trangeR”Rˆt IndexErrorRt raw_input(Rstprompttlinenotitkey((s/usr/lib64/python2.7/site.pyR{‘s"       (((R|R}t__doc__R”RtR“RvR{(((s/usr/lib64/python2.7/site.pyRƒhs   cCs¤tdtjƒt_tjd dkr=tddƒt_ntddƒt_tjjtj ƒ}tddd d gtjj |tj ƒ|tj gƒt_ d S( s,Set 'copyright' and 'credits' in __builtin__t copyrightitjavatcreditss?Jython is maintained by the Jython developers (www.jython.org).sž Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information.tlicenses'See https://www.python.org/psf/license/s LICENSE.txttLICENSEN(RƒR RŸR�RUR¡RRtdirnameRRtpardirtcurdirR¢(there((s/usr/lib64/python2.7/site.pyt setcopyright¥s  t_HelpercBs eZdZd„Zd„ZRS(sXDefine the builtin 'help'. This is a wrapper around pydoc.help (with a twist). cCsdS(NsHType help() for interactive help, or help(object) for help about object.((Rs((s/usr/lib64/python2.7/site.pyRv½scOsddl}|j||ŽS(Niÿÿÿÿ(tpydocthelp(RstargstkwdsRª((s/usr/lib64/python2.7/site.pyR{Às (R|R}RžRvR{(((s/usr/lib64/python2.7/site.pyR©·s cCstƒt_dS(N(R©R�R«(((s/usr/lib64/python2.7/site.pyt sethelperÄscCs¡tjdkr�ddl}ddl}|jƒd}|jdƒr�y|j|ƒWqštk r–ddl}|j |j |2 - unknown error is sys.path = [s %r,t]sUSER_BASE: %r (%s)R%s doesn't existsUSER_SITE: %r (%s)sENABLE_USER_SITE: %ris --user-bases --user-siteiiiÿÿÿÿi (R targvRRLRRRTRXRRtpathsepRRGRttextwraptdedent(R«R¬RtbufferRØ((s/usr/lib64/python2.7/site.pyt_scriptIs< !!      "t__main__('RžR RR�R)Rgt exec_prefixRbRRXRTRLRRRRR6R@RIRNRWRZRhRiRpR‚R€RƒR¨R©R®R¼RÀRÅRÇRÎRÔRÛR|(((s/usr/lib64/python2.7/site.pyt;sH      )        =       #  1