[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#642987: EOL-support patch updated, to apply against new checkboxes code



Hi,

see mail subject and attached file.

[00:53] <      h01ger> | buxy: i have a patch to display end-of-life too, 
#642987 - i just dont like abusing urgency for it as i do. i'd rather have 
florians db remodelling..

but I might still commit this one to svn, as perfect is the enemy of good also 
here, and the EOL code can also be refactored, once the modell is redone :)


cheers,
	Holger
From a96948b3ef4e4a40107cc8f00b9af584b6d26fb6 Mon Sep 17 00:00:00 2001
From: Holger Levsen <holger@layer-acht.org>
Date: Sat, 13 Sep 2014 02:02:42 +0200
Subject: [PATCH] Display end-of-life information in the web view. (Closes:
 #642987)

---
 bin/tracker_service.py    | 7 ++++++-
 lib/python/bugs.py        | 4 ++--
 lib/python/security_db.py | 8 +++++---
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/bin/tracker_service.py b/bin/tracker_service.py
index d3c8b10..83a53bd 100644
--- a/bin/tracker_service.py
+++ b/bin/tracker_service.py
@@ -29,6 +29,7 @@ class BugFilter:
                            ('low_urgency', 'low', 'urgency'),
                            ('unimportant_urgency', 'unimportant', 'urgency'),
                            ('unassigned_urgency', 'not_yet_assigned', 'urgency'),
+                           ('endoflife_urgency', 'end-of-life', 'urgency'),
 
                            ('remote', 'hide remote scope', 'scope'),
                            ('local', 'hide local scope', 'scope'),
@@ -76,7 +77,9 @@ class BugFilter:
                     and urg == 'unimportant'
         filteruna = not self.params['unassigned_urgency'] \
                     and urg ==  'not yet assigned'
-        return filterlow or filtermed or filterhigh or filterund or filteruni or filteruna
+        filterend = not self.params['endoflife_urgency'] \
+                    and urg == 'end-of-life'
+        return filterlow or filtermed or filterhigh or filterund or filteruni or filteruna or filterend
 
     def remoteFiltered(self, remote):
 	filterr = self.params['remote'] and remote and remote is not None
@@ -420,6 +423,8 @@ data source.""")],
                     else:
                         rel = '(unstable)'
                     urgency = str(n.urgency)
+		    if urgency == 'end-of-life':
+			urgency = self.make_red('end-of-life')
                     if n.fixed_version:
                         ver = str(n.fixed_version)
                         if ver == '0':
diff --git a/lib/python/bugs.py b/lib/python/bugs.py
index a147e74..9247085 100644
--- a/lib/python/bugs.py
+++ b/lib/python/bugs.py
@@ -24,7 +24,7 @@ class Urgency(debian_support.PseudoEnum): pass
 
 def listUrgencies():
     urgencies = {}
-    urgs = ('high', 'medium', 'low', 'unimportant', 'not yet assigned')
+    urgs = ('high', 'medium', 'low', 'unimportant', 'end-of-life', 'not yet assigned')
     for u in range(len(urgs)):
         urgencies[urgs[u]] = Urgency(urgs[u], -u)
     Urgency.urgencies = urgencies
@@ -579,7 +579,7 @@ class FileBase(debian_support.PackageFile):
                                 comments.append(('NOTE', r))
                         elif v == 'end-of-life':
                             pkg_notes.append(PackageNoteParsed
-                                             (p, '0', 'unimportant',
+                                             (p, None, 'end-of-life',
                                               release=release))
                             if d:
                                 # Not exactly ideal, but we have to
diff --git a/lib/python/security_db.py b/lib/python/security_db.py
index 088d4b5..52abb93 100644
--- a/lib/python/security_db.py
+++ b/lib/python/security_db.py
@@ -274,7 +274,7 @@ class DB:
          subrelease TEXT NOT NULL,
          status TEXT NOT NULL
              CHECK (status IN ('vulnerable', 'fixed', 'unknown', 'undetermined',
-                               'partially-fixed', 'todo')),
+                               'partially-fixed', 'todo', 'end-of-life')),
          reason TEXT NOT NULL,
          PRIMARY KEY (bug_name, release, subrelease))""")
 
@@ -1305,7 +1305,8 @@ class DB:
                 AND n.id = vulnlist.note
                 ORDER BY vulnlist.package""")):
             if fixed_version == '0' or urgency == 'unimportant' \
-               or kind not in ('source', 'binary', 'unknown'):
+                    or urgency == 'end-of-life' \
+                    or kind not in ('source', 'binary', 'unknown'):
                 continue
 
             # Normalize FAKE-* names a bit.  The line number (which
@@ -1500,7 +1501,8 @@ class DB:
                 # packages as vulnerable.  (If unstable_fixed == '0',
                 # release-specific annotations cannot create
                 # vulnerabilities, either.)
-                if total_urgency == 'unimportant' or unstable_fixed == '0':
+                if total_urgency == 'unimportant' or unstable_fixed == '0' \
+                        or total_urgency == 'end-of-life':
                     continue
 
                 if unstable_fixed is None:
-- 
1.9.1

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: