diff options
author | Sean Finney <seanius@debian.org> | 2008-06-28 15:11:39 +0200 |
---|---|---|
committer | Sean Finney <seanius@debian.org> | 2008-06-28 15:11:39 +0200 |
commit | 079ca7a046442ce189db1ffd98a6f602f9728413 (patch) | |
tree | 0795ec827e817da782082dac11e2a405158865b8 /patchtracker | |
parent | 74fc254a08433f5d61fcc085ef95099d5dadaac9 (diff) | |
download | patch-tracker-079ca7a046442ce189db1ffd98a6f602f9728413.tar.gz |
have a "slightly" more efficient frontpage query
Diffstat (limited to 'patchtracker')
-rw-r--r-- | patchtracker/DB.py | 17 | ||||
-rwxr-xr-x | patchtracker/Templates.py | 4 |
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): |