summaryrefslogtreecommitdiff
path: root/patchtracker
diff options
context:
space:
mode:
authorSean Finney <seanius@debian.org>2008-06-28 15:11:39 +0200
committerSean Finney <seanius@debian.org>2008-06-28 15:11:39 +0200
commit079ca7a046442ce189db1ffd98a6f602f9728413 (patch)
tree0795ec827e817da782082dac11e2a405158865b8 /patchtracker
parent74fc254a08433f5d61fcc085ef95099d5dadaac9 (diff)
downloadpatch-tracker-079ca7a046442ce189db1ffd98a6f602f9728413.tar.gz
have a "slightly" more efficient frontpage query
Diffstat (limited to 'patchtracker')
-rw-r--r--patchtracker/DB.py17
-rwxr-xr-xpatchtracker/Templates.py4
2 files changed, 17 insertions, 4 deletions
diff --git a/patchtracker/DB.py b/patchtracker/DB.py
index efa3c8e..4160b90 100644
--- a/patchtracker/DB.py
+++ b/patchtracker/DB.py
@@ -108,8 +108,21 @@ class PatchTrackerDB:
def findLetterToc(self, letter):
return self.findCollection(package=letter+"%").getletter(letter)
- def findMasterIndex(self):
- return self.findCollection(package="%")
+ def findIndices(self):
+ indices = []
+ cursor = self.db.cursor()
+ q1 = "SELECT DISTINCT SUBSTR(name,1,1) FROM packages \
+ WHERE name NOT LIKE 'lib%'"
+ q2 = "SELECT DISTINCT SUBSTR(name,1,4) FROM packages \
+ WHERE name LIKE 'lib%'"
+
+ for q in [q1, q2]:
+ cursor.execute(q)
+ for idx in cursor.fetchall():
+ indices.append(idx[0])
+
+ indices.sort()
+ return indices
def relateSourcePackage(self, name, version, suite, component):
q = "INSERT INTO package_rel_map \
diff --git a/patchtracker/Templates.py b/patchtracker/Templates.py
index 0848da1..4445ef1 100755
--- a/patchtracker/Templates.py
+++ b/patchtracker/Templates.py
@@ -28,10 +28,10 @@ class PackageVersTemplate(OurTemplate):
OurTemplate.__init__(self, file=tpl, searchList=sl)
class FrontPageTemplate(OurTemplate):
- def __init__(self, allindex):
+ def __init__(self, indices):
tpl = os.sep.join([Conf.template_dir, "frontpage.tmpl"])
OurTemplate.__init__(self, file=tpl)
- self.allindex = allindex
+ self.indices = indices
class LetterTocTemplate(OurTemplate):
def __init__(self, letter, collection):