
    Be	                        d dl mZmZ d dl mZ d dlZd dlZd dlZd dl	Z	dZ
 G d de      Zedk(  r ed      Z eej                  d	d
              eej                  d	d              eej!                  dd              eej#                  d	dd              eej%                  d	dd              eej#                  d	dd             yy)    )NoOptionErrorNoSectionError)ConfigParserNz&/etc/update-manager/release-upgrades.dc                   *    e Zd Z	 	 ddZd Zd Zd Zy)DistUpgradeConfigNc                    t        j                  |        t        j                  g dt        j                  d      j                         d   j                         }|| _        t        j                  j                  ||      }t        j                  j                  |dz   |z         r|d|z   z  }g | _        |r8t        j                  |dz         D ]  }| j                  j                  |        | xj                  |gz  c_        |t        }|8t        j                  |dz         D ]  }| j                  j                  |        | j!                  | j                         y )N)lsb_releasez-cz-sT)stdoutuniversal_newlinesr   .z/*.cfg)SafeConfigParser__init__
subprocessPopenPIPEcommunicatestripdatadirospathjoinexistsconfig_filesglobappendCONFIG_OVERRIDE_DIRread)selfr   nameoverride_dirdefaults_dirfrom_releasemaincfgcfgs           E/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeConfigParser.pyr   zDistUpgradeConfig.__init__"   s0   !!$' "'''
#%%0[]166;eg 	 '',,w-77>>'C-,67s\))Gyy!89 .!!((-. 	gY&.L#yy!89 .!!((-.		$##$    c                 "   	 t        |t              r| j                  ||      S t        |t              r| j	                  ||      S t        |t
              r| j                  ||      S | j                  ||      S # t        t        f$ r |cY S w xY w)N)

isinstancebool
getbooleanfloatgetfloatintgetintgetr   r   )r   sectionoptiondefaults       r%   getWithDefaultz DistUpgradeConfig.getWithDefault=   s    		'4(w77GU+}}Wf55GS){{7F3388GV,,. 	N	s"   !A: !A: !A: (A: :BBc                     	 | j                  ||      }|j                  d      D cg c]  }|j	                          }}|S # t        t        f$ r g cY S w xY wc c}w )N,)r/   r   r   splitr   )r   r0   r1   tmpxitemss         r%   getlistzDistUpgradeConfig.getlistI   s\    	((7F+C %(IIcN3q33 . 	I	3s   A AAAc                    	 | j                  ||      }t        j                  j	                  | j
                  |      }t        j                  j                  |      st        j                  d|z         t        |      5 }|D cg c]  }|j                          }}d d d        D cg c]  }|j                  d      r|dk(  r| c}S # t        $ r g cY S w xY wc c}w # 1 sw Y   GxY wc c}w )NzgetListFromFile: no '%s' found# )r/   r   r   r   r   r   r   loggingerroropenr   
startswith)	r   r0   r1   filenamepfr8   r9   ss	            r%   getListFromFilez!DistUpgradeConfig.getListFromFileQ   s    	xx0H GGLLx0ww~~a MM:Q>?!W 	+()*1QWWY*E*	+ JaS(9!r'JJ  	I	 +	+ 	+JsA   C  C$CC$*C0C0C0CCC$$C-)zDistUpgrade.cfgNN)__name__
__module____qualname__r   r3   r:   rF    r&   r%   r   r   !   s    %615%6

Kr&   r   __main__r   DistroMetaPkgsForcedPurgesSourcesValidMirrorsEnableApportTFooFalse)configparserr   r   r   r   r   os.pathr   r>   r   r   r   rG   cprintr:   rF   r3   setrJ   r&   r%   <module>rY      s   . 7 9    > :K( :Kz z#A	!))Hj
)*	!))Hn
-.	!

I~
67	!

8^T
:;	!%%%
)*	!

8UD
12 r&   