Sindbad~EG File Manager

Current Path : /usr/share/hplip/base/__pycache__/
Upload File :
Current File : //usr/share/hplip/base/__pycache__/logger.cpython-310.pyc

o

�/�a?H�@spddlZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
dd�ZdZGdd	�d	e
�ZdS)
�N�)�_thread)�binary_typecCs|S�N�)�srr�/usr/share/hplip/base/logger.py�	printable%sr	�infoc@sXeZdZdZdZdZdZdZdZdZ	dZ
dZdZdZ
eeeeeeeeee
e
eed	�
Zd
ZdZdZdZdZdZiZded<d
ed<ded<ded<ded<ded<ded<ded<ded<ded<ded <d!ed"<d#ed$<d%ed&<d'eed(d)fd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Ze ee�Z!dzd?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%e%Z&dGdH�Z'e'Z(dIdJ�Z)e)Z*dKdL�Z+dMZ,d{dOdP�Z-d|dQdR�Z.e.Z/dSdT�Z0e0Z1dUdV�Z2e2Z3dWdX�Z4dYdZ�Z5d[d\�Z6d]d^�Z7d_d`�Z8dadb�Z9dcdd�Z:dedf�Z;dgdh�Z<didj�Z=dkdl�Z>	dmefdndo�Z?efdpdq�Z@drds�ZAedtdufdvdw�ZBdxdy�ZCd)S)}�Logger�c�(���
��r)
�none�fata�fatal�erro�error�warnr
�debug�dbg�debug2�dbg2�debug3�dbg3rz�resetz�boldz�tealz�	turquoisez�fusciaz�purplez�bluez�darkbluez�greenz�	darkgreenz�yellowz�brownz�redz�darkred�FNcCsF||_||_d|_||_t��|_||_t�	�|_
d|_|�|�dS)NT)
�_where�	_log_file�_log_file_f�
_log_datetimer�
allocate_lock�_lock�module�os�getpid�pid�fmt�	set_level)�selfr4�level�where�log_datetime�log_filerrr�__init__is

zLogger.__init__cCs�t|t�r&|��}|ttj���vrtj�|tj�|_	dS|�
d|�dSt|t�rKtj|kr7tj
kr>nn||_	dStj|_	|�
d|�dSdS)NTzInvalid logging level: %sFzInvalid logging level: %d)�
isinstance�str�lower�listr�logging_levels�keys�get�LOG_LEVEL_INFO�_levelr�int�LOG_LEVEL_DEBUG3�LOG_LEVEL_FATAL�LOG_LEVEL_ERROR)r:r;rrrr9ws


zLogger.set_levelcCs||_t��|_dSr)r4r5r6r7)r:r4rrr�
set_module�szLogger.set_modulecCs
d|_dS)NF)r8�r:rrr�
no_formatting��
zLogger.no_formattingcCsD||_z
t|jd�|_WdSty!d|_d|_tj|_YdSw)N�w)r/�openr0�IOErrorr�
LOG_TO_SCREENr.)r:r>rrr�set_logfile�s�zLogger.set_logfilecC�|jSr)r/rNrrr�get_logfile��zLogger.get_logfilecCs
||_dSr�r.)r:r<rrr�	set_where�rPzLogger.set_wherecCrVrrYrNrrr�	get_where�rXzLogger.get_wherecCrVr)rHrNrrr�	get_level�rXzLogger.get_levelcCs|jtjkSr)rHrrJrNrrr�is_debug��zLogger.is_debugTcCs�|j|krf|jtjtjfvrhzQz7|j��|tjkrtj	}ntj
}z|�|�Wnty9|�|�
d��Ynw|rA|�d�|��Wn	tyOYn	wW|j��dSW|j��dS|j��wdSdS)N�utf-8�
)rHr.r�LOG_TO_CONSOLE�LOG_TO_CONSOLE_AND_FILEr3�acquire�LOG_LEVEL_WARN�sys�stderr�stdout�write�UnicodeEncodeError�encode�flushrS�release)r:�messager;�newline�outrrr�log�s0


