home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- from ConfigParser import ConfigParser, NoOptionError, NoSectionError
- import subprocess
- import os.path as os
- import logging
- import glob
- CONFIG_OVERRIDE_DIR = '/etc/update-manager/release-upgrades.d'
-
- class DistUpgradeConfig(ConfigParser):
-
- def __init__(self, datadir, name = 'DistUpgrade.cfg'):
- ConfigParser.__init__(self)
- from_release = subprocess.Popen([
- 'lsb_release',
- '-c',
- '-s'], stdout = subprocess.PIPE).communicate()[0].strip()
- self.datadir = datadir
- if os.path.exists(name + '.' + from_release):
- name = name + '.' + from_release
-
- maincfg = os.path.join(datadir, name)
- override_dir = CONFIG_OVERRIDE_DIR
- self.config_files = [
- maincfg]
- 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:
- return self.get(section, option, raw = True)
- except (NoSectionError, NoOptionError):
- e = None
- return default
-
-
-
- def getlist(self, section, option):
-
- try:
- tmp = self.get(section, option)
- except (NoSectionError, NoOptionError):
- e = None
- 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)
-
- items = [ x.strip() for x in open(p) ]
- return filter((lambda s: if not s.startswith('#'):
- passnot (s == '')), items)
-
-
- if __name__ == '__main__':
- c = DistUpgradeConfig()
- print c.getlist('Distro', 'MetaPkgs')
- print c.getlist('Distro', 'ForcedPurges')
- print c.getListFromFile('Sources', 'ValidMirrors')
-
-