home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.4)
-
- import os
- import gettext
- from os import getenv
- import ConfigParser
- _ = gettext.gettext
-
- class Suite:
-
- def __init__(self):
- self.name = None
- self.child = False
- self.match_name = None
- self.description = None
- self.base_uri = None
- self.type = None
- self.components = { }
- self.children = []
- self.match_uri = None
- self.distribution = None
- self.available = True
-
-
-
- class Component:
-
- def __init__(self):
- self.name = ''
- self.description = ''
- self.description_long = ''
- self.enabled = None
-
-
-
- class DistInfo:
-
- def __init__(self, dist = None, base_dir = '/usr/share/update-manager/channels'):
- self.metarelease_uri = ''
- self.suites = []
- if not dist:
- pipe = os.popen('lsb_release -i -s')
- dist = pipe.read().strip()
- pipe.close()
- del pipe
-
- self.dist = dist
- dist_fname = '%s/%s.info' % (base_dir, dist)
- dist_file = open(dist_fname)
- if not dist_file:
- return None
-
- suite = None
- component = None
- for line in dist_file:
- tokens = line.split(':', 1)
- if len(tokens) < 2:
- continue
-
- field = tokens[0].strip()
- value = tokens[1].strip()
- if field == 'ChangelogURI':
- self.changelogs_uri = _(value)
- continue
- if field == 'MetaReleaseURI':
- self.metarelease_uri = value
- continue
- if field == 'Suite':
- if suite:
- if component:
- suite.components['%s' % component.name] = (component.description, component.enabled, component.description_long)
- component = None
-
- self.suites.append(suite)
-
- suite = Suite()
- suite.name = value
- suite.distribution = dist
- suite.match_name = '^%s$' % value
- continue
- if field == 'MatchName':
- suite.match_name = value
- continue
- if field == 'ParentSuite':
- suite.child = True
- for nanny in self.suites:
- if nanny.name == value:
- nanny.children.append(suite)
- continue
-
- if field == 'Available':
- suite.available = value
- continue
- if field == 'RepositoryType':
- suite.type = value
- continue
- if field == 'BaseURI':
- suite.base_uri = value
- suite.match_uri = value
- continue
- if field == 'MatchURI':
- suite.match_uri = value
- continue
- if field == 'Description':
- suite.description = _(value)
- continue
- if field == 'Component':
- if component:
- suite.components['%s' % component.name] = (component.description, component.enabled, component.description_long)
-
- component = Component()
- component.name = value
- continue
- if field == 'Enabled':
- component.enabled = bool(int(value))
- continue
- if field == 'CompDescription':
- component.description = _(value)
- continue
- if field == 'CompDescriptionLong':
- component.description_long = _(value)
- continue
-
- if suite:
- if component:
- suite.components['%s' % component.name] = (component.description, component.enabled, component.description_long)
- component = None
-
- self.suites.append(suite)
- suite = None
-
-
-
- if __name__ == '__main__':
- d = DistInfo('Ubuntu', '../../channels')
- print d.changelogs_uri
- for suite in d.suites:
- print '\nSuite: %s' % suite.name
- print 'Desc: %s' % suite.description
- print 'BaseURI: %s' % suite.base_uri
- print 'MatchURI: %s' % suite.match_uri
- for component in suite.components:
- print ' %s - %s - %s - %s' % (component, suite.components[component][0], suite.components[component][1], suite.components[component][2])
-
- for child in suite.children:
- print ' %s' % child.description
-
-
-
-