�
����z
Logger.logcCsV|jdur)z|j��|j�|�dd��|j�d�W|j��dS|j��wdS)N�r-r`)r0r3rcrh�replacerl�r:rmrrr�log_to_file�s

�zLogger.log_to_filecCs>z|j��tj�d|j|f�W|j��dS|j��w)Nz%s: %s
)r3rcrerfrhr4rlrsrrrrf�s
z
Logger.stderrcC�j|jtjkr/d|j|j|f}|�|�|d�tj�|jdur1|jtj	tj
fvr3|�|�dSdSdSdS)N�%s[%d]: debug: %sr%�rHr�LOG_LEVEL_DEBUGr4r7rp�colorr/r.�LOG_TO_FILErbrt�r:rm�txtrrrr��
�zLogger.debugcCru)Nz%s[%d]: debug2: %sr%)rHr�LOG_LEVEL_DEBUG2r4r7rpryr/r.rzrbrtr{rrrr�r}z
Logger.debug2cCru)Nz%s[%d]: debug3: %sr%)rHrrJr4r7rpryr/r.rzrbrtr{rrrr�r}z
Logger.debug3cCs�|jtjkrFd|j|j|f}|�|�|d�tj�|�|�|d�tj�|jdurH|jtj	tj
fvrJ|�||j|j|f�|�|�dSdSdSdS)Nz%s[%d]: debug: %s:r%rw)r:�title�block�linerrr�debug_blocks
�zLogger.debug_blockza !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  �c	Cs|jtjkr�|ryt|t�r%z|�d�}Wnttfy$|�d�}Ynwd|d|�}}|rwd�d|d�dd�|D��d|ddt	|�d	�d
d�|D��g�}|�
|�d|j|j
|fd�tj�||7}||||�}|s0dSdS|�
|�d|j|j
d
fd�tj�dSdS)Nr_zlatin-1r� z%04x: cSsg|]}dt|��qS)z%02x)�ord)�.0�drrr�
<listcomp>sz#Logger.log_data.<locals>.<listcomp>rr-cSsg|]}d|f|tjv�qS)�.)rr	)r��irrrr�srvr%z0000: (no data))rHrrxr@r�decode�UnicodeDecodeErrorri�join�lenrpryr4r7)r:�data�width�indexr�r|rrr�log_datas.
�(���
��zLogger.log_datacCs^|jtjkr)|�|tj�|jdur+|jtjtjfvr-|�d|j	|j
|f�dSdSdSdS)Nz%s[%d]: info: :%s)rHrrGrpr/r.rzrbrtr4r7rsrrrr
)s
�zLogger.infocC�||jtjkr8d|}|�|�|d�tj�t�tjd|j|j|f�|j	dur:|j
tjtjfvr<|�
|�dSdSdSdS)Nzwarning: %sr#�
%s[%d]: %s)rHrrdrpry�syslog�LOG_WARNINGr4r7r/r.rzrbrtr{rrrr4�
�zLogger.warncCs`|jtjkr*d|}|�|�|d�tj�|jdur,|jtjtjfvr.|�	|�dSdSdSdS)Nznote: %sr')
rHrrdrpryr/r.rzrbrtr{rrr�noteBs
�zLogger.notecCr�)Nz	error: %sr+r�)rHrrLrpryr��	LOG_ALERTr4r7r/r.rzrbrtr{rrrrNr�zLogger.errorcCs~|jtjkr9d|j}|�|�|d�tj�t�tjd|j|j	|f�|j
dur;|jtjtj
fvr=|�|�dSdSdSdS)Nzfatal error: :%sr+r�)rHrrKr4rpryrxr�r�r7r/r.rzrbrtr{rrrrZs

�zLogger.fatalcCsXt��\}}}d}t�|�t�||�}|dd�|dd��|df}|�|�dS)NzTraceback (innermost last):
z%-20s %sr-���)re�exc_info�	traceback�	format_tb�format_exception_onlyr�r)r:�typ�value�tb�body�lstrrr�	exceptionfs
"zLogger.exceptioncCs*|jrd�tj�|d�|tjdg�S|S)Nr-r r)r8r�r�codesrF)r:�textryrrrryns zLogger.colorcC�|�|d�S)Nr �ry�r:r�rrrr tr^zLogger.boldcCr�)Nr+r�r�rrrr+xr^z
Logger.redcCr�)Nr'r�r�rrrr'|r^zLogger.greencCr�)Nr$r�r�rrrr$�r^z
Logger.purplecCr�)Nr)r�r�rrrr)�r^z
Logger.yellowcCr�)Nr(r�r�rrrr(�r^zLogger.darkgreencCr�)Nr%r�r�rrrr%�r^zLogger.blue�dcCsn|��r�d}d}t|�D]
}|d}|d}qz�t�d|�d}t�d|�d}	t�d|�}
|�|||d�t||�}|
D]T}|
�|�dt|
�krR|t|	�}|t|�d|kr{|�d	|d�|�dt||�d|d�t||�d}n|�d|d�|d}|�||d�|t|�}q?|�|	d	|d�WdSty�|�||d	|d�YdSwdS)
Nr-rr�rz(\<\W{0,1}\w+) ?z
([?|\]\]]*\>)z
(\S*?\=".*?")Fr`)�strip�range�re�findallrpr�r��
IndexError)r:�indent_levelr�r�r;�start�number_chars�l�
elem_start�
elem_finished�attrs�attrrrr�_pprint_line�s8
��zLogger._pprint_linecCs4|��r|�d||d�|�|d|d�dSdS)Nr�Fr`)r�rp)r:r�r�r;rrr�_pprint_elem_content�s�zLogger._pprint_elem_contentcCs�|�d�}|�d�d}|||�}|�d�}||�d�kr d}|dko1|�d�|||�d�k}|�d�dk}|�d�dk}|r[|�d	�dk}	|	rZ|�d
�}|dkrZ|td
�}n|rf|�d�td�}|pi|}
|
pm|}|||dk|fS)N�<�>r�/�"r�z<!z<?z	<![CDATA[z]]>z?>)�find�rfindr�)r:r��	start_pos�end_pos�retval�stopper�single�ignore_excl�ignore_question�cdata�ignore�	no_indentrrr�_get_next_elem�s2

