JVc@sddlZddlmZddlmZddlZddlZddlZddlZddl Z ddl Z dZ dZ de fdYZdS( iNi(t_thread(t binary_typecCs|S(N((ts((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt printable&stinfotLoggercBseZdZdZdZdZdZdZdZdZ dZ dZ dZ i ed6ed 6ed 6ed 6ed 6ed 6ed6e d6e d6e d6e d6ed6ed6Z dZdZdZdZdZdZiZdedZ%d?Z&d@Z'e'Z(dAZ)e)Z*dBZ+e+Z,dCZ-dDZ.dEdFZ/d2dGZ0e0Z1dHZ2e2Z3dIZ4e4Z5dJZ6dKZ7dLZ8dMZ9dNZ:dOZ;dPZ<dQZ=dRZ>dSZ?dTZ@dUe dVZAe dWZBdXZCe dYdZd[ZDd\ZERS(^ici(iii iiitnonetfatatfatalterroterrortwarnRtdebugtdbgtdebug2tdbg2tdebug3tdbg3istresetstboldsttealst turquoisestfusciastpurplestbluestdarkbluestgreenst darkgreenstyellowstbrownstredstdarkredtcCse||_||_d|_||_tj|_||_t j |_ t |_ |j|dS(N(t_wheret _log_filetNonet _log_file_ft _log_datetimeRt allocate_lockt_locktmoduletostgetpidtpidtTruetfmtt set_level(tselfR(tleveltwheret log_datetimetlog_file((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt__init__js      cCst|trm|j}|ttjjkrUtjj|tj|_ t S|j d|t Snet|t rtj|kotjknr||_ qtj|_ |j d|t Snt SdS(NsInvalid logging level: %ssInvalid logging level: %d(t isinstancetstrtlowertlistRtlogging_levelstkeystgettLOG_LEVEL_INFOt_levelR,R tFalsetinttLOG_LEVEL_DEBUG3tLOG_LEVEL_FATALtLOG_LEVEL_ERROR(R/R0((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyR.xs "  cCs||_tj|_dS(N(R(R)R*R+(R/R(((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt set_modules cCs t|_dS(N(R>R-(R/((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt no_formattingscCsX||_yt|jd|_Wn/tk rSd|_d|_tj|_nXdS(Ntw(R"topenR$tIOErrorR#Rt LOG_TO_SCREENR!(R/R3((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt set_logfiles    cCs|jS(N(R"(R/((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt get_logfilescCs ||_dS(N(R!(R/R1((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt set_wherescCs|jS(N(R!(R/((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt get_wherescCs|jS(N(R=(R/((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt get_levelscCs|jtjkS(N(R=RR@(R/((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pytis_debugscCs|j|kr|jtjtjfkrz|jj|tjkrUtj }n tj }y|j |Wn't k r|j |j dnX|r|j dn|jWd|jjXqndS(Nsutf-8s (R=R!RtLOG_TO_CONSOLEtLOG_TO_CONSOLE_AND_FILER'tacquiretLOG_LEVEL_WARNtsyststderrtstdouttwritetUnicodeEncodeErrortencodetflushtrelease(R/tmessageR0tnewlinetout((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pytlogs    cCsd|jdk r`z=|jj|jj|jdd|jjdWd|jjXndS(NsR s (R$R#R'RQRVtreplaceRZ(R/R[((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt log_to_files  cCsCz.|jjtjjd|j|fWd|jjXdS(Ns%s: %s (R'RQRSRTRVR(RZ(R/R[((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRTs !cCs|jtjkrd|j|j|f}|j|j|dtj|jdk r|j tj tj fkr|j |qndS(Ns%s[%d]: debug: %sR( R=RtLOG_LEVEL_DEBUGR(R+R^tcolorR"R#R!t LOG_TO_FILERPR`(R/R[ttxt((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyR s cCs|jtjkrd|j|j|f}|j|j|dtj|jdk r|j tj tj fkr|j |qndS(Ns%s[%d]: debug2: %sR( R=RtLOG_LEVEL_DEBUG2R(R+R^RbR"R#R!RcRPR`(R/R[Rd((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRs cCs|jtjkrd|j|j|f}|j|j|dtj|jdk r|j tj tj fkr|j |qndS(Ns%s[%d]: debug3: %sR( R=RR@R(R+R^RbR"R#R!RcRPR`(R/R[Rd((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRs cCs|jtjkrd|j|j|f}|j|j|dtj|j|j|dtj|jdk r|j tj tj fkr|j ||j|j|f|j |qndS(Ns%s[%d]: debug: %s:R( R=RRaR(R+R^RbR"R#R!RcRPR`(R/ttitletblocktline((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt debug_blocks sa !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ic Cs|jtjkr|rat|trfy|jd}Wqfttfk rb|jd}qfXnd|d|!}}x|r]djd|djg|D]}dt |^qd|ddt |djg|D]}d |f|tj k^qg}|j |j d |j|j|fd tj||7}||||!}q}Wq|j |j d |j|jd fd tjndS( Nsutf-8slatin-1it s%04x: s%02xiR t.s%s[%d]: debug: %sRs0000: (no data)(R=RRaR5RtdecodetUnicodeDecodeErrorRWtjointordtlenRR^RbR(R+(R/tdatatwidthtindexRhtdtiRd((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pytlog_datas" 6T(  (cCsy|jtjkru|j|tj|jdk ru|jtjtjfkru|j d|j |j |fqundS(Ns%s[%d]: info: :%s( R=RR<R^R"R#R!RcRPR`R(R+(R/R[((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyR(s cCs|jtjkrd|}|j|j|dtjtjtjd|j|j|f|j dk r|j tj tj fkr|j|qndS(Ns warning: %sRs %s[%d]: %s(R=RRRR^Rbtsyslogt LOG_WARNINGR(R+R"R#R!RcRPR`(R/R[Rd((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyR 3s &cCs||jtjkrxd|}|j|j|dtj|jdk rx|jtjtj fkrx|j |qxndS(Nsnote: %sR( R=RRRR^RbR"R#R!RcRPR`(R/R[Rd((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pytnoteAs  cCs|jtjkrd|}|j|j|dtjtjtjd|j|j|f|j dk r|j tj tj fkr|j|qndS(Ns error: %sRs %s[%d]: %s(R=RRBR^RbRwt LOG_ALERTR(R+R"R#R!RcRPR`(R/R[Rd((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyR Ms &cCs|jtjkrd|j}|j|j|dtjtjtjd|j|j |f|j dk r|j tj tjfkr|j|qndS(Nsfatal error: :%sRs %s[%d]: %s(R=RRAR(R^RbRaRwRzR+R"R#R!RcRPR`(R/R[Rd((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRYs &cCsptj\}}}d}tj|tj||}|ddj|d |df}|j|dS(NsTraceback (innermost last): s%-20s %sR i(RStexc_infot tracebackt format_tbtformat_exception_onlyRnR(R/ttyptvaluettbtbodytlst((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt exceptiones %cCs9|jr5djtjj|d|tjdgS|S(NR RR(R-RnRtcodesR;(R/ttextRb((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRbms ,cCs|j|dS(NR(Rb(R/R((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRsscCs|j|dS(NR(Rb(R/R((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRwscCs|j|dS(NR(Rb(R/R((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyR{scCs|j|dS(NR(Rb(R/R((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRscCs|j|dS(NR(Rb(R/R((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRscCs|j|dS(NR(Rb(R/R((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRscCs|j|dS(NR(Rb(R/R((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRsidc Cs|jrd}d}x(t|D]}|d}|d}q%Wyltjd|d}tjd|d} tjd|} |j|||tt||}x| D]} | j| dt| kr|t| }n|t| d|krS|jd|t|jdt||d|tt||d}n|jd|t|d}|j| |t|t| }qW|j| d|tWqtk r|j||d|tqXndS( NR iRjis(\<\W{0,1}\w+) ?s ([?|\]\]]*\>)s (\S*?\=".*?")s ( tstriptrangetretfindallR^R>RpRst IndexError( R/t indent_levelRhRrR0tstartt number_charstlt elem_startt elem_finishedtattrstattr((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt _pprint_lines4   %  cCsA|jr=|jd||t|j|d|tndS(NRjs (RR^R>(R/RRhR0((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt_pprint_elem_contents c Cs]|jd}|jdd}|||!}|jd}||jdkr\d}n|dko|jd|||jdk}|jddk}|jddk}|r |jd dk} | r/|jd }|dkr |td }q q/n"|r/|jd td }n|p8|} | pD|} |||dk| fS( Ntit/s"iss?>(tfindtrfindRp( R/Rqt start_postend_postretvaltstoppertsinglet ignore_excltignore_questiontcdatatignoret no_indent((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyt_get_next_elems.  2    iiPc Cs|}d}|j|\}}} } x|dkr|dkr|j||| jd|||}| r| r||}n|j|||| d|d||||}| r| r||}n|sPq*|j|\}}} } q*WdS(sQPretty print xml. Use indent to select indentation level. Default is 4 iiR0RrN(RRRR( R/txmlR0tindentRrRqRRRtis_stopR((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyRs"       cCs|jtj|dS(N(Rtpprinttpformat(R/Rq((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyR#sN(Ft__name__t __module__tLOG_LEVEL_NONERARBRRR<R@tLOG_LEVEL_DBG3RetLOG_LEVEL_DBG2Rat LOG_LEVEL_DBGR9tLOG_TO_DEV_NULLRORHRcRPt LOG_TO_BOTHRR>R#R4R.RCRDRIRJRKRLRMRNtpropertyR0R,R^R`RTR R RRRRRiRRvRt informationR twarningRytnoticeR RRRbRRRRRRRRRRRR(((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyR,s                                            #, "(RSt sixext.movesRtsixextRRwR|tstringR)RRRtDEFAULT_LOG_LEVELtobjectR(((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/logger.pyts