def update(self): payload = { 'release': self.suite, 'notmain': 'ign', 'merged': 'ign', 'rc': 1, 'format': 'json' } response = self.session.get(self.URL, params=payload) try: data = response.json() except ValueError: raise NewDataSource.DataError() bugs = set() for bug in data: try: bugs.add(bug['id']) except KeyError: pass if bugs: self.bugs = bugs else: raise NewDataSource.DataError()
def update(self): payload = { "release": self.suite, "notmain": "ign", "merged": "ign", "rc": 1, "format": "json", } response = self.session.get(self.URL, params=payload) try: data = response.json() except ValueError: raise NewDataSource.DataError() bugs = set() for bug in data: try: bugs.add(bug["id"]) except KeyError: pass if bugs: self.bugs = bugs else: raise NewDataSource.DataError()
def get_maintainer(self, package): maintainer = pseudo_packages.get_maintainer(package) if maintainer is not None: return split_address(maintainer) if package in self.cache: candidate = self.depcache.get_candidate_ver(self.cache[package]) if candidate is not None: records = apt_pkg.PackageRecords(self.cache) if records.lookup(candidate.file_list[0]): return split_address(records.maintainer) # delete record iterator del records if package.startswith("src:"): package = package[4:] records = apt_pkg.SourceRecords() if records.lookup(package): version = records.version maintainer = records.maintainer while records.lookup(package) is not None: if apt_pkg.version_compare(records.version, version) > 0: version = records.version maintainer = records.maintainer return split_address(maintainer) raise NewDataSource.DataError( "Unable to get maintainer for {}.".format(package) )
def update_index(self, ignore_errors=False): import apt.progress.base lists = apt_pkg.config.find_dir("Dir::State::Lists") with apt_pkg.FileLock(os.path.join(lists, "lock")): try: self.cache.update(apt.progress.base.AcquireProgress(), self.source_list) except apt_pkg.Error as e: if not ignore_errors: raise NewDataSource.DataError("Failed to update cache: {}".format(e))