
    Kc@                        d dl Z d dlZd dlT d dlmZ  G d dej                  Zedk    rd dlmZ  ej                    Z	 e
d            ej        e            e            Zg Zd	 Zd
 Zd Ze                    e                    de                     e                    e                    de                      ej        ej        d           e	                                 [dS dS )    N)*)GObjectc                       e Zd Zej        j        dej        ej        ffej        j        deej        ffdZd Z	d Z
d ZddZd Zd Zd	 Zd
 ZdS )OpenPrintingRequestN)finishederrorc                     t           j                             |            t          d           t          j        j        di || _        d | _        t          d| z             d S )NStartingz+%s )r   __init__
debugprintcupshelpersopenprintingOpenPrinting_handle)selfargss     7/usr/share/system-config-printer/OpenPrintingRequest.pyr   zOpenPrintingRequest.__init__5   sa      $'''J'4AJJTJJEDL!!!!!    c                 *    t          d| z             d S )Nz-%s)r   r   s    r   __del__zOpenPrintingRequest.__del__<   s    EDL!!!!!r   c                     t          d| z             | j        &| j                            | j                   d | _        t          d| z             |                     ddd           d S )Nz%s: cancel()%s -> 'error'r   r   canceled)r   r   r   cancelOperationemitr   s    r   cancelzOpenPrintingRequest.cancel?   sl    NT)***<#--t|<<<DLOd*+++		7Az*****r   c                 v    t          d| z             | j                            || j        |          | _        d S )Nz%s: searchPrinters())r   r   searchPrinters_printers_gotr   )r   
searchterm	user_datas      r   r    z"OpenPrintingRequest.searchPrintersH   sA    *T1222(779=9K9BD Dr   c                 &   d | _         |dk    r+t          d| z             |                     d|           d S fdD             | _        g | _        t                      | _        |                                 s|                                  d S d S )Nr   r   r   c                 $    g | ]}||         fS r   r   ).0xprinterss     r   
<listcomp>z5OpenPrintingRequest._printers_got.<locals>.<listcomp>U   s8     0C 0C 0C45 23HQK0@ 0C 0C 0Cr   )	r   r   r   downloadable_printers_uncheckeddownloadable_printersdictdownloadable_drivers_query_next_printer_drivers_got)r   statusr#   r(   s      `r   r!   z!OpenPrintingRequest._printers_gotN   s    Q;;$.///IIw111F0C 0C 0C 0C9A0C 0C 0C,%'"$(FF! ''** 	!     	! 	!r   c                    	 | j                                         }|\  }}n## t          $ r t          d| z             Y dS w xY wt          j        rd| j        _        nd| j        _        t                      }t          j	        rd|d<   nd|d<   t          j
        |d<   t          | d	|           | j                            || j        ||
          | _        dS )z
        If there are more printers to query, kick off a query and
        return True.

        Otherwise return False.
        z'%s: All printer driver queries finishedF   r   1onlyppdfilesonlydownloadpackagesystemz: Querying drivers for )r#   extra_optionsT)r*   pop
IndexErrorr   configDOWNLOADABLE_ONLYFREEr   onlyfreer,   DOWNLOADABLE_ONLYPPDr6   listDrivers_printer_drivers_gotr   )r   r#   
printer_idprinter_nameoptionss        r   r.   z'OpenPrintingRequest._query_next_printer^   s
   	<@@CCI)2&Z 	 	 	ADHIII55	 ' 	+)*D&&)*D&&&& 	<&)GN##&)GN#'-';GO$TTT::FGGG(44j6:6O@IDK 5 M M
 ts   ! A Ac                    d | _         |dk    r+t          d| z             |                     d||           d S |rt          d| z             i }|                                D ]n}||         }d|v rt	          |d                   dk    s)t
          j        s)d|v r%t	          |d                   dk    r||         ||<   \t          d|z             ot	          |          dk    r;t          d| z             |\  }}|| j        |<   | j        	                    |           | 
                                s|                                  d S d S )	Nr   r   r   z%s: - drivers foundppdspackagesz!Not using invalid driver entry %sz.%s: - drivers with installable resources found)r   r   r   keyslenr:   r=   r-   r+   appendr.   r/   )	r   r0   r#   driversdrivers_installable	driverkeydriverr@   rA   s	            r   r?   z(OpenPrintingRequest._printer_drivers_got   s   Q;;$.///IIw000F 	>-4555"%$\\__ + +	 +v%%((1,,4 -6))
+,,q00 6=Y5G'	22 C )!* + + + + &''!++L ! " " "-6*\8K)*5*119===''** 	!     	! 	!r   c                 z    d | _         t          d| z             |                     d| j        | j                   d S )Nz%s -> 'finished'r   )r   r   r   r+   r-   r   s    r   r/   z OpenPrintingRequest._drivers_got   sK    &-...		:-,	. 	. 	. 	. 	.r   N)__name__
__module____qualname__r   SignalFlagsRUN_LASTTYPE_PYOBJECTint__gsignals__r   r   r   r    r!   r.   r?   r/   r   r   r   r   r       s         ,5t %2 %2 !,5t !$2	 L(" " "" " "+ + +D D D D! ! ! ! ! !F !  !  !D. . . . .r   r   __main__)pprintTc                     t           D ]}|                     |           t          j        dt          j                   d S )Nr2   )handlers
disconnectr   timeout_add_secondsmainloopquit)objhandlers     r   donera      sA     	% 	%GNNG$$$$#Q66666r   c                     t          d|z             t          t          |                     t          |            d S )Nz	Error: %d)printreprra   )r_   r0   errs      r   r   r      s8    {V#$$$tSzzc




r   c                 `    t          |           t          |           t          |            d S rN   )rX   ra   )r_   r(   rI   s      r   r   r      s-    c




r   r   r   z
ricoh 8000)r:   r   debuggi.repositoryr   r   rO   rX   MainLoopr]   set_debuggingset_debugprint_fnr   reqrZ   ra   r   r   rH   connectidle_addr    runr   r   r   <module>rp      sw  2          ! ! ! ! ! !H. H. H. H. H.'/ H. H. H.T zw""HM4!K!:...


 
 CH7 7 7  
  
 OOS[['511222OOS[[*h77888Gc(,777LLOOO9 r   