
    f	                        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                    d	d
                      ee                    d	d                      ee                    dd                      ee                    d	dd                      ee                    d	dd                      ee                    d	dd                     dS dS )    )NoOptionErrorNoSectionError)ConfigParserNz&/etc/update-manager/release-upgrades.dc                   ,    e Zd Z	 	 ddZd Zd Zd ZdS )DistUpgradeConfigDistUpgrade.cfgNc                    t          j        |            t          j        g dt          j        d                                          d                                         }|| _        t          j	        
                    ||          }t          j	                            |dz   |z             r|d|z   z  }g | _        |r4t          j        |dz             D ]}| j                            |           | xj        |gz  c_        |t          }|4t          j        |dz             D ]}| j                            |           |                     | j                   d S )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           V/home/let_prod/public_html/lightetech2/upgrader/DistUpgrade/DistUpgradeConfigParser.pyr   zDistUpgradeConfig.__init__"   sf   !$''' "''''
#% % %%0[]]166;egg 	 ',,w--7>>'C-,677 	*s\))G 	.y!899 . .!((----gY&.L#y!899 . .!((----		$#$$$$$    c                 d   	 t          |t                    r|                     ||          S t          |t                    r|                     ||          S t          |t
                    r|                     ||          S |                     ||          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(( 4w777GU++ 4}}Wf555GS)) 4{{7F33388GV,,,. 	 	 	NNN	s"   *B *B *B B B/.B/c                     	 |                      ||          }n# t          t          f$ r g cY S w xY wd |                    d          D             }|S )Nc                 6    g | ]}|                                 S  r   .0xs     r&   
<listcomp>z-DistUpgradeConfig.getlist.<locals>.<listcomp>N   s     333q333r'   ,)r0   r   r   split)r   r1   r2   tmpitemss        r&   getlistzDistUpgradeConfig.getlistI   sg    	((7F++CC. 	 	 	III	33CIIcNN333s    //c                    	 |                      ||          }n# t          $ r g cY S w xY wt          j                            | j        |          }t          j                            |          st          j        d|z             t          |          5 }d |D             }d d d            n# 1 swxY w Y   d |D             S )NzgetListFromFile: no '%s' foundc                 6    g | ]}|                                 S r7   r8   r9   s     r&   r<   z5DistUpgradeConfig.getListFromFile.<locals>.<listcomp>Z   s     ***1QWWYY***r'   c                 H    g | ]}|                     d           |dk    | S )# )
startswith)r:   ss     r&   r<   z5DistUpgradeConfig.getListFromFile.<locals>.<listcomp>[   s.    JJJaS(9(9J!r'''''r'   )
r0   r   r   r   r   r   r   loggingerroropen)r   r1   r2   filenamepfr@   s          r&   getListFromFilez!DistUpgradeConfig.getListFromFileQ   s	   	xx00HH 	 	 	III	GLLx00w~~a   	@M:Q>???!WW 	+*****E	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+JJ5JJJJs    ((B..B25B2)r   NN)__name__
__module____qualname__r   r4   rA   rO   r7   r'   r&   r   r   !   s`        %615% % % %6
 
 
  
K 
K 
K 
K 
Kr'   r   __main__r   DistroMetaPkgsForcedPurgesSourcesValidMirrorsEnableApportTFooFalse)configparserr   r   r   r   r   os.pathr   rI   r   r   r   rP   cprintrA   rO   r4   setr7   r'   r&   <module>ra      s}  . 7 6 6 6 6 6 6 6 9 9 9 9 9 9       > :K :K :K :K :K( :K :K :Kz z#A	E!))Hj
)
)***	E!))Hn
-
-...	E!

I~
6
6777	E!

8^T
:
:;;;	E!%%%
)
)***	E!

8UD
1
122222 r'   