/usr/lib/python3/dist-packages/DistUpgrade
NameSizeModeActions
__pycache__/-0755rm
apt_btrfs_snapshot.py98730644editdlrm
apt_clone.py335930644editdlrm
dist-upgrade.py1290644editdlrm
distro.py237050644editdlrm
DistUpgradeApport.py50640644editdlrm
DistUpgradeAptCdrom.py126900644editdlrm
DistUpgradeCache.py544130644editdlrm
DistUpgradeConfigParser.py38370644editdlrm
DistUpgradeController.py1038350644editdlrm
DistUpgradeFetcher.py60090644editdlrm
DistUpgradeFetcherCore.py114720644editdlrm
DistUpgradeFetcherKDE.py99500644editdlrm
DistUpgradeFetcherSelf.py20640644editdlrm
DistUpgradeGettext.py30430644editdlrm
DistUpgradeMain.py93170644editdlrm
DistUpgradePatcher.py40180644editdlrm
DistUpgradeQuirks.py467610644editdlrm
DistUpgradeVersion.py210644editdlrm
DistUpgradeView.py168230644editdlrm
DistUpgradeViewGtk3.py346670644editdlrm
DistUpgradeViewKDE.py431220644editdlrm
DistUpgradeViewNonInteractive.py138620644editdlrm
DistUpgradeViewText.py128290644editdlrm
GtkProgress.py40200644editdlrm
MetaRelease.py174680644editdlrm
QUrlOpener.py33210644editdlrm
ReleaseNotesViewer.py76580644editdlrm
ReleaseNotesViewerWebkit.py29830644editdlrm
SimpleGtk3builderApp.py20560644editdlrm
SimpleGtkbuilderApp.py20370644editdlrm
telemetry.py34780644editdlrm
utils.py183490644editdlrm
xorg_fix_proprietary.py40830644editdlrm
__init__.py00644editdlrm
Edit: /usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeConfigParser.py (3837B)
# DistUpgradeConfigParser.py # # Copyright (c) 2004-2014 Canonical # # Author: Michael Vogt # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA from configparser import NoOptionError, NoSectionError from configparser import ConfigParser as SafeConfigParser import subprocess import os.path import logging import glob CONFIG_OVERRIDE_DIR = "/etc/update-manager/release-upgrades.d" class DistUpgradeConfig(SafeConfigParser): def __init__(self, datadir, name="DistUpgrade.cfg", override_dir=None, defaults_dir=None): SafeConfigParser.__init__(self) # we support a config overwrite, if DistUpgrade.cfg.dapper exists # and the user runs dapper, that one will be used from_release = subprocess.Popen( ["lsb_release", "-c", "-s"], stdout=subprocess.PIPE, universal_newlines=True).communicate()[0].strip() self.datadir = datadir maincfg = os.path.join(datadir, name) if os.path.exists(maincfg + "." + from_release): maincfg += "." + from_release # defaults are read first self.config_files = [] if defaults_dir: for cfg in glob.glob(defaults_dir + "/*.cfg"): self.config_files.append(cfg) # our config file self.config_files += [maincfg] # overrides are read later if override_dir is None: override_dir = CONFIG_OVERRIDE_DIR if override_dir is not None: for cfg in glob.glob(override_dir + "/*.cfg"): self.config_files.append(cfg) self.read(self.config_files) def getWithDefault(self, section, option, default): try: if type(default) == bool: return self.getboolean(section, option) elif type(default) == float: return self.getfloat(section, option) elif type(default) == int: return self.getint(section, option) return self.get(section, option) except (NoSectionError, NoOptionError): return default def getlist(self, section, option): try: tmp = self.get(section, option) except (NoSectionError, NoOptionError): return [] items = [x.strip() for x in tmp.split(",")] return items def getListFromFile(self, section, option): try: filename = self.get(section, option) except NoOptionError: return [] p = os.path.join(self.datadir, filename) if not os.path.exists(p): logging.error("getListFromFile: no '%s' found" % p) with open(p) as f: items = [x.strip() for x in f] return [s for s in items if not s.startswith("#") and not s == ""] if __name__ == "__main__": c = DistUpgradeConfig(".") print(c.getlist("Distro", "MetaPkgs")) print(c.getlist("Distro", "ForcedPurges")) print(c.getListFromFile("Sources", "ValidMirrors")) print(c.getWithDefault("Distro", "EnableApport", True)) print(c.set("Distro", "Foo", "False")) print(c.getWithDefault("Distro", "Foo", True))