[Secure-testing-commits] r33456 - bin

Holger Levsen holger at moszumanska.debian.org
Thu Apr 9 09:29:01 UTC 2015


Author: holger
Date: 2015-04-09 09:29:00 +0000 (Thu, 09 Apr 2015)
New Revision: 33456

Modified:
   bin/tracker_service.py
Log:
refactor: use defaultdict - thanks to Jan Van Buggenhout for the patch

Modified: bin/tracker_service.py
===================================================================
--- bin/tracker_service.py	2015-04-09 09:12:34 UTC (rev 33455)
+++ bin/tracker_service.py	2015-04-09 09:29:00 UTC (rev 33456)
@@ -1246,19 +1246,20 @@
 
     def page_json(self, path, params, url):
 
+        from collections import defaultdict
         packages = []
-        issues = {}
+        issues = defaultdict(list)
         descriptions = {}
-        debianbugs = {}
-        remote = {}
-        releases = {}
-        subreleases = {}
-        repositories = {}
-        version = {}
-        fixed_version = {}
-        status = {}
-        urgency = {}
-        nodsa = {}
+        debianbugs = defaultdict(dict)
+        remote = defaultdict(dict)
+        releases = defaultdict(lambda: defaultdict(list))
+        subreleases = defaultdict(lambda: defaultdict(list))
+        repositories = defaultdict(lambda: defaultdict(list))
+        version = defaultdict(lambda: defaultdict(dict))
+        fixed_version = defaultdict(lambda: defaultdict(dict))
+        status = defaultdict(lambda: defaultdict(dict))
+        urgency = defaultdict(lambda: defaultdict(dict))
+        nodsa = defaultdict(lambda: defaultdict(dict))
         supported_releases = ('sid', 'jessie', 'wheezy', 'squeeze')
         for (pkg, issue, desc, debianbug, release, subrelease, db_version, db_fixed_version, db_status, db_urgency, db_remote, db_nodsa) in self.db.cursor().execute(
                 """SELECT sp.name, st.bug_name,
@@ -1290,30 +1291,11 @@
             #    print pkg, issue, release, subrelease, db_version, db_fixed_version, db_status
             if pkg not in packages:
                 packages.append(pkg)
-                issues[pkg] = []
-                debianbugs[pkg] = {}
-                remote[pkg] = {}
-                releases[pkg] = {}
-                subreleases[pkg] = {}
-                repositories[pkg] = {}
-                version[pkg] = {}
-                fixed_version[pkg] = {}
-                status[pkg] = {}
-                urgency[pkg] = {}
-                nodsa[pkg] = {}
             if issue not in issues[pkg]:
                 issues[pkg].append(issue)
                 descriptions[issue] = desc
                 debianbugs[pkg][issue] = debianbug
                 remote[pkg][issue] = db_remote
-                releases[pkg][issue] = []
-                subreleases[pkg][issue] = []
-                repositories[pkg][issue] = []
-                version[pkg][issue] = {}
-                fixed_version[pkg][issue] = {}
-                status[pkg][issue] = {}
-                urgency[pkg][issue] = {}
-                nodsa[pkg][issue] = {}
             if release not in releases[pkg][issue]:
                 releases[pkg][issue].append(release)
             subreleases[pkg][issue].append(subrelease)




More information about the Secure-testing-commits mailing list