
    Hfm                     `    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 d dlm	Z	  G d de
      Zy)	    )GtkN)TimedOperation   )*)reducec                   $    e Zd Zd Zd Zd Zd Zy)PrinterStateReasonsc                 z   t         j                  | |d       | j                  t        d      t        d            }t	        j
                         | _        | j                  j                  dd       | j                  j                  d       |j                  | j                  ddd       |j                  ||        y )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  !$5"6"# %2 #34 YY\


  !Q'

  $'UE15t,    c                 B   | j                   }	 |j                  d   }| j                   j                         }t	        j
                  d       t        t        j                  |      | _        | j                  j                         }t        |j                  |f|      | _        | j                  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&                  |||      }|j)                         \  }}|j+                         }|t$        j&                  j,                  k(  r|
j/                  |       r|t$        j&                  j0                  k(  s|j/                  |        |
r&|t        d      dz   z  }|t3        d |
      z  }|dz  }|r!|t        d      dz   z  }|t3        d |      z  }| j4                  j7                  |       |dk(  rt9        |
      dk(  rt9        |      dk(  ryd|j                  v r9|j                  d   | j                   k(  r|j                  d	   | j"                  k(  ryy# t        $ r Y yw xY w)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   ,,	"**<8E $$//2 $//&AGGKKN !"8"8(-x)/1 ww{{~((+45A=>NNDFND!"9:#$+"4!5*/ ""$( 
	=F''EA#$#4#4#7 UKKKNE//555%,,k:+11999'..<
	= !A01D88DF57LMMDFND"A23d::DF57NOOD

T"R&'1,()Q. #n&<&<<&&'>?""#&&'>?""#C  		s   J 	JJc                 P    | 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                   j                          y )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	      s    
-EN?r   r	   )gi.repositoryr   r/   r5   r;   timedopsr   base	functoolsr   r   r	   r%   r   r   <module>r`      s*   .     #  \( \r   