403Webshell
Server IP : 209.205.66.10  /  Your IP : 216.73.216.173
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ammon 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
User :  ( 1006)
PHP Version : 8.5.8
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/system-config-printer/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/system-config-printer/__pycache__/PhysicalDevice.cpython-310.pyc
o

3�b�@�	@sddlZddlZejejejd�ddlZddlZddlZddl	Z	ddl
TGdd�d�Zedkr�ddl
Z
e
��Ze�e�ZgZe��D]"Zee�Zze�e�Zee�e�WqCeyee�e�YqCwe��eD]Zee���e��ZeD]Zede�qzqldSdS)�N)�domain�	localedir)�*c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�PhysicalDevicecCs:d|_d|_d|_d|_d|_|�|�i|_tj|_	dS)NF)
�devices�
_network_host�dnssd_hostname�_cupsserver�firsturi�
add_device�
_user_data�	ppdippstr�backends�
_ppdippstr)�self�device�r�2/usr/share/system-config-printer/PhysicalDevice.py�__init__s
zPhysicalDevice.__init__cCsft|d�r*|j�dd�}|j�dd�}|dks |���|���r#|}n
d||f}n|j}tj�|�S)N�id_dict�MFG��MDL�%s %s)	�hasattrr�get�lower�
startswith�make_and_model�cupshelpers�ppds�ppdMakeModelSplit)rr�mfg�mdlrrrr�
_canonical_id)s
zPhysicalDevice._canonical_idcCs0|durdSd|vrd|vr|dkr|dS|S)N�.�:�	localhostz.localr)r�hostnamerrr�_add_dot_local_if_needed7sz'PhysicalDevice._add_dot_local_if_neededc	Csfztj|dtjd�ddd}W|Sztj|dtjd�ddd}WY|Sd}YY|S)Nr)�family�)�socket�getaddrinfo�AF_INET�AF_INET6)rr(�addressrrr�_get_address@s4����������zPhysicalDevice._get_addressc
CsLd}d}d}tj�|�\}}|dks|dkrUd}|�d�r)tj�|dd��\}}|durS|�d�r9|dd�}n4|�d�rE|dd�}n(|�d	�rQ|dd�}nd
Sd
S|dks]|dkr_d
Stj�|�\}}|durmd
S|rwtj�|�\}}|r�d}	z|�|�}	|	r�|	}WnYn|r�z|�|�}Wnd}Y|�|�|�|�fS)
N�hp�hpfaxz/net/�zip=�z	hostname=�	zzc=)NN�dnssd�mdns)	�urllib�parse�	splittyper�
splitquery�	splithost�	splitportr1r))
r�uri�hostport�host�	dnssdhost�scheme�rest�ipparam�port�iprrr�_get_host_from_uriLsR




��z!PhysicalDevice._get_host_from_uricCs|js|jrm|�|j�\}}t|d�r|�|j�}t|d�r(|dur(|�|j�}|dur0|dusj|r:|jr:||jksX|rD|jrD||jksX|rN|jrN||jksX|rj|jrj||jkrj|dura|jdusj|durl|jdurlt�nQ|�	|�\}}|j
dur�||_||_|�
�|_|�
�|_|j�dd�|_g|_
n)dd�}||j|�|_||j|�|_|j�dd�}|dkr�|jdkr�||jkr�t�|jdkr�|j�dd�|_|j�d	�r�|j�d
�dks�|j�d�s�|j�d
�r�|j�d�r�d|_n|jr�dS|j
D]}|j|jk�rdSq�|j�s|j|_|j
�|�|j
��|j�r|j�s4|jdk�r4|�|j�\|_}|�r4||_t|d��rL|jdu�rL|j}	|	�rL|�|	�|_t|d��rd|jdu�rd|j}
|
�rd|�|
�|_|j�r~|jdu�r~z|�|
�|_Wnd|_Ytd|jt|�f�dS)Nr0r(�SNrcSs dd�}||�||�kr|S|S)NcSs:|��}d}tt|��D]}||||kr|d7}q|S)Nr�)r�range�len)�s�l�n�irrr�count_lower�s�z>PhysicalDevice.add_device.<locals>.nicest.<locals>.count_lowerr)�a�brQrrr�nicest�sz)PhysicalDevice.add_device.<locals>.nicestr,z:9100�ipp:�
/printers/����dnssd:�mdns:�/cupsT�networkz&Device %s added to physical device: %s) rrrHr?rr)r0r(�
ValueErrorr$rr"r#r�	mfg_lower�	mdl_lowerrr�sn�type�replacer�find�endswithr	r
�append�sort�device_classr1�
debugprint�repr)rrrArBr"r#rTr_�dr0r(rrrr~s�
��
��
��
��
�




