From 10f0641ffb3de3b02a511f5a50a6d1941e1b467e Mon Sep 17 00:00:00 2001 From: Marius Mauch Date: Sun, 28 Sep 2008 18:39:44 +0000 Subject: [PATCH] account for DTD changes wrt 'revised' element (patch by Robert Buchholz ) svn path=/main/trunk/; revision=11588 --- pym/portage/glsa.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pym/portage/glsa.py b/pym/portage/glsa.py index 4dc05f7e1..09bc343e6 100644 --- a/pym/portage/glsa.py +++ b/pym/portage/glsa.py @@ -442,7 +442,23 @@ class Glsa: self.title = getText(myroot.getElementsByTagName("title")[0], format="strip") self.synopsis = getText(myroot.getElementsByTagName("synopsis")[0], format="strip") self.announced = getText(myroot.getElementsByTagName("announced")[0], format="strip") - self.revised = getText(myroot.getElementsByTagName("revised")[0], format="strip") + + count = 1 + # Support both formats of revised: + # December 30, 2007: 02 + # 2007-12-30 + revisedEl = myroot.getElementsByTagName("revised")[0] + self.revised = getText(revisedEl, format="strip") + if (revisedEl.attributes.has_key("count")): + count = revisedEl.getAttribute("count") + elif (self.revised.find(":") >= 0): + (self.revised, count) = self.revised.split(":") + + try: + self.count = int(count) + except ValueError: + # TODO should this rais a GlsaFormatException? + self.count = 1 # now the optional and 0-n toplevel, #PCDATA tags and references try: @@ -499,7 +515,7 @@ class Glsa: outstream.write((width*"=")+"\n") outstream.write(wrap(self.synopsis, width, caption="Synopsis: ")+"\n") outstream.write("Announced on: %s\n" % self.announced) - outstream.write("Last revised on: %s\n\n" % self.revised) + outstream.write("Last revised on: %s : %02d\n\n" % (self.revised, self.count)) if self.glsatype == "ebuild": for k in self.packages.keys(): pkg = self.packages[k] -- 2.26.2