ó ükWc@sYdZddlZddlZddlZddddddd d gZdd d „Zddd „ZeZdd„Z de dddd„Z e ddd„Z d„Z defd„ƒYZd„Zd„Zd„Zd„Zdd d„Zdddd„Zdefd„ƒYZd efd„ƒYZeZy>ddlmZmZmZmZmZeZeZ e!ZWn#e"k r›gZd ZiZ nXeej#ƒesRe$e%gZ&ej' râej(j) râe&j*e+ƒnxe&D]Z,e d!d"e,ƒqéWej(j-Z-e-d kr$d#Z.ne-r3d Z.nd!Z.e e.d"e/d$d ƒn[dS(%s&Python part of the warnings subsystem.iÿÿÿÿNtwarnt warn_explicitt showwarningt formatwarningtfilterwarningst simplefiltert resetwarningstcatch_warningsicCs9tjr5|dkrt}nt|||dƒndS(s‡Issue a deprecation warning for Python 3.x related changes. Warnings are omitted unless Python is started with the -3 option. iN(tsyst py3kwarningtNonetDeprecationWarningR(tmessagetcategoryt stacklevel((s/usr/lib/python2.7/warnings.pytwarnpy3ks   cCsS|dkrtj}ny#|jt|||||ƒƒWntk rNnXdS(s7Hook to write a warning to a file; replace if you like.N(R RtstderrtwriteRtIOError(R R tfilenametlinenotfiletline((s/usr/lib/python2.7/warnings.pyt _show_warnings   # cCsdd|||j|f}|dkr7tj||ƒn|}|r`|jƒ}|d|7}n|S(s.Function to format a warning the standard way.s%s:%s: %s: %s s %s N(t__name__R t linecachetgetlinetstrip(R R RRRts((s/usr/lib/python2.7/warnings.pyR%s $ ticCsddl}|dks+td |fƒ‚t|tƒsFtd ƒ‚t|ttjfƒsjtd ƒ‚t|tƒs…td ƒ‚t|tƒs td ƒ‚t|t ƒr»|dksÇtdƒ‚||j ||j ƒ||j |ƒ|f}|r t j |ƒnt jd|ƒdS(sÖInsert an entry into the list of warnings filters (at the front). 'action' -- one of "error", "ignore", "always", "default", "module", or "once" 'message' -- a regex that the warning message must match 'category' -- a class that the warning must be a subclass of 'module' -- a regex that the module name must match 'lineno' -- an integer line number, 0 matches all warnings 'append' -- if true, append to the list of filters iÿÿÿÿNterrortignoretalwaystdefaulttmoduletoncesinvalid action: %rsmessage must be a stringscategory must be a classs#category must be a Warning subclasssmodule must be a stringislineno must be an int >= 0(serrorsignoresalwayssdefaultsmodulesonce(tretAssertionErrort isinstancet basestringttypettypest ClassTypet issubclasstWarningtinttcompiletItfilterstappendtinsert(tactionR R R"RR1R$titem((s/usr/lib/python2.7/warnings.pyR.s   cCs…|d kstd|fƒ‚t|tƒr:|dksFtd ƒ‚|d |d |f}|rqtj|ƒntjd|ƒd S( sInsert a simple entry into the list of warnings filters (at the front). A simple filter matches all modules and messages. 'action' -- one of "error", "ignore", "always", "default", "module", or "once" 'category' -- a class that the warning must be a subclass of 'lineno' -- an integer line number, 0 matches all warnings 'append' -- if true, append to the list of filters RRR R!R"R#sinvalid action: %rislineno must be an int >= 0N(serrorsignoresalwayssdefaultsmodulesonce(R%R&R-R R0R1R2(R3R RR1R4((s/usr/lib/python2.7/warnings.pyRKs  cCs gt(dS(sAClear the list of warning filters, so that no filters are active.N(R0(((s/usr/lib/python2.7/warnings.pyR_st _OptionErrorcBseZdZRS(s,Exception used by option processing helpers.(Rt __module__t__doc__(((s/usr/lib/python2.7/warnings.pyR5cscCsLxE|D]=}yt|ƒWqtk rC}tjdI|IJqXqWdS(NsInvalid -W option ignored:(t _setoptionR5RR(targstargtmsg((s/usr/lib/python2.7/warnings.pyt_processoptionshs  c Cs[ddl}|jdƒ}t|ƒdkrCtd|fƒ‚nx#t|ƒdkrh|jdƒqFWg|D]}|jƒ^qp\}}}}}t|ƒ}|j|ƒ}t|ƒ}|j|ƒ}|rà|d}n|r;y%t |ƒ}|dkr t ‚nWqAt t fk r7td|fƒ‚qAXnd}t |||||ƒdS( Niÿÿÿÿt:istoo many fields (max 5): %rRt$isinvalid lineno %r( R$tsplittlenR5R1Rt _getactiontescapet _getcategoryR-t ValueErrort OverflowErrorR( R:R$tpartsRR3R R R"R((s/usr/lib/python2.7/warnings.pyR8ps. +      cCsU|s dS|dkrdSx!d D]}|j|ƒr!|Sq!Wtd|fƒ‚dS( NR!tallR RR"R#Rsinvalid action: %r(sdefaultsalwayssignoresmodulesonceserror(t startswithR5(R3ta((s/usr/lib/python2.7/warnings.pyRA‹s  cCs/ddl}|stS|jd|ƒrbyt|ƒ}Wqtk r^td|fƒ‚qXn¤|jdƒ}|| }||d}yt|dd|gƒ}Wn$t k rËtd|fƒ‚nXyt ||ƒ}Wn$t k rtd|fƒ‚nXt |tƒs+td|fƒ‚n|S(Niÿÿÿÿs^[a-zA-Z0-9_]+$sunknown warning category: %rt.isinvalid module name: %rsinvalid warning category: %r( R$R,tmatchtevalt NameErrorR5trfindt __import__R t ImportErrortgetattrtAttributeErrorR+(R R$tcattiR"tklasstm((s/usr/lib/python2.7/warnings.pyRC•s,     c Csgt|tƒr|j}n|d kr0t}nt|tƒsEt‚ytj|ƒ}Wn t k rztj }d}nX|j }|j }d|kr¦|d}nd}|j dƒ}|rì|jƒ}|jd ƒr5|d }q5nI|dkr&ytjd }Wq&tk r"d}q&Xn|s5|}n|jd iƒ} t|||||| |ƒd S( s:Issue a warning, or maybe ignore it or raise an exception.iRst__file__s.pycs.pyoiÿÿÿÿt__main__it__warningregistry__N(s.pycs.pyo(R&R,t __class__R t UserWarningR+R%Rt _getframeRDt__dict__t f_globalstf_linenotgettlowertendswithtargvRRt setdefaultR( R R RtcallertglobalsRR"Rtfnltregistry((s/usr/lib/python2.7/warnings.pyR°s<               cCsbt|ƒ}|dkrJ|p!d}|djƒdkrJ|d }qJn|dkr_i}nt|tƒr†t|ƒ}|j}n|}||ƒ}|||f}|j|ƒrºdSxŠtD]|} | \} } } } }| dks÷| j |ƒrÁt || ƒrÁ| dks!| j |ƒrÁ|dks9||krÁPqÁqÁWt } | dkrad||iýÿÿÿs.pyiRiRR#R R"R!s1Unrecognized action (%r) in warnings.filters: %s(R-R RaR&R,tstrRZR`R0RKR+t defaultactionRtgetlinest onceregistryt RuntimeErrorR(R R RRR"Rhtmodule_globalsttexttkeyR4R3R;RStmodtlntoncekeytaltkey((s/usr/lib/python2.7/warnings.pyRØsb                       tWarningMessagecBs,eZdZd Zd d d„Zd„ZRS( s0Holds the result of a single showwarning() call.R R RRRRc CsMtƒ}x%|jD]}t||||ƒqW|r@|jnd|_dS(N(tlocalst_WARNING_DETAILStsetattrRR t_category_name( tselfR R RRRRt local_valuestattr((s/usr/lib/python2.7/warnings.pyt__init__!s cCs&d|j|j|j|j|jfS(NsD{message : %r, category : %r, filename : %r, lineno : %s, line : %r}(R RyRRR(Rz((s/usr/lib/python2.7/warnings.pyt__str__(s (smessagescategorysfilenameslinenosfileslineN(RR6R7RwR R}R~(((s/usr/lib/python2.7/warnings.pyRus  cBs8eZdZedd„Zd„Zd„Zd„ZRS(sA context manager that copies and restores the warnings filter upon exiting the context. The 'record' argument specifies whether warnings should be captured by a custom implementation of warnings.showwarning() and be appended to a list returned by the context manager. Otherwise None is returned by the context manager. The objects appended to the list are arguments whose attributes mirror the arguments to showwarning(). The 'module' argument is to specify an alternative module to the module named 'warnings' and imported under that name. This argument is only useful when testing the warnings module itself. cCs8||_|dkr"tjdn||_t|_dS(sêSpecify whether to record warnings and if an alternative module should be used other than sys.modules['warnings']. For compatibility with Python 3.0, please consider all arguments to be keyword-only. twarningsN(t_recordR Rtmodulest_moduletFalset_entered(RztrecordR"((s/usr/lib/python2.7/warnings.pyR}?s "cCsrg}|jr|jdƒn|jtjdk rL|jd|jƒnt|ƒj}d|dj|ƒfS(Ns record=TrueRs module=%rs%s(%s)s, (R€R1R‚RRR(Rtjoin(RzR9tname((s/usr/lib/python2.7/warnings.pyt__repr__Ks cs‰|jrtd|ƒ‚nt|_|jj|_|j|j_|jj|_|jrg‰‡fd†}||j_ˆSdSdS(NsCannot enter %r twicecsˆjt||ŽƒdS(N(R1Ru(R9tkwargs(tlog(s/usr/lib/python2.7/warnings.pyR]s( R„RmtTrueR‚R0t_filtersRt _showwarningR€R (RzR((RŠs/usr/lib/python2.7/warnings.pyt __enter__Ts    cGs>|jstd|ƒ‚n|j|j_|j|j_dS(Ns%Cannot exit %r without entering first(R„RmRŒR‚R0RR(Rztexc_info((s/usr/lib/python2.7/warnings.pyt__exit__ds N( RR6R7RƒR R}RˆRŽR(((s/usr/lib/python2.7/warnings.pyR.s  (R0tdefault_actiont once_registryRRR!RR RR1(0R7RRR)t__all__R RRRRR,RRRt ExceptionR5R<R8RARCRRtobjectRuRRƒt_warnings_defaultst _warningsR0R‘R’RjRlR‹RPt warnoptionst ImportWarningtPendingDeprecationWarningtsilenceR tflagstdivision_warningR1R tclst bytes_warningt bytes_actiont BytesWarning(((s/usr/lib/python2.7/warnings.pyts`              )AE(