diff options
author | Paul Wise <pabs@debian.org> | 2017-03-29 04:48:56 +0000 |
---|---|---|
committer | Paul Wise <pabs@debian.org> | 2017-03-29 04:48:56 +0000 |
commit | 80fb4adee4a8aede25d48fedc6122e3aa392a7cf (patch) | |
tree | 462012f4a0a61cbdaa99cca1956bba300ffba5e0 /bin/tracker_service.py | |
parent | 60f2060e8856f48072df1615e4654426eee6f0a0 (diff) |
Link to DLA details on www.d.o from the Source field (Closes: #761945)
git-svn-id: svn+ssh://svn.debian.org/svn/secure-testing@50156 e39458fd-73e7-0310-bf30-c45bca0a0e42
Diffstat (limited to 'bin/tracker_service.py')
-rw-r--r-- | bin/tracker_service.py | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/bin/tracker_service.py b/bin/tracker_service.py index 3b2c6ff7cb..56dbac23fa 100644 --- a/bin/tracker_service.py +++ b/bin/tracker_service.py @@ -397,7 +397,7 @@ data source.""")], elif source == 'DTSA': source_xref = 'Debian Testing Security Team' elif source == 'DLA': - source_xref = 'Debian LTS Team' + source_xref = self.make_dla_ref(url, bug.name, 'Debian LTS') elif source == 'TEMP': source_xref = ( 'Automatically generated temporary name. Not for external reference.') @@ -1525,6 +1525,18 @@ Debian bug number.'''), % (int(y), int(number))) return None + def url_dla(self, url, dla, re_dsa=re.compile(r'^DLA-(\d+)(?:-\d+)?$')): + match = re_dla.match(dla) + if match: + # We must determine the year because there is no generic URL. + (number,) = match.groups() + for (date,) in self.db.cursor().execute( + "SELECT release_date FROM bugs WHERE name = ?", (dla,)): + (y, m, d) = date.split('-') + return url.absolute("https://www.debian.org/security/%d/dla-%d" + % (int(y), int(number))) + return None + def url_debian_bug(self, url, debian): return url.absolute("https://bugs.debian.org/cgi-bin/bugreport.cgi", bug=str(debian)) @@ -1649,6 +1661,15 @@ Debian bug number.'''), else: return name + def make_dla_ref(self, url, dla, name=None): + if name is None: + name = dla + u = self.url_dla(url, dla) + if u: + return A(u, name) + else: + return name + def make_source_code_ref(self, url, pkg, name=None): if name is None: name = pkg |