o >Ic@sddlmZmZddlmZddlZddlZddlZddl Z dZ GdddeZ e dkree dZ ee d d ee d d ee d d ee d ddee d ddee d dddSdS)) NoOptionErrorNoSectionError) ConfigParserNz&/etc/update-manager/release-upgrades.dc@s2eZdZ  d ddZddZddZd d ZdS) DistUpgradeConfigDistUpgrade.cfgNcCst|tjgdtjddd}||_tj ||}tj |d|r0|d|7}g|_ |rEt |dD]}|j |q<|j |g7_ |durSt}|durgt |dD]}|j |q^||j dS)N) lsb_releasez-cz-sT)stdoutuniversal_newlinesr.z/*.cfg)SafeConfigParser__init__ subprocessPopenPIPE communicatestripdatadirospathjoinexists config_filesglobappendCONFIG_OVERRIDE_DIRread)selfrname override_dir defaults_dir from_releasemaincfgcfgr#E/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeConfigParser.pyr "s0   zDistUpgradeConfig.__init__c Csxz.t|tkr|||WSt|tkr|||WSt|tkr(|||WS|||WStt fy;|YSw)N) typebool getbooleanfloatgetfloatintgetintgetrr)rsectionoptiondefaultr#r#r$getWithDefault=s   z DistUpgradeConfig.getWithDefaultc CsDz|||}Wn ttfygYSwdd|dD}|S)NcSg|]}|qSr#r.0xr#r#r$ Nz-DistUpgradeConfig.getlist..,)r,rrsplit)rr-r.tmpitemsr#r#r$getlistIszDistUpgradeConfig.getlistcCsz|||}Wn tygYSwtj|j|}tj|s)td|t |}dd|D}Wdn1s?wYdd|DS)NzgetListFromFile: no '%s' foundcSr1r#r2r3r#r#r$r6Zr7z5DistUpgradeConfig.getListFromFile..cSs"g|] }|ds|dks|qS)#) startswith)r4sr#r#r$r6[s") r,rrrrrrloggingerroropen)rr-r.filenamepfr;r#r#r$getListFromFileQs   z!DistUpgradeConfig.getListFromFile)rNN)__name__ __module__ __qualname__r r0r<rGr#r#r#r$r!s  r__main__r DistroMetaPkgs ForcedPurgesSources ValidMirrors EnableApportTFooFalse) configparserrrrr r os.pathrrArrrrHcprintr<rGr0setr#r#r#r$s" =