ó
^;Tc           @   sf   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Td d d „  ƒ  YZ d g Z d S(   iÿÿÿÿN(   t   *t	   ALCConfigc           B   sA   e  Z d  „  Z d „  Z d „  Z d d „ Z d „  Z d „  Z RS(   c         C   s‹   d |  _  d  |  _ t |  _ d |  _ t |  _ t |  _ t |  _ t |  _	 d  |  _
 t |  _ d  |  _ d |  _ d |  _ d  |  _ t |  _ d  S(   Nt   pageri    t   botht   newst
   changelogs(   R   R   R   (   t   frontendt   Nonet   email_addresst   Falset   verboset   quiett   show_allt   confirmt   headerst   debugt	   save_seent   apt_modet   profilet   whicht   allowed_whicht   sincet   reverse(   t   self(    (    s'   /usr/share/apt-listchanges/ALCConfig.pyt   __init__"   s    														c         C   s#   t  j  ƒ  |  _ |  j j | ƒ d  S(   N(   t   ConfigParsert   parsert   read(   R   t   file(    (    s'   /usr/share/apt-listchanges/ALCConfig.pyR   4   s    c         C   s¬   |  j  j |  j ƒ r¨ x |  j  j |  j ƒ D]v } d  } |  j  j |  j | ƒ r‘ | d k rv |  j  j |  j | ƒ } q‘ |  j  j |  j | ƒ } n  t |  | | ƒ q+ Wn  d  S(   NR   t   runR   R   R
   R   (   s   confirmR   s   show_alls   headerss   verboses   reverse(	   R   t   has_sectionR   t   optionsR   t
   has_optiont
   getbooleant   gett   setattr(   R   t   optiont   value(    (    s'   /usr/share/apt-listchanges/ALCConfig.pyt   expose8   s    c         C   s   t  |  | | ƒ S(   N(   t   getattr(   R   R$   t   defvalue(    (    s'   /usr/share/apt-listchanges/ALCConfig.pyR"   C   s    c         C   sE   | d k r t  j } n	 t  j } | j t d ƒ ƒ t  j | ƒ d  S(   Ni    s<   Usage: apt-listchanges [options] {--apt | filename.deb ...}
(   t   syst   stdoutt   stderrt   writet   _t   exit(   R   t   exitcodet   fh(    (    s'   /usr/share/apt-listchanges/ALCConfig.pyt   usageF   s
    	c         C   sû  yM t  j  | d d d d d d d d d	 d
 d d d d d d g ƒ \ } } Wn t  j k
 rd d  SXxD | D]< \ } } | d k r | |  _ ql | d k rl t |  _ ql ql W|  j d  k rÜ |  j rÐ d |  _ qÜ d |  _ n  |  j ƒ  t j d |  j	 ƒ |  _	 xx| D]p\ } } | d k r-|  j
 d ƒ q| d+ k rEd |  _ q| d, k r]| |  _	 q| d k ru| |  _ q| d- k rd |  _ q| d k r¥| |  _ q| d. k r½d |  _ q| d/ k rÕd |  _ q| d# k rí| |  _ q| d$ k rE| |  j k r| |  _ qut d% ƒ | d& j |  j ƒ f GHt j d ƒ q| d' k r]d |  _ q| d( k rd |  _ qqW|  j d) k r”d  |  _ n  |  j d) k r¯d  |  _ n  |  j d  k	 r÷t | ƒ d k	 rët d* ƒ GHt j d ƒ n  d  |  _ n  | S(0   Ni   s   vf:s:caht   aptR
   s	   frontend=s   email-address=R   t   allR   s
   save_seen=s   since=R   s   which=t   helps   profile=R   s	   --profiles   --aptt   cmdlinet   APT_LISTCHANGES_FRONTENDs   --helpi    s   -vs	   --verboses   -fs
   --frontends   --email-addresss   -cs	   --confirms   --sinces   -as   --alls   -hs	   --headerss   --save_seens   --whichs0   Unknown option %s for --which.  Allowed are: %s.s   , s   --debugs	   --reverset   nones/   --since=<version> expects a only path to a .deb(   s   -vs	   --verbose(   s   -fs
   --frontend(   s   -cs	   --confirm(   s   -as   --all(   s   -hs	   --headers(   t   getoptt   GetoptErrorR   R   t   TrueR   R&   t   ost   getenvR   R1   R
   R   R   R   R   R   R   R   R   R-   t   joinR)   R.   R   R   t   len(   R   t   argvt   optlistt   argst   optt   arg(    (    s'   /usr/share/apt-listchanges/ALCConfig.pyR8   P   sr    	
	N(	   t   __name__t
   __module__R   R   R&   R   R"   R1   R8   (    (    (    s'   /usr/share/apt-listchanges/ALCConfig.pyR   !   s   				
(    (   R   R8   R)   R;   t   ret   ALChacksR   t   __all__(    (    (    s'   /usr/share/apt-listchanges/ALCConfig.pyt   <module>   s   
x