diff options
author | Helmut Grohne <helmut@subdivi.de> | 2013-03-07 08:24:44 +0100 |
---|---|---|
committer | Helmut Grohne <helmut@subdivi.de> | 2013-03-07 08:24:44 +0100 |
commit | b3d4bbae6fa2810daf3481d8ba99675ffe3bce9e (patch) | |
tree | b3315876e6eb444e42518cf437c891720c4818d8 | |
parent | 5b5cf7f2629c3a6c78f6057ff1e8476ff001409f (diff) | |
download | debian-dedup-b3d4bbae6fa2810daf3481d8ba99675ffe3bce9e.tar.gz |
integrate the source table into the package table
-rwxr-xr-x | importpkg.py | 8 | ||||
-rw-r--r-- | schema.sql | 3 | ||||
-rwxr-xr-x | webapp.py | 4 |
3 files changed, 5 insertions, 10 deletions
diff --git a/importpkg.py b/importpkg.py index d63b85e..ef368c2 100755 --- a/importpkg.py +++ b/importpkg.py @@ -148,8 +148,8 @@ def process_package(db, filelike): (package,)) cur.execute("DELETE FROM content WHERE package = ?;", (package,)) - cur.execute("INSERT INTO package (package, version, architecture) VALUES (?, ?, ?);", - (package, version, architecture)) + cur.execute("INSERT INTO package (package, version, architecture, source) VALUES (?, ?, ?, ?);", + (package, version, architecture, source)) depends = control.relations.get("depends", []) depends = set(dep[0]["name"].encode("ascii") for dep in depends if len(dep) == 1) @@ -157,10 +157,6 @@ def process_package(db, filelike): (package,)) cur.executemany("INSERT INTO dependency (package, required) VALUES (?, ?);", ((package, dep) for dep in depends)) - cur.execute("DELETE FROM source WHERE package = ?;", - (package,)) - cur.execute("INSERT INTO source (source, package) VALUES (?, ?);", - (source, package)) break continue elif name == "data.tar.gz": @@ -1,7 +1,6 @@ -CREATE TABLE package (package TEXT PRIMARY KEY, version TEXT, architecture TEXT); +CREATE TABLE package (package TEXT PRIMARY KEY, version TEXT, architecture TEXT, source TEXT); CREATE TABLE content (package TEXT, filename TEXT, size INTEGER, function TEXT, hash TEXT, FOREIGN KEY (package) REFERENCES package(package)); CREATE TABLE dependency (package TEXT, required TEXT, FOREIGN KEY (package) REFERENCES package(package), FOREIGN KEY (required) REFERENCES package(package)); -CREATE TABLE source (source TEXT, package TEXT, FOREIGN KEY (package) REFERENCES package(package)); CREATE INDEX content_package_index ON content (package); CREATE INDEX content_hash_index ON content (hash); @@ -334,12 +334,12 @@ class Application(object): def show_source(self, package): cur = self.db.cursor() - cur.execute("SELECT package FROM source WHERE source = ?;", + cur.execute("SELECT package FROM package WHERE source = ?;", (package,)) binpkgs = dict.fromkeys(pkg for pkg, in fetchiter(cur)) if not binpkgs: raise NotFound - cur.execute("SELECT source.package, sharing.package2, sharing.func1, sharing.func2, sharing.files, sharing.size FROM source JOIN sharing ON source.package = sharing.package1 WHERE source.source = ?;", + cur.execute("SELECT package.package, sharing.package2, sharing.func1, sharing.func2, sharing.files, sharing.size FROM package JOIN sharing ON package.package = sharing.package1 WHERE package.source = ?;", (package,)) for binary, otherbin, func1, func2, files, size in fetchiter(cur): entry = dict(package=otherbin, |