�
�
�
�

�
�zPhysicalDevice.add_devicecCs|jS�N)r�rrrr�get_devices�szPhysicalDevice.get_devicescCs�|jdj�d�r|jdj�d�dks/|jdj�d�s&|jdj�d�r^|jdj�d�r^|js8d|j}nI|jrC|j�d	�dkrId|j}n8|j|jkrXd
|j|jf}n)d|j}n#|jdksn|jdkry|j�d
�ry|j	�
|jdj�}nd|j|jf}|jr�t|j�dks�|jr�t|j�dkr�|jdj�d�s�|jdj�d�r�|jdj�d�s�|jr�|�|j�dkr�|jr�|�|j�dkr�|js�|d|j7}|S|js�|d|j7}|S|d|j|jf7}|St|j
�dkr�|d|j
7}|S)NrrUrVrWrXrYrZz%sr&z%s (%s)r�HP�Faxrz (%s)z	 (%s, %s))rr?rrbrcrrr"r#rr�inforLr_)rrorrr�get_info�s\���
���������zPhysicalDevice.get_infocCs||j|<dSrj)r)r�key�valuerrr�set_dataszPhysicalDevice.set_datacCs|j�|�Srj)rr)rrqrrr�get_data�zPhysicalDevice.get_datacCsd|��S)Nz(description: %s))�__repr__rkrrr�__str__ruzPhysicalDevice.__str__cCs d|j|j|j|j|j|jfS)Nz3<PhysicalDevice.PhysicalDevice (%s,%s,%s,%s,%s,%s)>)r"r#r_rrr
rkrrrrvs
��zPhysicalDevice.__repr__c
CsLt|�t|�kr
dS|jrt|j�dkr2|jrt|j�dkr2|jr(t|j�dkr2|jr�t|j�dks�|jrLt|j�dkrL|jrLt|j�dkrL|j|jks�|jrft|j�dkrf|jrft|j�dkrf|j|jks�|jr�t|j�dkr�|jr�t|j�dkr�|j|jks�|jr�t|j�dkr�|jr�t|j�dkr�|j|jks�dS|��}|r�dd�|jD�}|D]
}|j|vr�dSq�|jdkr�|jdks�|jdkr�|jdkr�|jdkr�|jdkr�|jd|jdkSdSdd�}||�\}}||�\}}	||kr�dS|d	k�r|j	dk�r|j	|j	k�rdS||	k�rdS|j	dk�s|j	dk�r dS|j	|j	kS)
NFrcS�g|]}|j�qSr�r?��.0�xrrr�
<listcomp>7�z)PhysicalDevice.__eq__.<locals>.<listcomp>TrcS�`|jdks|j���|j���r|j}nd|j|jf}tj�|�\}}tj�|�tj�|�fS�Nrr�r"r#rrrr r!�	normalize��devrr"r#rrr�split_make_and_modelF� 

�z3PhysicalDevice.__eq__.<locals>.split_make_and_modelr2)
r`rrLrrlrr?r"r#r_�
r�other�devs�urisr�r��our_mfg�our_mdl�	other_mfg�	other_mdlrrr�__eq__s������������
�	$
zPhysicalDevice.__eq__c
Cs�t|�t|�kr
dS||krdS|j|jkr*|jdurdS|jdur$dS|j|jkS|j|jkrD|jdur7dS|jdur>dS|j|jkS|��}|r_dd�|jD�}|D]
}|j|vr^dSqT|jdkri|jdkss|jdkr�|jdkr�|jdkr�|jdkr�|jd|jdkS|jdko�|jdkSdd�}||�\}}||�\}}	||kr�||kS||	kr�||	kS|jdks�|jdkr�dS|j|jkS)	NFTcSrxrryrzrrrr}{r~z)PhysicalDevice.__lt__.<locals>.<listcomp>rrcSrr�r�r�rrrr��r�z3PhysicalDevice.__lt__.<locals>.split_make_and_model)	r`rrrlrr?r"r#r_r�rrr�__lt__`sL




�	zPhysicalDevice.__lt__N)�__name__�
__module__�__qualname__rr$r)r1rHrrlrprsrtrwrvr�r�rrrrrs
	2d+Br�__main__� )�config�gettext�install�PACKAGErr�urllib.parser9r
r,�debugrr��authconn�
Connection�c�
getDevicesr�physicaldevices�valuesr�physicaldevice�indexrPrr\rdre�printrprlrrrr�<module>sD

���

Youez - 2016 - github.com/yon3zu
LinuXploit