$
��zLogger._get_next_elem��PcCs�|}d}|�|�\}}}	}
|dkrg|dkri|j||d|���|d�||d�}|	r1|
s1||}|j||d||�||d�|||d�}|	sP|
sP||}|sTdS|�|�\}}}	}
|dkrk|dksdSdSdSdS)zQPretty print xml.
        Use indent to select indentation level. Default is 4   rr�N)r;)r�r;)r�r�r�r�)r:�xmlr;�indentr�r�r�r�r��is_stopr�rrrr�s&� �z
Logger.xmlcCs|�t�|��dSr)r
�pprint�pformat)r:r�rrrr�$sz
Logger.pprint)T)r�)r-)D�__name__�
__module__�__qualname__�LOG_LEVEL_NONErKrLrdrGrJ�LOG_LEVEL_DBG3r~�LOG_LEVEL_DBG2rx�
LOG_LEVEL_DBGrD�LOG_TO_DEV_NULLrarTrzrb�LOG_TO_BOTHr�r?r9rMrOrUrWrZr[r\r]�propertyr;rprtrfrrrrrrr�r	r�r
�informationr�warningr��noticerrr�ryr r+r'r$r)r(r%r�r�r�r�r�rrrrr+s��
�


	

	 ,"r)re�sixext.movesr�sixextrr�r��stringr5r�r�r	�DEFAULT_LOG_LEVEL�objectrrrrr�<module>s

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists