
    Kcm                     f    d dl mZ d dlZd dlZd dlZd dlmZ ddlT d dlm	Z	  G d de
          ZdS )	    )GtkN)TimedOperation   )*)reducec                   &    e Zd Zd Zd Zd Zd ZdS )PrinterStateReasonsc                    t                               | |d           |                     t          d          t          d                    }t	          j                    | _        | j                            dd           | j                            d           |	                    | j        ddd           |
                    ||            d S )NzPrinter state reasonszStatus Messagesz5There are status messages associated with this queue.r   TF)Question__init__initial_vbox_r   Labellabelset_alignmentset_line_wrap
pack_startnew_page)selftroubleshooterpages      D/usr/share/system-config-printer/troubleshoot/PrinterStateReasons.pyr   zPrinterStateReasons.__init__    s    41HIII  !$5"6"6"# %2 #3 #34 4 Y\\

  !Q'''
  $'''UE1555t,,,,,    c                 `   | j         }	 |j        d         }n# t          $ r Y dS w xY w| j                                         }t	          j        d           t          t          j        |          | _        | j        	                                }t          |j
        |f|          | _        | j        	                                }t          j                    }d}|d         }|r|t          d          |z  z  }|dz  }|d	         }	t          |	          t          k    r|	g}	|| _        |	| _        g }
g }|	D ]}|d
k    r	t%          j        |||          }|                                \  }}|                                }|t$          j        j        k    r|
                    |           u|t$          j        j        k    r|                    |           |
r.|t          d          dz   z  }|t3          d |
          z  }|dz  }|r)|t          d          dz   z  }|t3          d |          z  }| j                            |           |dk    r(t9          |
          dk    rt9          |          dk    rdS d|j        v r.|j        d         | j        k    r|j        d	         | j        k    rdS dS )N
cups_queueF )parent)argsr   printer-state-messagez%The printer's state message is: '%s'.z

printer-state-reasonsnonezErrors are listed below:
c                     | dz   |z   S Nr"    xys     r   <lambda>z-PrinterStateReasons.display.<locals>.<lambda>[       TA r   zWarnings are listed below:c                     | dz   |z   S r$   r%   r&   s     r   r)   z-PrinterStateReasons.display.<locals>.<lambda>`   r*   r   r   T)r   answersKeyError
get_windowcups	setServerr   
ConnectionoprungetPrinterAttributesppdcachePPDCacher   typestrstate_messagestate_reasonsstatereasonStateReasonget_description	get_levelERRORappendWARNINGr   r   set_textlen)r   r   queuer   cdictthe_ppdcachetextr9   state_reasons_listhuman_readable_errorshuman_readable_warningsreasonrtitledescriptionlevels                    r   displayzPrinterStateReasons.display,   s	   ,	"*<8EE 	 	 	55	 $//22 $/&AAAGKKNN !"8(-x)/1 1 1 w{{~~(++45 	A=>>NNDFND!"9:#$$++"4!5*/ ""$( 
	= 
	=F'EEA#$#4#4#7#7 UKKKNNE/555%,,k::::+1999'..<<<  	A011D88DF557LMMMDFND" 	PA233d::DF557NOOOD
T"""R&''1,,())Q..5 #n&<<<&'>?"# #&'>?"# #uts    
%%c                 2    | j         si S | j        | j        dS )N)r   r    )	displayedr9   r:   r   s    r   collect_answerz"PrinterStateReasons.collect_answers   s,    ~ 	I*.*<*.*<? ? 	?r   c                 8    | j                                          d S )N)r2   cancelrT   s    r   cancel_operationz$PrinterStateReasons.cancel_operationz   s    r   N)__name__
__module____qualname__r   rQ   rU   rX   r%   r   r   r	   r	      sT        
- 
- 
-E E EN? ? ?    r   r	   )gi.repositoryr   r/   r5   r;   timedopsr   base	functoolsr   r   r	   r%   r   r   <module>r`      s   .             # # # # # #          \ \ \ \ \( \ \ \ \ \r   