U
    9_
                     @   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 | |d |t |  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|tjs dS ddddddg}| j }tj }d	|d
< |D ]b}|d|g}z2t||d|t	j
t	jt	j
d| _| j \}}	}
W n   Y  dS X |d d ||< qP|| 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stderrpackages_verification)answersosaccessX_OKr
   Z
get_windowenvironcopyr   
subprocessZDEVNULLPIPEop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   d S r$   )r   Zcancelr%   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
   