o ?Og@sL ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z m Z dZ ej Zdad*ddZddZd d Zd d Zd dZddZddZddZedejZddZGdddeZGdddeeZGddde eZ!Gddde"eZ#Gd d!d!eZ$Gd"d#d#e$Z%e%Z&d$d%Z'e dfd&d'Z(d(d)Z)dS)+N)ThreadingTCPServerStreamRequestHandleriF#TcCs ddl}t||jr|}n||}t|dr||n t|}|j||dt |}t zt t ||}t|||Wt dSt w)Nrreadline)encoding) configparser isinstanceZRawConfigParserZ ConfigParserhasattrZ read_fileio text_encodingread_create_formatterslogging _acquireLock_clearExistingHandlers_install_handlers_install_loggers _releaseLock)Zfnamedefaultsdisable_existing_loggersrrcp formattershandlersr5/opt/alt/python310/lib64/python3.10/logging/config.py fileConfig3s       rc Csj |d}|d}t|}|D]!}|d|}zt||}Wqty2t|t||}Yqw|S)N.r)splitpop __import__getattrAttributeError)nameusedfoundnrrr_resolveVs    r%cCs ttj|SN)mapstrstrip)Zalistrrr _strip_spacesds r*c Cs |dd}t|s iS|d}t|}i}|D];}d|}|j|dddd}|j|dddd}|j|d dd d}tj}||d } | rKt| }||||} | ||<q|S) Nrkeys,z formatter_%sformatT)rawfallbackdatefmtstyle%class)lenrr*getr Formatterr%) rZflistrZformZsectnameZfsZdfsZstlc class_namefrrrr gs&    r c Cs` |dd}t|s iS|d}t|}i}g}|D]}|d|}|d}|dd}z t|tt}WnttfyFt |}Ynw|dd } t| tt} |d d } t| tt} || i| } || _ d |vrx|d } | | t|r| ||t |tjjr|d d} t| r|| | f| ||<q|D] \} }| ||q|S)Nrr+r,z handler_%sr3 formatterargs()kwargsz{}leveltarget)r4rr*r5evalvarsr r NameErrorr%r!setLevel setFormatter issubclassr MemoryHandlerappendZ setTarget)rrhlistrZfixupshandsectionklassfmtr<r>hr?r@trrrr}sH           rcCsV tj}|D]"}|jj|}||vr%t|tjs$|tjg|_d|_ q||_ qdS)NT) r rootmanager loggerDictrZ PlaceHolderrDZNOTSETr propagatedisabled)existing child_loggersdisable_existingrPlogloggerrrr_handle_existing_loggerss    rZcCs |dd}|d}tt|}|d|d}tj}|}d|vr-|d}|||jddD]}||q4|d} t | rY| d} t| } | D] } | || qOt|j j } | g} |D]}|d|}|d } |jd d d }t| }| | vr| | d }| d }t |}t | }||kr| |d||kr| | ||d 7}||ks| | d|vr|d}|||jddD]}||q||_d|_|d} t | r| d} t| } | D] } | || qqit| | |dS)Nloggersr+r,rPZ logger_rootr?rz logger_%squalnamerS)r/rr)rlistr*remover rPrDr removeHandlerr4 addHandlerrQrRr+sortZgetint getLoggerindexrHrSrTrZ)rrrWZllistrKrPrXr?rNrIrJrUrVZqnrSrYiprefixedpflen num_existingrrrrsj              rcCs0 tjttjddtjdd=dSr&)r _handlersclearZshutdownZ _handlerListrrrrrs rz^[a-z_][a-z0-9_]*$cCst|}|s td|dS)Nz!Not a valid Python identifier: %rT) IDENTIFIERmatch ValueError)smrrr valid_idents  rpc@s eZdZ dddZddZdS)ConvertingMixinTcCsB|j|}||ur|r|||<t|tttfvr||_||_|Sr&) configuratorconverttypeConvertingDictConvertingListConvertingTupleparentkey)selfryvaluereplaceresultrrrconvert_with_key$s  z ConvertingMixin.convert_with_keycCs0|j|}||urt|tttfvr||_|Sr&)rrrsrtrurvrwrx)rzr{r}rrrrs0s  zConvertingMixin.convertN)T)__name__ __module__ __qualname__r~rsrrrrrq!s  rqc@s*eZdZ ddZdddZdddZdS) rucCt||}|||Sr&)dict __getitem__r~rzryr{rrrrE  zConvertingDict.__getitem__NcCst|||}|||Sr&)rr5r~rzrydefaultr{rrrr5Is zConvertingDict.getcCst|||}|j||ddSNF)r|)rrr~rrrrrMszConvertingDict.popr&)rrrrr5rrrrrruBs  ruc@s eZdZ ddZdddZdS)rvcCrr&)r^rr~rrrrrSrzConvertingList.__getitem__cCst||}||Sr&)r^rrs)rzidxr{rrrrWs  zConvertingList.popN)r)rrrrrrrrrrvQsrvc@eZdZ ddZdS)rwcCst||}|j||ddSr)tuplerr~rrrrr]s zConvertingTuple.__getitem__N)rrrrrrrrrw[s rwc@seZdZ edZedZedZedZedZ dddZ e e Z d d Zd d Zd dZddZddZddZddZdS)BaseConfiguratorz%^(?P[a-z]+)://(?P.*)$z ^\s*(\w+)\s*z^\.\s*(\w+)\s*z^\[\s*(\w+)\s*\]\s*z^\d+$ ext_convert cfg_convert)ZextZcfgcCst||_||j_dSr&)ruconfigrr)rzrrrr__init__vs  zBaseConfigurator.__init__c Cs |d}|d}z-||}|D]"}|d|7}zt||}Wqty5||t||}Yqw|WStyZtdd\}}td||f}|||_ |_ |w)Nrrr]zCannot resolve %r: %s) rrimporterrr ImportErrorsysexc_inform __cause__ __traceback__) rzrnr!r"r#Zfragetbvrrrresolvezs(       zBaseConfigurator.resolvecCs ||Sr&)rrzr{rrrrs zBaseConfigurator.ext_convertcCs |}|j|}|durtd|||d}|j|d}|r}|j|}|r7||d}n1|j|}|rh|d}|j|sP||}nz t |}||}Wn t yg||}Ynw|rs||d}ntd||f|s&|S)NzUnable to convert %rrzUnable to convert %r at %r) WORD_PATTERNrlrmendrgroups DOT_PATTERN INDEX_PATTERN DIGIT_PATTERNint TypeError)rzr{restrodrr$rrrrs:          zBaseConfigurator.cfg_convertcCs t|tst|trt|}||_|St|ts't|tr't|}||_|St|ts?t|tr?t|ds?t|}||_|St|t rj|j |}|rj| }|d}|j |d}|rj|d}t||}||}|S)N_fieldsprefixsuffix)rrurrrrvr^rwrrr(CONVERT_PATTERNrl groupdictvalue_convertersr5r)rzr{rorrZ converterrrrrrss8   zBaseConfigurator.convertcsp d}t|s||}dd}fddD}|di|}|r6|D] \}}t|||q+|S)Nr=rci|] }t|r||qSrrp.0krrr z5BaseConfigurator.configure_custom..r)rcallableritemssetattr)rzrr7propsr>r}r!r{rrrconfigure_customs   z!BaseConfigurator.configure_customcCs t|tr t|}|Sr&)rr^rrrrras_tuples zBaseConfigurator.as_tupleN)rrrrecompilerrrrrr staticmethodrrrrrrrsrrrrrrrbs$     " rc@s\eZdZ ddZddZddZddZd d Zd d ZdddZ dddZ dddZ dS)DictConfiguratorc Cs |j}d|vr td|ddkrtd|d|dd}i}tz |r|d|}|D];}|tjvr?td|ztj|}||}|d d}|rY|t|Wq2t ym} ztd || d} ~ ww|d |} | D] }z | || |d Wqvt y} ztd || d} ~ ww|dd} | rz | | d Wnt y} ztd| d} ~ wwnp|dd } t |d|} | D] }z | | || |<Wqt y} ztd|| d} ~ ww|d|}|D]!}z |||||<Wqt y} ztd|| d} ~ ww|d|}g}t|D]<}z|||}||_|||<Wq$t y`} zdt| jvrN||ntd || WYd} ~ q$d} ~ ww|D]'}z|||}||_|||<Wqct y} ztd || d} ~ wwtj} t| jj}|g}|d |} | D]^}||vr||d}|d}t|}t|}||kr||d||kr||||d7}||ks||z | || |Wqt y} ztd || d} ~ wwt||| |dd} | r:z| | Wn't y+} ztd| d} ~ wwWtdSWtdSWtdSWtdStw)Nversionz$dictionary doesn't specify a versionr]zUnsupported version: %s incrementalFrzNo handler found with name %rr?zUnable to configure handler %rr[TzUnable to configure logger %rrPzUnable to configure root loggerrrz Unable to configure formatter %rfilterszUnable to configure filter %rtarget not configured yetr) rrmrr rr5rirD _checkLevel Exceptionconfigure_loggerconfigure_rootrconfigure_formatterconfigure_filtersortedconfigure_handlerr!r(rrHrPr^rQrRr+rbrdr4r_rZr)rzrrZ EMPTY_DICTrr!handlerZhandler_configr?rr[rPrWrrZdeferredrUrVrerfrgrhrrr configuresD                     x v zDictConfigurator.configurec Cs d|vr<|d}z||}W|Sty;}zdt|vr |d|d<||d<||}WYd}~|Sd}~ww|dd}|dd}|dd}|dd}|sZtj} nt|} d |vrm| ||||d }|S| |||}|S) Nr=z'format'r-rMr0r1r2r3Zvalidate)rrr(rr5r r6r%) rzrfactoryr}terMZdfmtr1cnamer7rrrrs6      z$DictConfigurator.configure_formattercCs2 d|vr ||}|S|dd}t|}|S)Nr=r!r;)rr5r ZFilter)rzrr}r!rrrrs  z!DictConfigurator.configure_filterc CN |D]!}z ||jd|Wqty$}ztd||d}~wwdS)NrzUnable to add filter %r)Z addFilterrrrm)rzZfiltererrr9rrrr add_filterszDictConfigurator.add_filtersc sd t}dd}|r*z |jd|}Wnty)}ztd||d}~wwdd}dd}dvrKd}t|sH||}|}ntd} || } t| tj j rdvrz|jd d} t | tj sy |td | d<Wn>ty}z td d|d}~wwt| tj jrd vr|d d <nt| tj jrd vr|d d <| }dd} fddD} z |di| }Wn'ty}zdt|vr| d| d<|di| }WYd}~nd}~ww|r|||dur|t||r|||| r0| D] \}}t|||q$|S)Nr:rzUnable to set formatter %rr?rr=r3r@rrzUnable to set target handler %rZmailhostZaddressrcrrrrrrrrrz6DictConfigurator.configure_handler..z'stream'streamZstrmr)rrrrrmrrrFr rrGrZHandlerupdaterZ SMTPHandlerrZ SysLogHandlerr(rErDrrrr)rzrZ config_copyr:rr?rr7rrrLZthrr>r}rr!r{rrrrs               z"DictConfigurator.configure_handlerc Cr)NrzUnable to add handler %r)rarrrm)rzrYrrNrrrr add_handlersrzDictConfigurator.add_handlersFcCs |dd}|dur|t||sB|jddD]}||q|dd}|r2||||dd}|rD|||dSdSdS)Nr?rr)r5rDr rrr`rr)rzrYrrr?rNrrrrrcommon_logger_configs     z%DictConfigurator.common_logger_configcCsB t|}||||d|_|dd}|dur||_dSdS)NFrS)r rcrrTr5rS)rzr!rrrYrSrrrrs   z!DictConfigurator.configure_loggercCs t}||||dSr&)r rcr)rzrrrPrrrr"szDictConfigurator.configure_rootN)F) rrrrrrrrrrrrrrrrrs$ ?   rcCs t|dSr&)dictConfigClassrrrrr dictConfig)srcsF Gdddt}Gdddt}Gfdddtj||||S)Nc@r)z#listen..ConfigStreamHandlerc SsP z|j}|d}t|dkrtd|d}|j|}t||kr5|||t|}t||ks$|jjdurA|j|}|dur||d}zddl}| |}t |Wn"t y{t |}zt|Wn t yxtYnwYnw|jjr|jjWdSWdSWdSty}z |jtkrWYd}~dSd}~ww)Nz>Lrzutf-8)Z connectionZrecvr4structZunpackserververifydecodejsonloadsrrr StringIOr traceback print_excreadysetOSErrorerrno RESET_ERROR)rzZconnchunkZslenrrfilerrrrhandleIsJ               z*listen..ConfigStreamHandler.handleN)rrrrrrrrConfigStreamHandlerBs rc@s.eZdZ dZdedddfddZddZdS)z$listen..ConfigSocketReceiverr]Z localhostNcSs>t|||f|td|_td|_||_||_dS)Nrr]) rrr rabortrtimeoutrr)rzZhostportrrrrrrrws z-listen..ConfigSocketReceiver.__init__cSsbddl}d}|s+||jggg|j\}}}|r|t|j}t|r| dS)Nr) selectZsocketfilenorZhandle_requestr rrrZ server_close)rzrrZrdZwrZexrrrserve_until_stoppeds  z8listen..ConfigSocketReceiver.serve_until_stopped)rrrZallow_reuse_addressDEFAULT_LOGGING_CONFIG_PORTrrrrrrConfigSocketReceiverps rcs&eZdZfddZddZZS)zlisten..Servercs4t|||_||_||_||_t|_dSr&) superrrcvrhdlrrr threadingZEventr)rzrrrr)Server __class__rrrs zlisten..Server.__init__cSsZ|j|j|j|j|jd}|jdkr|jd|_|jt|a t | dS)N)rrrrrr]) rrrrrZserver_addressrr r _listenerrr)rzrrrrruns     zlisten..Server.run)rrrrr __classcell__rr)rrrsr)rrrZThread)rrrrrrrlisten.s .rcCs@ tztrdt_daWtdSWtdStw)Nr])r rrrrrrrr stopListenings r)NTN)*rr r Zlogging.handlersrrrrrZ socketserverrrrZ ECONNRESETrrrr%r*r rrZrrrIrkrpobjectrqrrur^rvrrwrrrrrrrrrrsJ  #&W! B z