| 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 : |
o
3�b�@ � @ s d dl Z d dlZeje je jd� d dlZd dlZd dlZd dl Z d dl
T G dd� d�Zedkr�d dl
Z
e
�� Ze�e�Zg Ze�� D ]"Zee�Zze�e�Zee �e� W qC eye e�e� Y qCw e�� eD ]Zee�� � e�� ZeD ]Zede� qzqldS dS )� N)�domain� localedir)�*c @ s| e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� ZdS )�PhysicalDevicec C s: d | _ d | _d | _d| _d | _| �|� i | _tj| _ d S )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__c C sf t |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)r r �mfg�mdlr r r r �
_canonical_id) s
zPhysicalDevice._canonical_idc C s0 |d u rd S d|vrd|vr|dkr|d S |S )N�.�:� localhostz.localr )r �hostnamer r r �_add_dot_local_if_needed7 s z'PhysicalDevice._add_dot_local_if_neededc C sf zt j|dt jd�d d d }W |S zt j|dt jd�d d d }W Y |S d }Y Y |S )Nr )�family� )�socket�getaddrinfo�AF_INET�AF_INET6)r r( �addressr r r �_get_address@ s4 ����������zPhysicalDevice._get_addressc
C sL d }d }d }t j�|�\}}|dks|dkrUd }|�d�r)t j�|dd � �\}}|d urS|�d�r9|dd � }n4|�d�rE|dd � }n(|�d �rQ|dd � }nd
S d
S |dks]|dkr_d
S t j�|�\}}|d u rmd
S |rwt j�|�\}}|r�d } z| �|�} | r�| }W n Y n|r�z| �|�}W n d }Y | �|�| �|�fS )
N�hp�hpfaxz/net/� zip=� z hostname=� zzc=)NN�dnssd�mdns) �urllib�parse� splittyper �
splitquery� splithost� splitportr1 r) )
r �uri�hostport�host� dnssdhost�scheme�rest�ipparam�port�ipr r r �_get_host_from_uriL sR
��z!PhysicalDevice._get_host_from_uric C s | j s| jrm| �|j�\}}t|d�r| �|j�}t|d�r(|d u r(| �|j�}|d u r0|d u sj|r:| j r:|| j ksX|rD| jrD|| jksX|rN| j rN|| j ksX|rj| jrj|| jkrj|d u ra| jd u sj|d u rl| j d u rlt�nQ| � |�\}}| j
d u r�|| _|| _|�
� | _|�
� | _|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�d S | j
D ]}|j|jk�r d S q�| j�s|j| _| j
�|� | j
�� | j �r| j�s4|jdk�r4| �|j�\| _ }|�r4|| _t|d��rL| j d u �rL|j} | �rL| �| �| _ t|d��rd| jd u �rd|j}
|
�rd| �|
�| _| j�r~| j d u �r~z| �|
�| _ W n d | _ Y td|jt| �f � d S )Nr0 r( �SNr c S s dd� }||�|| �k r|S | S )Nc S s: | � � }d}tt| ��D ]}|| | | kr|d7 }q|S )Nr � )r �range�len)�s�l�n�ir r r �count_lower� s �z>PhysicalDevice.add_device.<locals>.nicest.<locals>.count_lowerr )�a�brQ r r r �nicest� s z)PhysicalDevice.add_device.<locals>.nicestr, z:9100�ipp:�
/printers/����dnssd:�mdns:�/cupsT�networkz&Device %s added to physical device: %s) r r rH r? r r) r0 r( �
ValueErrorr$ r r"