def __init__(self): if self.version is None or not valid_debian_version(self.version): raise InvalidVersionError("%s has an invalid version: %s" % (self.package, self.version)) absent = object() missing = [attr for attr in self._required if getattr(self, attr, absent) is absent] if missing: raise MissingRequiredArguments(missing)
def __init__(self): if self.version is None or not valid_debian_version(self.version): raise InvalidVersionError("%s has an invalid version: %s" % (self.package, self.version)) absent = object() missing = [ attr for attr in self._required if getattr(self, attr, absent) is absent ] if missing: raise MissingRequiredArguments(missing)
def __init__(self): if self.version is None or not valid_debian_version(self.version): raise InvalidVersionError("%s has an invalid version: %s" % (self.package, self.version)) absent = object() missing = [] for attr in self._required: if isinstance(attr, tuple): if all(getattr(self, oneattr, absent) is absent for oneattr in attr): missing.append(attr) elif getattr(self, attr, absent) is absent: missing.append(attr) if missing: raise MissingRequiredArguments(missing)
def __init__(self, **args): for k, v in args.items(): if k == "Maintainer": self.maintainer = parse_person(v) elif k == "Essential": self.essential = (v == "yes") elif k == 'Section': self.section = parse_section(v) elif k == "Description": self.description = encoding.guess(v) summary = self.description.split("\n")[0].strip() if not summary.endswith('.'): summary = summary + '.' self.summary = summary elif k == "Installed-Size": try: self.installed_size = int(v) except ValueError: raise MissingRequiredArguments("Installed-Size is " "not a valid integer: %r" % v) else: self.set_field(k, v) if self.source: # We need to handle cases like "Source: myspell # (1:3.0+pre3.1-6)". apt-pkg kindly splits this for us # already, but sometimes fails. # XXX: dsilvers 2005-09-22: Work out why this happens and # file an upstream bug against python-apt once we've worked # it out. if self.source_version is None: match = self.source_version_re.match(self.source) if match: self.source = match.group(1) self.source_version = match.group(2) else: # XXX kiko 2005-10-18: # This is probably a best-guess and might fail. self.source_version = self.version else: # Some packages have Source, some don't -- the ones that # don't have the same package name. self.source = self.package self.source_version = self.version if (self.source_version is None or self.source_version != self.version and not valid_debian_version(self.source_version)): raise InvalidSourceVersionError( "Binary package %s (%s) refers to source package %s " "with invalid version: %s" % (self.package, self.version, self.source, self.source_version)) if self.section is None: self.section = 'misc' log.warn( "Binary package %s lacks a section, assumed %r", self.package, self.section) if self.priority is None: self.priority = 'extra' log.warn( "Binary package %s lacks valid priority, assumed %r", self.package, self.priority) AbstractPackageData.__init__(self)
def __init__(self, **args): for k, v in args.items(): if k == "Maintainer": self.maintainer = parse_person(v) elif k == "Essential": self.essential = (v == "yes") elif k == 'Section': self.section = parse_section(v) elif k == "Description": self.description = encoding.guess(v) summary = self.description.split("\n")[0].strip() if not summary.endswith('.'): summary = summary + '.' self.summary = summary elif k == "Installed-Size": try: self.installed_size = int(v) except ValueError: raise MissingRequiredArguments("Installed-Size is " "not a valid integer: %r" % v) else: setattr(self, k.lower().replace("-", "_"), v) if self.source: # We need to handle cases like "Source: myspell # (1:3.0+pre3.1-6)". apt-pkg kindly splits this for us # already, but sometimes fails. # XXX: dsilvers 2005-09-22: Work out why this happens and # file an upstream bug against python-apt once we've worked # it out. if self.source_version is None: match = self.source_version_re.match(self.source) if match: self.source = match.group(1) self.source_version = match.group(2) else: # XXX kiko 2005-10-18: # This is probably a best-guess and might fail. self.source_version = self.version else: # Some packages have Source, some don't -- the ones that # don't have the same package name. self.source = self.package self.source_version = self.version if (self.source_version is None or self.source_version != self.version and not valid_debian_version(self.source_version)): raise InvalidSourceVersionError( "Binary package %s (%s) refers to source package %s " "with invalid version: %s" % (self.package, self.version, self.source, self.source_version)) if self.section is None: self.section = 'misc' log.warn( "Binary package %s lacks a section, assumed %r", self.package, self.section) if self.priority is None: self.priority = 'extra' log.warn( "Binary package %s lacks valid priority, assumed %r", self.package, self.priority) AbstractPackageData.__init__(self)