3
Z
                 @   sD   d dl mZ d dlZddlT d dlZd dlmZ G dd deZdS )    )GtkN   )*)TimedSubprocessc               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
VerifyPackagesc             C   s"   t j| |d |jtj |  d S )NzVerify packages)Question__init__Znew_pager   ZLabel)selftroubleshooter r   ?/usr/share/system-config-printer/troubleshoot/VerifyPackages.pyr      s    zVerifyPackages.__init__c             C   s   i | _ i }d}tj|tjs dS ddddddg}| jj }tjj }d	|d
< xd|D ]\}|d|g}y2t||d|t	j
t	jt	j
d| _| jj \}}	}
W n
   dS |d d ||< qRW || j d< dS )Nz/bin/rpmFZcupsZfoomaticZ
gutenprintZhpijsZhplipzsystem-config-printerCLC_ALLz-VT)parentargsZ	close_fdsenvstdinstdoutstderrr   packages_verification)answersosaccessX_OKr
   Z
get_windowenvironcopyr   
subprocessZDEVNULLPIPEopZrun)r	   r   Zpackage_managerZpackagesr   Znew_environpackageZverification_argsZverif_stdoutZverif_stderrresultr   r   r   display"   s<    




zVerifyPackages.displayc             C   s   | j S )N)r   )r	   r   r   r   collect_answerH   s    zVerifyPackages.collect_answerc             C   s   | j j  d S )N)r   Zcancel)r	   r   r   r   cancel_operationK   s    zVerifyPackages.cancel_operationN)__name__
__module____qualname__r   r"   r#   r$   r   r   r   r   r      s   &r   )	Zgi.repositoryr   r   baser   Ztimedopsr   r   r   r   r   r   r   <module>   s
   