diff options
author | fuzzyray <fuzzyray@gentoo.org> | 2009-05-07 21:58:49 +0000 |
---|---|---|
committer | fuzzyray <fuzzyray@gentoo.org> | 2009-05-07 21:58:49 +0000 |
commit | d6bdd006a65cf19f4e10ce3107b665c84cd04c8b (patch) | |
tree | c0b0539a92873cc0d9a1e0a4b31d2adeed540a1e | |
parent | Add patch from antarus: Run pychecker over everything, fix obvious things lik... (diff) | |
download | gentoolkit-d6bdd006a65cf19f4e10ce3107b665c84cd04c8b.tar.gz gentoolkit-d6bdd006a65cf19f4e10ce3107b665c84cd04c8b.tar.bz2 gentoolkit-d6bdd006a65cf19f4e10ce3107b665c84cd04c8b.zip |
Add patch from Robert Buchholz: Respect count attribute in GLSA-2, based on a patch by Michael A. Smith in https://bugs.gentoo.org/218312
svn path=/trunk/gentoolkit/; revision=626
-rw-r--r-- | pym/gentoolkit/glsa/__init__.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/pym/gentoolkit/glsa/__init__.py b/pym/gentoolkit/glsa/__init__.py index bd9ec28..1389028 100644 --- a/pym/gentoolkit/glsa/__init__.py +++ b/pym/gentoolkit/glsa/__init__.py @@ -480,7 +480,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: + # <revised>December 30, 2007: 02</revised> + # <revised count="2">2007-12-30</revised> + 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: @@ -537,7 +553,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] |