public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:master commit in: lib/portage/tests/glsa/, lib/portage/
@ 2019-08-19  1:10 Zac Medico
  0 siblings, 0 replies; only message in thread
From: Zac Medico @ 2019-08-19  1:10 UTC (permalink / raw
  To: gentoo-commits

commit:     98f8a4a8f5c38dfb3c797ad8d66f8cac1822805d
Author:     Aaron Bauman <bman <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 14 18:05:00 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Aug 19 01:03:15 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=98f8a4a8

portage/glsa.py: only check for revision based on GLSA DTD

* All GLSA's have been converted to use the revision attribute
* If there is no count attribute then raise a GlsaFormatException
* Ensure the attribute is an integer

Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/portage/glsa.py                         | 15 +++++----------
 lib/portage/tests/glsa/test_security_set.py |  2 +-
 2 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/lib/portage/glsa.py b/lib/portage/glsa.py
index ccf93439d..3fd877b22 100644
--- a/lib/portage/glsa.py
+++ b/lib/portage/glsa.py
@@ -528,25 +528,20 @@ class Glsa:
 		self.synopsis = getText(myroot.getElementsByTagName("synopsis")[0], format="strip")
 		self.announced = format_date(getText(myroot.getElementsByTagName("announced")[0], format="strip"))
 
-		# Support both formats of revised:
-		# <revised>December 30, 2007: 02</revised>
+		# Support only format defined in GLSA DTD
 		# <revised count="2">2007-12-30</revised>
 		revisedEl = myroot.getElementsByTagName("revised")[0]
 		self.revised = getText(revisedEl, format="strip")
 		count = revisedEl.getAttribute("count")
 		if not count:
-			if self.revised.find(":") >= 0:
-				(self.revised, count) = self.revised.split(":")
-			else:
-				count = 1
-
-		self.revised = format_date(self.revised)
+			raise GlsaFormatException("Count attribute is missing or blank in GLSA: " + myroot.getAttribute("id"))
 
 		try:
 			self.count = int(count)
 		except ValueError:
-			# TODO should this raise a GlsaFormatException?
-			self.count = 1
+			raise GlsaFormatException("Revision attribute in GLSA: " + myroot.getAttribute("id") + " is not an integer")
+
+		self.revised = format_date(self.revised)
 
 		# now the optional and 0-n toplevel, #PCDATA tags and references
 		try:

diff --git a/lib/portage/tests/glsa/test_security_set.py b/lib/portage/tests/glsa/test_security_set.py
index e73deaba9..a602f83d4 100644
--- a/lib/portage/tests/glsa/test_security_set.py
+++ b/lib/portage/tests/glsa/test_security_set.py
@@ -24,7 +24,7 @@ class SecuritySetTestCase(TestCase):
   </synopsis>
   <product type="ebuild">%(pkgname)s</product>
   <announced>January 18, 2013</announced>
-  <revised>January 18, 2013: 1</revised>
+  <revised count="1">January 18, 2013</revised>
   <bug>55555</bug>
   <access>remote</access>
   <affected>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-08-19  1:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-19  1:10 [gentoo-commits] proj/portage:master commit in: lib/portage/tests/glsa/, lib/portage/ Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox