
    KcR                     x    d dl Z d dlZd dlZd dlZ ej        ej        ej                    G d d          ZdS )    N)domain	localedirc                   h    e Zd ZdZdZdZededediZddZd	 Zd
 Z	d Z
d Zd Zd Zd Zd Zd ZdS )StateReason         zdialog-informationzdialog-warningzdialog-errorNc                     || _         || _        d | _        d | _        d | _        |r|                    || j                   d S d S N)printerreasonlevelcanonical_reason_ppd	fetch_ppd_got_ppd)selfr   r   ppdcaches       //usr/share/system-config-printer/statereason.py__init__zStateReason.__init__'   sV    
 $	 	877777	8 	8    c                     || _         d S r   )r   )r   nameresultexcs       r   r   zStateReason._got_ppd0   s    			r   c                     | j         S r   )r   r   s    r   get_printerzStateReason.get_printer3   s
    |r   c                     | j         | j         S | j                            d          s	| j        dv r| j        | _         n3| j                            d          r| j        | _         n| j        | _         | j         S )Nz-report)connecting-to-devicezcups-ipp-missing-cancel-jobz#cups-ipp-missing-get-job-attributesz'cups-ipp-missing-get-printer-attributeszcups-ipp-missing-job-historyzcups-ipp-missing-job-idzcups-ipp-missing-job-statez%cups-ipp-missing-operations-supportedzcups-ipp-missing-print-jobz*cups-ipp-missing-printer-is-accepting-jobsz&cups-ipp-missing-printer-state-reasonszcups-ipp-missing-send-documentzcups-ipp-missing-validate-jobzcups-ipp-wrong-http-version-warning)r   r   endswithREPORTWARNINGERRORr   s    r   	get_levelzStateReason.get_level6   s    :!:K  ),, 	$K ; ; ; DJJ[!!:.. 	$DJJDJzr   c                    | j         r| j         S |                                 }| j        }|| j        k    r |                    d          r|d d         }n*|| j        k    r|                    d          r
|d d         }|| _         | j         S )Nr!   iz-errori)r   r&   r   r$   r"   r%   )r   r   r   s      r   
get_reasonzStateReason.get_reasonQ   s      	)((!!DL  V__j%A%A CRC[FFdj  V__h%?%? CRC[F &$$r   c                     |                                   | j        | j        k    rd}n| j        | j        k    rd}nd}d|d|                                 d|                                 dS )Nr#   r$   r%   z<statereason.StateReason (,z)>)r&   r   r#   r$   r   r(   )r   r   s     r   __repr__zStateReason.__repr__^   s    :$$EEZ4<''EEE9>9=9I9I9L9L9L9L9=9K9K9K9KM 	Mr   c                    t          d          t          d          ft          d          t          d          ft          d          t          d          ft          d          t          d          ft          d	          t          d
          ft          d          t          d          ft          d          t          d          ft          d          t          d          ft          d          t          d          ft          d          t          d          ft          d          t          d          ft          d          t          d          fd}	 ||                                          \  }}	 ||                                 z  }n# t          $ r Y nw xY wn/# t          $ r! |                                 | j        k    rt          d          }nY|                                 | j        k    rt          d          }n,|                                 | j        k    rt          d          }|                                 }| j	        rW	 g d}d}|D ],}| j	        
                    | j        |          }|||z   dz   }-|dk    r
|d d         }n# t          $ r Y nw xY wt          d           |                                 |fz  }Y nw xY w||fS )!Nz	Toner lowzPrinter '%s' is low on toner.zToner emptyzPrinter '%s' has no toner left.z
Cover openz"The cover is open on printer '%s'.z	Door openz!The door is open on printer '%s'.z	Paper lowzPrinter '%s' is low on paper.zOut of paperzPrinter '%s' is out of paper.zInk lowzPrinter '%s' is low on ink.z	Ink emptyzPrinter '%s' has no ink left.zPrinter off-linez#Printer '%s' is currently off-line.zNot connected?z"Printer '%s' may not be connected.zPrinter errorz#There is a problem on printer '%s'.zPrinter configuration errorz1There is a missing print filter for printer '%s'.)z	toner-lowztoner-emptyz
cover-openz	door-openz	media-lowzmedia-emptyzmarker-supply-lowzmarker-supply-emptyoffliner    otherzcups-missing-filterzPrinter reportzPrinter warning)texthttphelpfile z, zPrinter '%s': '%s'.)_r(   r   	TypeErrorKeyErrorr&   r#   r$   r%   r   localizeIPPReasonr   RuntimeError)	r   messagestitler/   r   schemeslocalized_reasonschemelreasons	            r   get_descriptionzStateReason.get_descriptionk   s<   K..;<<>m,,?@@B\??ABBDK..?@@BK..;<<>n--=>>@"#I,,"#$A"B"B"D$%kNN$%&E$F$F$H,--?@@B%&'7%8%8%&'K%L%L%N((=>>@ %&&C$D$D$% '6 %7 %7$81 8	N$T__%7%78MUDd..111     	N 	N 	N~~  DK//*++""dl22+,,""dj00/**__''Fy >>>G')$") Q Q"&)"="=dk>D#F #F"./?'/ID/P,'2--!1#2#!6#   D +,,0@0@0C0CV/LLDDD/	N0 t}s\   !F) ?F F) 
F$!F) #F$$F) )B,KAJK
J)&K(J)))KKc                 x    |                                  |                                 |                                 fS r   )r&   r   r(   r   s    r   	get_tuplezStateReason.get_tuple   s/    !!4#3#3#6#68J8JKKr   c                     t          |          t          |           k    rdS |                                 |                                k    S NFtyper&   r   r.   s     r   __eq__zStateReason.__eq__   s=    	ut	$	$5^^%//"4"444r   c                     t          |          t          |           k    rdS |                                 |                                k     S rD   rE   rG   s     r   __lt__zStateReason.__lt__   s=    	ut	$	$5^^!3!333r   r   )__name__
__module____qualname__r#   r$   r%   
LEVEL_ICONr   r   r   r&   r(   r+   r@   rB   rH   rJ    r   r   r   r      s        FG
E 	$!~
J8 8 8 8      6% % %M M M< < <|L L L5 5 5
4 4 4 4 4r   r   )cupsosconfiggettextinstallPACKAGEr   r   rO   r   r   <module>rV      s   ,  				   v~1A B B B BX4 X4 X4 X4 X4 X4 X4 X4 X4 X4r   