509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
©ft`r(  ã               @   sØ  d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZ	d dl
Z
d dlZ
d dlZd dlZd dlZd dlZd dlZdZe
jZe
jZe
jZe
jZe
jZdZdZdZdZd	d
„ ZG dd„ deƒZee
je
je
je
je
je
jeeeedœZdd„ Zee
je
jdœZ dd„ Z!dd„ Z"d%Z#dd„ Z$G dd„ de
j%j&ƒZ'dd„ Z(dd„ Z)G dd „ d eƒZ*G d!d"„ d"eƒZ+e	j,j-j.ee	j,j-j/ee	j,j-j0ee	j,j-j1ee	j,j-j2ee	j,j-j3ee	j,j-j4eiZ5G d#d$„ d$e	j,j-ƒZ6e6ƒ Z7e	j,j8j9e7ƒ dS )&é    )Úabsolute_import)Úunicode_literalsNéd   é   é   é   é   c                s   dd„ ‰‡ ‡fdd„}|S )zGMethod decorator turning the method into noop on second or later calls.c              _   s   d S )N© )Z_argsZ_kwargsr	   r	   ú/usr/lib/python3.6/logging.pyÚnoop3   s    zonly_once.<locals>.noopc                s"   ˆ | f|ž|Ž t | ˆ jˆƒ d S )N)ÚsetattrÚ__name__)ÚselfÚargsÚkwargs)Úfuncr   r	   r
   Ú	swan_song5   s    zonly_once.<locals>.swan_songr	   )r   r   r	   )r   r   r
   Ú	only_once1   s    r   c               @   s   e Zd Zdd„ Zdd„ ZdS )Ú_MaxLevelFilterc             C   s
   || _ d S )N)Ú	max_level)r   r   r	   r	   r
   Ú__init__;   s    z_MaxLevelFilter.__init__c             C   s   |j | jkrdS dS )Nr   é   )Zlevelnor   )r   Úrecordr	   r	   r
   Úfilter>   s    z_MaxLevelFilter.filterN)r   Ú
__module__Ú__qualname__r   r   r	   r	   r	   r
   r   :   s   r   )r   r   r   é   r   é   r   é   r   é	   é
   c             C   s(   d|   kodkn  st ‚tj| tƒS )Nr   r    )ÚAssertionErrorÚ_VERBOSE_VAL_MAPPINGÚgetÚTRACE)Ú
cfg_errvalr	   r	   r
   Ú_cfg_verbose_val2levelQ   s    r&   )r   r   r   c             C   s*   d|   kodkn  st ‚tj| tjƒS )Nr   r    )r!   Ú_ERR_VAL_MAPPINGr#   ÚloggingÚWARNING)r%   r	   r	   r
   Ú_cfg_err_val2level^   s    r*   c             C   s   | d S )Nz.gzr	   )Únamer	   r	   r
   Úcompression_namerc   s    r,   é€   i   c             C   s\   t | dƒ�>}tj |dƒ�&}x|jtƒ}|s,P |j|ƒ qW W d Q R X W d Q R X tj| ƒ d S )NÚrbÚwb)ÚopenÚgzipÚreadÚ
CHUNK_SIZEÚwriteÚosÚremove)ÚsourceÚdestZsfZwfÚdatar	   r	   r
   Úcompression_rotatorj   s    
"r:   c                   s&   e Zd Zd	‡ fdd„	Zdd„ Z‡  ZS )
ÚMultiprocessRotatingFileHandlerÚar   NFc                s.   t t| ƒj||||||ƒ tjjddƒ| _d S )Nz	/var/log/T)Úsuperr;   r   ÚdnfÚlockZbuild_log_lockÚrotate_lock)r   ÚfilenameÚmodeÚmaxBytesÚbackupCountÚencodingZdelay)Ú	__class__r	   r
   r   v   s    
z(MultiprocessRotatingFileHandler.__init__c             C   s¤   xžyR| j |ƒrD| j�* tj| jƒj}| jƒ  tj| j|ƒ W d Q R X tj	j
| |ƒ d S  tjjtjjfk
r~   tjdƒ Y q tk
rš   | j|ƒ d S X qW d S )Ng{®Gáz„?)ZshouldRolloverr@   r5   ÚstatZbaseFilenameÚst_modeZ
doRolloverÚchmodr(   ZFileHandlerÚemitr>   Ú
exceptionsZProcessLockErrorZThreadLockErrorÚtimeZsleepÚ	ExceptionZhandleError)r   r   rB   r	   r	   r
   rJ   {   s    

z$MultiprocessRotatingFileHandler.emit)r<   r   r   NF)r   r   r   r   rJ   Ú__classcell__r	   r	   )rF   r
   r;   u   s   r;   c             C   sl   t jj| ƒs,tjjt jj| ƒƒ tjj| ƒ t| ||d�}t	j
ddƒ}tj|_|j|ƒ |rht|_t|_|S )N)rC   rD   z%%(asctime)s %(levelname)s %(message)sz%Y-%m-%dT%H:%M:%S%z)r5   ÚpathÚexistsr>   ÚutilZ
ensure_dirÚdirnameZtouchr;   r(   Z	FormatterrL   Z	localtimeZ	converterZsetFormatterr:   Zrotatorr,   Znamer)ÚlogfileÚlog_sizeÚ
log_rotateÚlog_compressÚhandlerZ	formatterr	   r	   r
   Ú_create_filehandler�   s    
rX   c             C   s   | j ttjjƒ d S )N)ÚlogÚINFOr>   ÚconstZ
LOG_MARKER)Zloggerr	   r	   r
   Ú_paint_mark›   s    r\   c               @   sB   e Zd Zdd„ Zedd„ ƒZedd„ ƒZedd„ ƒZdd
d„ZdS )ÚLoggingc             C   sP   d  | _ | _tjtdƒ tjtdƒ tjtdƒ tjtdƒ tjdƒ dt_	d S )NÚDDEBUGÚSUBDEBUGr$   ÚALLTF)
Ústdout_handlerÚstderr_handlerr(   ZaddLevelNamer^   r_   r$   r`   ZcaptureWarningsZraiseExceptions)r   r	   r	   r
   r       s    
