Sindbad~EG File Manager

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

o

�/�a6�@s�ddlZddlZddlZddlZddlZddlZddlZddlTddlm	Z	ddl
mZmZm
Z
e�dej�Ze�dej�Ze�dej�Ze�d	ej�Ze�d
ej�Ze�dej�Ze�dej�Ze�d
ej�Zddd�Zddd�ZdS)�N�)�*)�utils)�
to_bytes_utf8�
to_unicode�to_string_utf8z"\(\s*x-hp-prod_id\s*=\s*(.*?)\s*\)z\(\s*x-hp-mac\s*=\s*(.*?)\s*\)z#\(\s*x-hp-num_port\s*=\s*(.*?)\s*\)z\(\s*x-hp-ip\s*=\s*(.*?)\s*\)z&\(\s*x-hp-p1\s*=(?:\d\)|\s*(.*?)\s*\))z&\(\s*x-hp-p2\s*=(?:\d\)|\s*(.*?)\s*\))z&\(\s*x-hp-p3\s*=(?:\d\)|\s*(.*?)\s*\))z\(\s*x-hp-hn\s*=\s*(.*?)\s*\)�c
Cs^d}z.t�tjtjtj�}t�tjtj�}|�d�|��d}|��|�d�t�	d|�}Wntj
yFt�
d�|rC|��YdSwz|�tj
tjd�|�tj
tjd�Wnttj
fygYnwz&|�tjtj|�|�tjtjt�|�t�d��|�tjtjd�W|Sty�}zt�
d|�|r�|��WYd}~dSd}~ww)N)z1.2.3.4�8r�Bz
Network errorrz0.0.0.0z,Unable to setup multicast socket for SLP: %s)�socket�AF_INET�
SOCK_DGRAM�IPPROTO_UDP�connect�getsockname�close�setblocking�struct�pack�error�log�
setsockopt�
SOL_SOCKET�SO_REUSEADDR�SO_REUSEPORT�AttributeError�SOL_IP�IP_MULTICAST_TTL�IP_MULTICAST_IF�	inet_aton�IP_MULTICAST_LOOP�	Exception)�ttl�s�x�intf�e�r'�/usr/share/hplip/base/slp.py�createSocketsWithsetOption-sB


��"���r)�
c
Cs�d\}}i}t|�}|siSd�td�t�dt�dd��td�g�}z|�|d||f�Wntj	yG}z
t
�	d	|�WYd}~nd}~ww|}|dk�r�t��}	t�|gg|g|�\}
}}|t��|	8}|
skqJ|�
d
�\}}
t�t
j|dd�z&t�d
|dd��\
}}}}}}}}}}t�d||dd��d��}Wn
tj	y�YqJwt|�}ztt�|��d��}Wn
ttfy�d}Ynw|dkr�d}d|ddddddd�}zt�|��d�|d<Wn
ty�d|d<Yn	w|dd7<|dk�rNzt�|��d�|d<Wnt�yd|d<Yn	w|dd7<|dk�rNzt�|��d�|d<Wnt�yEd|d<Yn	w|dd7<|ddu�rYd|d<|ddu�rdd|d<|ddu�rod|d<zt�|��d�|d<Wnt�y�d|d<Ynwzt�|��d�|d<Wnt�y�d|d<Ynwzt�|��d�|d<Wnt�y�d|d<Ynwzt�|��d�|d<Wnt�y�d|d<Ynw||d<|||
d<t
� d|�|dksO|�!�|S)N)z
224.0.1.60i��z
,enz!Hri��z service:x-hpnp-discover:rz'Unable to send broadcast SLP packet: %si� )�widthz!BBHBBHHHHH�z!%ds��0)�num_devices�	num_ports�
product_id�status_code�device2�device3�note�device1r8r1r5�r6r3�mac�ip�hnr4zFound device: %s)"r)�joinrrr�random�randint�sendtorrr�time�select�recvfrom�update_spinner�log_data�unpack�stripr�int�num_port_pat�search�groupr�
ValueError�p1_pat�p2_pat�p3_pat�prod_pat�mac_pat�ip_pat�hn_pat�debugr)r"�timeout�
mcast_addr�
mcast_port�
found_devicesr#�packetr&�	time_left�
start_time�r�w�data�addr�ver�func�length�flags�dialect�	lang_code�char_encode�recv_xidr4�attr_lengthr$r2�yr'r'r(�detectNetworkDevicesPs�
���
�$��
��
�
������Wrj)r)rr*)�sysrArrBrr>�re�gr/r�sixextrrr�compile�
IGNORECASErPrQrIrRrMrNrOrSr)rjr'r'r'r(�<module>s(
#

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