[Oval-commits] r311 - in trunk/oval-server/oval/dsa2oval: definition parser
Pavel Vinogradov
blaze-guest at alioth.debian.org
Fri Nov 30 19:15:06 UTC 2007
Author: blaze-guest
Date: 2007-11-30 19:15:05 +0000 (Fri, 30 Nov 2007)
New Revision: 311
Modified:
trunk/oval-server/oval/dsa2oval/definition/generator.py
trunk/oval-server/oval/dsa2oval/parser/wml.py
Log:
Update wml-parser. Correct extraction of short description.
See http://lists.alioth.debian.org/pipermail/oval-devel/2007-July/000026.html
Modified: trunk/oval-server/oval/dsa2oval/definition/generator.py
===================================================================
--- trunk/oval-server/oval/dsa2oval/definition/generator.py 2007-11-18 19:54:31 UTC (rev 310)
+++ trunk/oval-server/oval/dsa2oval/definition/generator.py 2007-11-30 19:15:05 UTC (rev 311)
@@ -430,7 +430,7 @@
### Definition : Metadata : title, affected, reference, description ###
metadata = self.__createXMLElement ("metadata")
- metadata.appendChild (self.__createXMLElement ("title", dsaref["description"]))
+ metadata.appendChild (self.__createXMLElement ("title", dsaref["title"]))
### Definition : Metadata : Affected : platform, product ###
affected = self.__createXMLElement ("affected", attrs = {"family" : "unix"})
@@ -449,7 +449,7 @@
metadata.appendChild ( self.__createXMLElement ("reference", attrs = {"source" : source, "ref_id" : ref_id, "ref_url" : "http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s" % ref_id}) )
#TODO: move this info to other place
- metadata.appendChild ( self.__createXMLElement ("description", "What information can i put there?"))
+ metadata.appendChild ( self.__createXMLElement ("description", dsaref["description"]))
debianMetadata = self.__createXMLElement ("debian")
if dsaref.has_key("date"):
debianMetadata.appendChild ( self.__createXMLElement ("date", dsaref["date"]) )
@@ -556,4 +556,4 @@
xml.dom.ext.PrettyPrint(self.objects)
xml.dom.ext.PrettyPrint(self.states)
- print "</oval_definitions>"
\ No newline at end of file
+ print "</oval_definitions>"
Modified: trunk/oval-server/oval/dsa2oval/parser/wml.py
===================================================================
--- trunk/oval-server/oval/dsa2oval/parser/wml.py 2007-11-18 19:54:31 UTC (rev 310)
+++ trunk/oval-server/oval/dsa2oval/parser/wml.py 2007-11-30 19:15:05 UTC (rev 311)
@@ -54,7 +54,7 @@
descrpatern = re.compile (r'description>(.*?)</define-tag>')
result = descrpatern.search (line)
if result:
- data["description"] = result.groups()[0]
+ data["title"] = result.groups()[0]
continue
sinfopatern = re.compile (r'<define-tag moreinfo>(.*?)')
@@ -66,7 +66,7 @@
einfopatern = re.compile (r'</define-tag>')
if moreinfo and einfopatern.search (line):
- data["moreinfo"] = __parseMoreinfo(data["moreinfo"])
+ (data["description"], data["moreinfo"]) = __parseMoreinfo(data["moreinfo"])
moreinfo = False
continue
@@ -82,13 +82,18 @@
def __parseMoreinfo (info):
""" Remove unnecessary information form moreinfo tag"""
+ description = "None"
+ moreinfo = ""
+
p = re.compile ("<p>(.*?)</p>", re.DOTALL)
paragraphs = [m.groups()[0] for m in re.finditer(p, info, re.DOTALL)]
- result = ""
+
+ if paragraphs:
+ description = paragraphs[0]
- for par in paragraphs:
+ for par in paragraphs[1:]:
if re.match(re.compile("For the .* distribution"), par):
break
- result += "\n" + par
+ moreinfo += "\n" + par
- return result
+ return (description, moreinfo)
More information about the Oval-commits
mailing list