def _determine_current_repo_state_alpm(self): self.pkgs_alpm.remove_range(0, -1) try: with tarfile.open(self.alpm_db_path, 'r') as alpm_db: pkg_info_files = [ p for p in alpm_db.getmembers() if '/desc' in p.name ] for pkg_info_file in pkg_info_files: pkg_info_bytes = alpm_db.extractfile(pkg_info_file) pkg_file_name = TextIOWrapper( pkg_info_bytes).readlines()[1].strip() pkg_file_name = pkg_file_name.replace('.pkg', '-pkg') pkgname, ver, rel, arch, suffix = pkg_file_name.rsplit( '-', 4) self.pkgs_alpm.add('{0}|{1}-{2}|{3}'.format( pkgname, ver, rel, arch)) self.pkg_count_alpm = len(self.pkgs_alpm) except Exception as err: logger.error(err)
def _determine_current_repo_state_alpm(self): self.pkgs_alpm.delete() try: with tarfile.open(self.alpm_db_path, 'r') as alpm_db: pkg_info_files = [p for p in alpm_db.getmembers() if '/desc' in p.name] for pkg_info_file in pkg_info_files: pkg_info_bytes = alpm_db.extractfile(pkg_info_file) pkg_file_name = TextIOWrapper(pkg_info_bytes).readlines()[1].strip() pkg_file_name = pkg_file_name.replace('.pkg', '-pkg') pkgname, ver, rel, arch, suffix = pkg_file_name.rsplit('-', 4) self.pkgs_alpm.add('{0}|{1}-{2}|{3}'.format(pkgname, ver, rel, arch)) self.pkg_count_alpm = len(self.pkgs_alpm) except Exception as err: logger.error(err)