From 5b5dfebf7a950504c2a65d08273a58ba85df912a Mon Sep 17 00:00:00 2001 From: Helmut Grohne Date: Wed, 20 Feb 2013 22:33:54 +0100 Subject: fix comparison of conflicting packages --- webapp.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'webapp.py') diff --git a/webapp.py b/webapp.py index aa11df4..ba2fd35 100755 --- a/webapp.py +++ b/webapp.py @@ -164,11 +164,18 @@ class Application(object): content_type="text/html") def show_detail(self, package1, package2): - details1 = self.get_details(package1) - details2 = self.get_details(package2) + if package1 == package2: + details1 = details2 = self.get_details(package1) + + self.cur.execute("SELECT a.filename, b.filename, a.size, a.function, a.hash FROM content AS a JOIN content AS b ON a.function = b.function AND a.hash = b.hash WHERE a.package = ? AND b.package = ? AND a.filename != b.filename;", + (package1, package1)) + else: + details1 = self.get_details(package1) + details2 = self.get_details(package2) + + self.cur.execute("SELECT a.filename, b.filename, a.size, a.function, a.hash FROM content AS a JOIN content AS b ON a.function = b.function AND a.hash = b.hash WHERE a.package = ? AND b.package = ?;", + (package1, package2)) - self.cur.execute("SELECT a.filename, b.filename, a.size, a.function, a.hash FROM content AS a JOIN content AS b ON a.function = b.function AND a.hash = b.hash WHERE a.package = ? AND b.package = ? AND a.filename != b.filename;", - (package1, package2)) shared = dict() for filename1, filename2, size, function, hashvalue in self.cur.fetchall(): shared.setdefault((filename1, filename2, size), dict())[function] = hashvalue -- cgit v1.2.3