;๒
\ตa@c           @   sฟ   d  k  Z  d e  i j o e  i i d  n d k Td Z d Z d Z d Z d   Z d d	  Z	 d
   Z
 d   Z e d  Z e d j o. e   o  e   e   e
   e   qป n d  S(   Ns   /usr/share/printconf/util(   s   *s   /etc/cups/printers.confs   /etc/cups/ppd/s   .ppds,   Info Created by redhat-config-printer 0.6.x
c           C   s    y t  i Wn t   n Xd  S(   N(   s   foomatics   id_dicts   foomatic_init_overview(    (    (    s(   /usr/share/printconf/util/cups_import.pys   _load_foomatic_db   s    i    c         C   sญ  h  d |  <} t } | i d  p- | i d  p | i d  p | i d  o( t i } | | i d  d | d <n~| i d	  oษ t i	 } y | i d
  d } Wn | i d  d } n Xy | | | i d  } Wn t |  } n X| | | !| d <| d } t |  } | | | !| d <| d d j o d | d <q๚nฅ| i d  oศ t i } y | i d
  d } Wn | i d  d } n Xy | | | i d  } Wn t |  } n X| | | !| d <| d } t |  } y | | i d  } Wn n X| | | d <nอ | i d  oฏ t i } y | i d
  d } Wn | i d  d } n Xy | | | i d  } Wn t |  } n X| | | d <| | | !| d <d | d <d | d <d | d <n d | GHd  Sy t t |  t d d  } t } t } | i   } xค | D] } | i d  o; | i d  d } | | | i d  } | | | !} q6| i d   o; | i d  d } | | | i d  } | | | !} q6q6Wt   t i t i | | f f } Wn t i f } n Xt d! | i |  | f  | d" t i j o3 t d# | d d" i   t d$ | d d  n t!   \ } } t$ |  | |  os yI x8 | |  d% d& D]$ } | i& |  j o | i'   qชqชWt d'  Wqt( | |  d%  t d(  qXn t) | | |  t d)  | d" t i j oUt!   \ } } | |  d% } | d* d+ } t   t, t- | d d" i   | d d  }	 x๘ |	 i/ i0   D]ใ }
 xฺ | D]า } | i d, |
 d  oด x6 | D]. } | d- i& t- |
  j o | i'   qัqัW| | i d.  d i2   } | i4 t5 d/  } t- |
  | d- <t- |	 i/ |
 i7  | d0 <| | d1 <t d2 |
 | f  qฌqฌWqWn | o t9 |   t d3  n d  S(4   Ns
   queue_names	   parallel:s   serial:s   usb:s   file:s   :i   s   local_printer_devices   socket:s   ://i   s   /s   jetdirect_ips   jetdirect_ports    s   9100s   lpd:s
   lpd_servers	   lpd_queues   smb:s	   smb_shares   smb_ips   smb_workgroups   smb_users   smb_passwords   Can't understand DeviceURI: %ss   rs   *% COMDATA #  'id' => 's   => 'i   s   's   *% COMDATA #  'driver' => 's   Discovered %s queue: %s on %si    s     Printer ID %ss     Driver %ss   queues
   alias_lists     Existing alias removeds     Existing queue removeds     New queue importeds   filter_datas   foomatic_defaultss   *Defaults   names    s   option_defaults   types   defaults     %s: %ss     This is the default queue(:   s   names	   data_dicts   Nones
   type_spaces	   deviceURIs
   startswiths   queue_typess   locals   indexs	   jetdirects   start_indexs	   end_indexs   lens   lpds   smbs   opens   _ppd_dirs   _ppd_exts   fs
   printer_ids   drivers	   readliness   ppds   lines   _load_foomatic_dbs   driverss   foomatics   id_dicts   driver_tuples   raws   debug_prints   long_pretty_names   ids
   get_queuess	   name_dicts
   alias_dicts   check_queue_name_uniquenesss   eachs   values   unlinks   delete_queue_and_fix_defaults   construct_queues   queues   dflts   foomatic_printer_driver_lookups   strs   pds   options_by_en_shortnames   keyss   opts   strips   vals   addDatas   AdmListTypes   ops   types
   is_defaults   set_default_queue_name(   s   names	   deviceURIs
   is_defaults
   alias_dicts   ppds	   data_dicts   vals	   end_indexs   start_indexs   pds   opts	   name_dicts   drivers   lines
   printer_ids   dflts   fs   driver_tuples
   type_spaces   queues   eachs   op(    (    s(   /usr/share/printconf/util/cups_import.pys   _discover_queue   s๊    @		
	
	

	   
   
$
c          C   sg  y t  t d d  }  Wn d  Sn X|  i   } x0t t |   D]} | | i d  p | | i d  o๎ | | i	 d  d } y | | i	 d  } Wn t j
 o
 qC n Xxค t | d t |   D] } | | i d  o Pn | | i d  oR | | | | i	 d  d i   } t | | | | !| | | d d	 j  qา qา WqC qC Wd  S(
   Ns   ri   s	   <Printer s   <DefaultPrinter s    s   >s   </s
   DeviceURI s   D(   s   opens   _printers_confs   fs	   readliness   lines   ranges   lens   is
   startswiths   indexs   start_indexs	   end_indexs
   ValueErrors   js   strips	   deviceURIs   _discover_queue(   s   fs   is   js	   end_indexs   lines	   deviceURIs   start_index(    (    s(   /usr/share/printconf/util/cups_import.pys   import_cups_queues    s,     ( %c          C   s|   t  i  t  i t  i  t i d  } xB | i   D]4 }  |  i d  o |  i	 d  d i
   } Pq2 q2 W| i   | Sd S(   s&   Return the name of the active spooler.s&   /usr/sbin/alternatives --display prints    link currently points tos   .i   N(   s   signals   SIGCHLDs   SIG_DFLs   oss   popens   fs	   readliness   ls
   startswiths   splits   strips   whichs   close(   s   ls   whichs   f(    (    s(   /usr/share/printconf/util/cups_import.pys   which_spoolerน   s      	
c         C   s๗   |  o t   }  n |  d j o d Sn d } t t  } | i   } d } xS | D]K } | i
 d  p | i
 d  o | d 7} n | t j o
 d } qU qU W| o
 | d j o7 t   t   \ } } t |  d j o
 d } q๏ n | Sd S(   s2   Returns non-zero if we need to import CUPS queues.s   cupsi    i   s	   <Printer s   <DefaultPrinter N(   s   whichs   which_spoolers   need_imports   files   _printers_confs   fs	   readliness   printers_conf_liness   counts   ls
   startswiths   marker_lines   init_queue_edit_or_dies
   get_queuess	   name_dicts
   alias_dicts   len(   s   whichs   counts	   name_dicts   need_imports   fs
   alias_dicts   printers_conf_liness   l(    (    s(   /usr/share/printconf/util/cups_import.pys   import_neededล   s*       s   __main__(   s   syss   paths   appends   printconf_confs   _printers_confs   _ppd_dirs   _ppd_exts   marker_lines   _load_foomatic_dbs   _discover_queues   import_cups_queuess   which_spoolers   Nones   import_neededs   __name__s   foomatic_init_overviews   init_queue_edit_or_dies   save_queues(
   s   import_neededs   marker_lines   _discover_queues   _load_foomatic_dbs   syss   _ppd_dirs   import_cups_queuess   which_spoolers   _ppd_exts   _printers_conf(    (    s(   /usr/share/printconf/util/cups_import.pys   ?   s$   				
