3
NZ
                 @   sN   d dl Z ddlT d dlZd dlmZmZ ddlmZ ddlm	Z	 dd	d
Z
dS )    N   )*)PopenPIPE)utils)to_string_utf8   
   c             C   s  i }t jddkr tjd |S tdddgtd}t|j d }x:|j D ],}|j	drN|j
d	}|d
 dkot|d j
ddkrN|d }|d }ytj||dddtj}	|	r`ddddddddd}
||
d< |d jdd|
d< |d j
d}x>|D ]6}|j
dd\}}|dk r||
d< d| |
d< P  qW |
||
d < tjd||
d |
d f  W qN tjk
rz   Y qNX qNW tjdt|  |S )Nzavahi-browse zAvahi-browse is not installedz-kprtz_printer._tcp)stdoutr   =;   ZIPv4   .r      r   0)Znum_devicesZ	num_portsZ
product_idZmacZstatus_codeZdevice2Zdevice3Znoteip   z.localZhn	   z" "ZtyZmdnsz'MFG:Hewlett-Packard;MDL:%s;CLS:PRINTER;Zdevice1zip=%s hn=%s ty=%szFound %d devices)r   Zwhichlogerrorr   r   r   Zcommunicate
splitlines
startswithsplitlensocketZgetaddrinfoZAI_ADDRCONFIGreplacedebugZgaierror)ZttlZtimeoutZfound_devicespoutputlinebitsr   ZportresyZdetailsitemkeyvalue r(   /usr/share/hplip/base/avahi.pydetectNetworkDevices   s@    


"

 
r*   )r   r	   )sysgr   
subprocessr   r   r
   r   Zsixextr   r*   r(   r(   r(   r)   <module>   s   