zLogging.__init__c             C   st   t jdƒ}|jtƒ t jtjƒ}|jtƒ |jt	t j
ƒƒ |j|ƒ || _t jtjƒ}|jt
ƒ |j|ƒ || _d S )Nr>   )r(   Ú	getLoggerÚsetLevelr$   ZStreamHandlerÚsysÚstdoutrZ   Z	addFilterr   r)   Ú
addHandlerra   Ústderrrb   )r   Ú
logger_dnfrf   rh   r	   r	   r
   Ú	_presetup©   s    





zLogging._presetupc             C   sö   t jdƒ}|jtƒ tjj|tjj	ƒ}t
||||ƒ}|j|ƒ |j|ƒ t jdƒ}	|	j|ƒ t jdƒ}
|
jtƒ tjj|tjjƒ}t
||||ƒ}|
j|ƒ tjjj||tkƒ t jdƒ}d|_|jtƒ tjj|tjjƒ}t
||||ƒ}|j|ƒ d S )Nr>   zpy.warningsÚlibrepozdnf.rpmF)r(   rc   rd   r$   r5   rO   Újoinr>   r[   ZLOGrX   rg   ZLOG_LIBREPOÚlibdnfZrepoZ
LibrepoLogr`   Z	propagater_   ZLOG_RPM)r   Úlogfile_levelÚlogdirrT   rU   rV   ri   rS   rW   Úlogger_warningsZlogger_librepoÚ
logger_rpmr	   r	   r
   Ú_setup_file_loggers»   s(    










zLogging._setup_file_loggersc             C   s    | j ƒ  | j|||||ƒ tjdƒ}|j| jƒ tjdƒ}	|	j| jƒ |	j| jƒ tjdƒ}
| jjtƒ | jjtƒ t	|
ƒ t	|	ƒ | jj|ƒ | jj|ƒ d S )Nzpy.warningszdnf.rpmr>   )
rj   rr   r(   rc   rg   rb   ra   rd   r)   r\   )r   Zverbose_levelZerror_levelrn   ro   rT   rU   rV   rp   rq   ri   r	   r	   r
   Ú_setupÙ   s    


zLogging._setupFc       
      C   sf   t |jƒ}t|jƒ}t |jƒ}|j}|j}|j}|j}	|rL| j	|||||	ƒS | j
|||||||	ƒS d S )N)r&   Z
debuglevelr*   Z
errorlevelZlogfilelevelro   rT   rU   rV   rr   rs   )
r   ZconfZfile_loggers_onlyZverbose_level_rZerror_level_rZlogfile_level_rro   rT   rU   rV   r	   r	   r
   Ú_setup_from_dnf_confñ   s    


zLogging._setup_from_dnf_confN)F)	r   r   r   r   r   rj   rr   rs   rt   r	   r	   r	   r
   r]   Ÿ   s
   	r]   c               @   s   e Zd Zdd„ Zdd„ ZdS )ÚTimerc             C   s   || _ tjƒ | _d S )N)ÚwhatrL   Ústart)r   rv   r	   r	   r
   r     s    zTimer.__init__c             C   s6   t j ƒ | j }d| j|d f }tjdƒjt|ƒ d S )Nztimer: %s: %d msiè  r>   )rL   rw   rv   r(   rc   rY   r^   )r   ZdiffÚmsgr	   r	   r
   Ú__call__  s    zTimer.__call__N)r   r   r   r   ry   r	   r	   r	   r
   ru      s   ru   c                   s$   e Zd Z‡ fdd„Zdd„ Z‡  ZS )ÚLibdnfLoggerCBc                s*   t t| ƒjƒ  tjdƒ| _tjdƒ| _d S )Nr>   rk   )r=   rz   r   r(   rc   Ú_dnf_loggerÚ_librepo_logger)r   )rF   r	   r
   r     s    zLibdnfLoggerCB.__init__c             G   sf   t |ƒdkr|\}}nt |ƒdkr.|\}}}}|tjjjkrP| jjt| |ƒ n| jjt| |ƒ dS )zoLog message.

        source -- integer, defines origin (libdnf, librepo, ...) of message, 0 - unknown
        r   r   N)	Úlenrm   ÚutilsÚLoggerZLOG_SOURCE_LIBREPOr|   rY   Ú_LIBDNF_TO_DNF_LOGLEVEL_MAPPINGr{   )r   r7   r   ÚlevelÚmessagerL   Úpidr	   r	   r
   r4     s    
zLibdnfLoggerCB.write)r   r   r   r   r4   rN   r	   r	   )rF   r
   rz     s   rz   i   ):Z
__future__r   r   Zdnf.exceptionsr>   Z	dnf.constZdnf.lockZdnf.utilZlibdnf.reporm   r(   Zlogging.handlersr5   re   rL   Úwarningsr1   ZSUPERCRITICALZCRITICALZERRORr)   rZ   ÚDEBUGr^   r_   r$   r`   r   Úobjectr   r"   r&   r'   r*   r,   r3   r:   ZhandlersZRotatingFileHandlerr;   rX   r\   r]   ru   r~   r   ZLevel_CRITICALZLevel_ERRORZLevel_WARNINGZLevel_NOTICEZ
Level_INFOZLevel_DEBUGZLevel_TRACEr€   rz   ZlibdnfLoggerCBZLogZ	setLoggerr	   r	   r	   r
   Ú<module>   sv   	

a





