
    HfR                         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y)    N)domain	localedirc                   f    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y)StateReason         zdialog-informationzdialog-warningzdialog-errorNc                     || _         || _        d | _        d | _        d | _        |r|j                  || j                         y y 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__'   sB    
 $	7     c                     || _         y 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                 h   | j                   | j                   S | j                  j                  d      s| j                  dv r| j                  | _         | j                   S | j                  j                  d      r| j                  | _         | j                   S | 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    ::!::KK  ),KK ; ; DJ zz [[!!:.DJ zz DJzzr   c                 &   | j                   r| j                   S | j                         }| j                  }|| j                  k(  r|j	                  d      r|d d }n%|| j
                  k(  r|j	                  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      (((!DLL V__j%ACR[Fdjj V__h%?CR[F &$$$r   c                     | j                          | j                  | j                  k(  rd}n| j                  | j                  k(  rd}nd}d|d| j	                         d| j                         dS )Nr#   r$   r%   z<statereason.StateReason (,z)>)r&   r   r#   r$   r   r(   )r   r   s     r   __repr__zStateReason.__repr__^   sa    ::$EZZ4<<'EE9>9=9I9I9L9=9K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}	 || j                            \  }}	 || j                         z  }||fS # t        $ r Y w xY w# t        $ r | j                         | j                  k(  rt        d      }nQ| j                         | j                  k(  rt        d      }n(| j                         | j                  k(  rt        d      }| j                         }| j                  rY	 g d}d}|D ]3  }| j                  j                  | j                  |      }|,||z   dz   }5 |dk7  r|d d }n# t        $ r Y nw xY wt        d       | j                         |fz  }Y |fS w xY w)!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DK.?@BK.;<>n-=>@"#I,"#$A"B"D$%kN$%&E$F$H,-?@B%&'7%8%&'K%L%N(=>@ %&&C$D$% '6 %7$818	N$T__%78MUDd..118 t}7    	N~~ DKK/*+"dll2+,"djj0/*__'Fyy>G')$") Q"&))"="=dkk>D#F"./?'/ID/P,	Q
 (2-!1#2!6#  +,0@0@0CV/LLDt}1	Ns[   D> D/ /	D;8D> :D;;D> >B I3H(H('I(	H41I3H44!IIc                 `    | j                         | j                         | j                         fS r   )r&   r   r(   r   s    r   	get_tuplezStateReason.get_tuple   s&    !4#3#3#68JKKr   c                 t    t        |      t        |       k7  ry| j                         |j                         k(  S NFtyper&   r   r.   s     r   __eq__zStateReason.__eq__   s.    	ut	$^^%//"444r   c                 t    t        |      t        |       k7  ry| j                         |j                         k  S rD   rE   rG   s     r   __lt__zStateReason.__lt__   s.    	ut	$^^!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6%M<|L5
4r   r   )cupsosconfiggettextinstallPACKAGEr   r   rO   r   r   <module>rV      s9   ,  	   v~~1A1A BX4 X4r   