#!/usr/bin/python3 import sys import apt_pkg if len(sys.argv) != 2: sys.exit(1) try: apt_pkg.init() cache = apt_pkg.Cache() package_records = apt_pkg.PackageRecords(cache) known_packages = set() with open(sys.argv[1], "w") as f: for pkg in cache.packages: if pkg.selected_state or not pkg.version_list or pkg.name in known_packages: continue name = pkg.name package_records.lookup(pkg.version_list.pop(0).translated_description.file_list.pop(0)) summary = package_records.short_desc description = package_records.long_desc.replace(summary + "\n ", "").replace("\n .\n ", "~~~").replace("\n", "") f.write("CACHE###%s###%s###%s\n" % (name, summary, description)) known_packages.add(name) except Exception as e: print("ERROR###ERROR###ERROR###ERROR") print(e) sys.exit(1)