File: //usr/share/system-config-printer/__pycache__/asyncipp.cpython-39.pyc
a
��z_�h � @ s� d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlZe� d� d dl
Z
d dlT d dlZd dlZej
ejejd� G d d
� d
e j�ZG dd� d�ZG d
d� d�ZG dd� de�Zedkr�ed� G dd� d�Ze� e�� dS )� N)�GObject)�GLib)�Gdk)�Gtkz1.9.60)�*)�domain� localedirc @ sP e Zd Zddd�Zdd� Zdd� Zdd � Zd
d� Zddd
�Zdd� Z dd� Z
dS )�_IPPConnectionThreadNc
C sn t j�| � | �d� || _|| _|| _|| _| | _|| _ || _
|| _t�
d�| _|| _d| _td| � d S )NT� F�+%s)� threading�Thread�__init__� setDaemon�_queue�_conn�host�port�_encryption�_reply_handler�_error_handler�
_auth_handler�queue�Queue�_auth_queue�user�
_destroyed�
debugprint)
�selfZmyqueue�conn�
reply_handler�
error_handler�auth_handlerr r r �
encryption� r$ �,/usr/share/system-config-printer/asyncipp.pyr 0 s
z_IPPConnectionThread.__init__c C s t �d| � d S �Nz-%s��debugr �r r$ r$ r% �__del__C s z_IPPConnectionThread.__del__c C s | j �|� d S �N)r �put�r �passwordr$ r$ r% �
set_auth_infoF s z"_IPPConnectionThread.set_auth_infoc
C s� | j d u rt�� | _ | jd u r(t�� | _| jd u r<t�� | _| jrPt�| j� n
t� � | _t�
| j� z$tj| j | j| jd�}| �
d � W n2 ty� } zd }| �|� W Y d }~n
d }~0 0 td� | j�� | _| j�� }tdt|� � |d u �r| j�� �q�n| j�r| j�� q�d| _|\}}}}}} |dk�r@|| _|dk�rP|| _| dk�r`| | _|dk�r|d | _t�| j� td| j � t�
| j� z6tj| j | j| jd�}td� | j�� | �
d � W q� t�y } z(td � | j�� | �|� W Y d }~q�d }~0 0 q�z`td
| � ||g|�R i |��}
|tjjjk�rb|
i k�rbt�tjd��td� | �
|
� W n@ t�y� } z&td
t|� � | �|� W Y d }~n
d }~0 0 | j�� q�td� | ` | `| `| `| `| `!~t�
d � d S )N)r r r# zAwaiting further instructionsz
Next task: %sFTr zSet user=%s; reconnecting...z...reconnectedz ...failedzCall %s� z
...successz...failure (%s)zThread exiting)"r �cupsZ getServerr ZgetPortr Z
getEncryptionr ZsetUser�getUserZsetPasswordCB2�_auth�
Connection�_reply�RuntimeError�_errorr r �empty�idle�get�reprZ task_doner r r r ZadminGetServerSettings�__call__�IPPError�IPP_NOT_AUTHORIZED� Exceptionr r )r r �e�item�fn�args�kwdsZrhZehZah�resultr$ r$ r% �runI s�
�
�
z_IPPConnectionThread.runc C s d| _ | j�d � d S )NT)r r r, r) r$ r$ r% �stop� s z_IPPConnectionThread.stopc s: � ���fdd�}�j d u r dS t�||� �j�� }|S )Nc s>