10 from debian import deb822
14 db = sqlite3.connect("test.sqlite3")
17 cur.execute("SELECT package, version, architecture FROM package;")
18 knownpkgs = dict((row[0], dict(package=row[0], version=row[1],
20 for row in cur.fetchall())
21 pkglist = urllib.urlopen(urlbase + "/dists/sid/main/binary-amd64/Packages.gz").read()
22 pkglist = gzip.GzipFile(fileobj=io.BytesIO(pkglist)).read()
24 for pkg in deb822.Packages.iter_paragraphs(io.BytesIO(pkglist)):
27 if pkg["Version"] == knownpkgs.get(name, dict(version=()))["version"]:
29 pkgurl = "%s/%s" % (urlbase, pkg["Filename"])
30 print("importing %s" % name)
31 dl = subprocess.Popen(["curl", "-s", pkgurl], stdout=subprocess.PIPE)
32 imp = subprocess.Popen("./test.py", stdin=dl.stdout)
36 print("import failed")
38 cur.execute("PRAGMA foreign_keys=1;")
39 cur.executemany("DELETE FROM package WHERE package = ?;",
40 ((pkg,) for pkg in set(knownpkgs) - set(distpkgs)))
43 if __name__ == "__main__":