Sindbad~EG File Manager

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

o

�/�a-�@s�ddlZddlZddlZddlZddlTddlmZmZddlm	Z	m
Z
ddlTddlTdZ
dd�Zd	d
�Zdd�Zd
d�Zddd�Zdd�Zddd�ZdS)�N�)�*)�utils�tui)�password�
validationz+http://hplip.sourceforge.net/hplip_web.confc	CsJd}ddddd�}t�dtj�t�dtj�t�dtj�t�dtj�d�}t�dd	�}|r�tjd
||fdddd�\}}|dkr�|��D]]}|D]M}||vr�|d
7}||�|�re||�|��d
�||<nt	�
d|�d|kr�||��dkr�difSd|kr�||dkr�difSnqG|t|�kr�d	|fSqCd	|fS)Nr�)�idVendor�iProduct�bNumInterfaces�bInterfaceClassz"\s*idVendor\s*([0-9a-fx]{1,})\s*.*z"\s*iProduct\s*[0-9a-fx]{1,}\s*(.*)z!\s*bNumInterfaces\s*(\d{1,})\s*.*z"\s*bInterfaceClass\s*(\d{1,})\s*.*�lsusbTz%s -d %s -vF)�passwordObj�pswd_msg�
log_outputrz:TBD... Shouldn't have entered into this condition. key[%s]r	�0x03f0r
)
�re�compile�Ir�which�run�
splitlines�match�group�log�warn�lower�len)	�vid_pid�
result_cnt�param_result�param_search�	lsusb_cmd�sts�out�l�s�r'�&/usr/share/hplip/base/smart_install.py�get_usb_details-s:���r)c	Cs$g}t�dd�}|st�d�|Sznt�|�\}}|dkr't�d|�|WS|��D]R}t�dtj�}|�	|�rv|�	|��
d�}t|�\}}|sJq+t�d|d	|d
|df�|d
dkru|dd
krud|d	�
�vru|�|d	�q+t�d|�q+Wn	ty�Ynw|r�t�|�}|S)Nr
Tz Failed to find the lsusb commandrzFailed to run the %s commandz .*([0-9a-f]{4}:([0-9a-f]{4}))\s*rz/Product['%s'],Interfaces[%s],InterfaceClass[%s]r
rr�1�8�laserjetz-Failed to find vid and pid for USB device[%s])rrr�errorrrrrrrrr)�debugr�appendr�KeyError�
uniqueList)	�smartinstall_dev_listr"r#r$�d�usb_dev_patr�bsts�
usb_paramsr'r'r(� get_smartinstall_enabled_devicesUs:

 (���
r7cCst�}|rdSdS)NTF)r7)�devicesr'r'r(�check_SmartInstall}sr9cCs�d\}}t��st�d�||fSt�t�\}}|dkr:t|�}|�ddd�}|r/d}||fSt�dt�||fSt�dt�||fS)	N)rr�Internet connection not found.r�
SMART_INSTALL�	referencerzSmartInstallDisable-Tool.run�Failed to download %s.)r�check_network_connectionrr-�download_from_network�HPLIP_INFO_SITE�
ConfigBase�get)�url�	file_namer#�
HPLIP_file�
hplip_si_confr'r'r(�get_SmartInstall_tool_info�s

���rGrcCsbt�t|d����}t�d|�|r||krtttdt	�fSt
��}|�||�\}}||||fS)N�rzFile checksum=%sr)
r�get_checksum�open�readrr.�ERROR_FILE_CHECKSUM�queryString�ERROR_CHECKSUM_ERROR�plugin_filer�GPG_Verification�validate)�mode�smart_install_run�smart_install_asc�req_checksum�
calc_checksum�gpg_obj�
digsig_sts�	error_strr'r'r(rQ�srQc
Cst��st�d�tddtt�fSt�t�\}}|dkr:t|�}|�	ddd�}|s:t�dt�t
ddtt
dt�fSt�|�\}}|rTt�d|�t
ddtt
d|�fSt�|d�\}}|rtt�d|d�t
ddtt
d|d�fSt|||�\}}}}	||||	fS)Nr:rrr;rCr=z.asc)rr>rr-�ERROR_NO_NETWORKrMr?r@rArB�ERROR_FAILED_TO_DOWNLOAD_FILErQ)
rRrr#rErF�sourcerSrTrXrYr'r'r(�download�s(
r]�qt4cCs�t�}|st�d�ttt�fSt}tt�}t�\}}	t�|�}
�z*|t	kr�|dkrNzddl
m}WntyDt�
d|
|f�Yn�w|d|
|f�n�t��s`t�
dt�ttt�fWS|rl|rl|�|
dt�nzdd	lm}Wnty�t�
d
�Ynw|d|
dt�}t�d�|��t�r�|�d|�n�|�d
�n�t�
d|
�t�dddgd�\}
}|
r�|dkr�t}tt�}nzt||�\}}}}d}|}|tkr�d}n|ttfvr�t�d�\}
}|
r�|s�t� d�nd}nt|�}|�rBt�!d|�\}}|�st��rt�
d�t�
d|�t}tt�}n,t�"d
�t}d}W||fSW||fSW||fSW||fSW||fSW||fSW||fSW||fSt#�ybt�
d�t� d�Y||fSw)NzNo Smart Install Device found�qt3r)�FailureMessageUIz�Smart Install is enabled in %s device(s).
Auto Smart Install disable is not supported in QT3.
Please refer link '%s' to disable manuallyz�Smart Install is enabled in %s device(s).

Auto Smart Install disable is not supported in QT3.
Please refer link '%s' to disable manuallyz+%s requires GUI support . Is Qt4 installed?r)�QueuesDiagnosez,Unable to load Qt4 support. Is it installed?zStarting GUI loop...zLFailed to disable smart install.
Please refer link '%s' for more informationz$Smart install disabled successfully.z*Smart Install is enabled in %s device(s). zADo you want to download and disable smart install?(y=yes*, n=no):�y�nFTz:Digital Sign verification failed, Do you want to continue?zsh %sz!Failed to disable smart install .z*Please refer link '%s' to disable manuallyz	User exit)$r7rr.�ERROR_NO_SI_DEVICErM�ERROR_FAILED_TO_DISABLE_SIrGr�list_to_string�GUI_MODE�ui.setupformr`�ImportErrorr-�canEnterGUIMode4�__mod__�init�QUEUES_SMART_INSTALL_ENABLED�ui4.queuesconfra�exec_r9�showMessage�showSuccessMessager�enter_choicer]�
ERROR_SUCCESS�ERROR_UNABLE_TO_RECV_KEYS�ERROR_DIGITAL_SIGN_NOT_FOUND�enter_yes_no�sys�exitr�info�KeyboardInterrupt)rR�
ui_toolkit�dialog�appr�dev_list�
return_val�return_error_strrCrD�
printer_namesr`ra�response�valuer#rSrTrY�
disable_sir$r'r'r(�disable�s�


��




�0�G�I�2�&��
�
�r�)r)r^NNN)rw�os.path�osr�grrr�baserr�
base.codes�base.stringsr@r)r7r9rGrQr]r�r'r'r'r(�<module>s"((


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