[Oval-commits] r154 - in trunk/oval-server: . src/dsa2oval/definition

Pavel Vinogradov blaze-guest at alioth.debian.org
Mon Aug 20 04:28:15 UTC 2007


Author: blaze-guest
Date: 2007-08-20 04:28:14 +0000 (Mon, 20 Aug 2007)
New Revision: 154

Modified:
   trunk/oval-server/Dsa2Oval.py
   trunk/oval-server/src/dsa2oval/definition/generator.py
Log:
Implement -f option in generator

Modified: trunk/oval-server/Dsa2Oval.py
===================================================================
--- trunk/oval-server/Dsa2Oval.py	2007-08-20 03:46:56 UTC (rev 153)
+++ trunk/oval-server/Dsa2Oval.py	2007-08-20 04:28:14 UTC (rev 154)
@@ -12,9 +12,9 @@
 import getopt
 import logging
 
-import oval.definition.generator
-from oval.parser import dsa
-from oval.parser import wml
+from dsa2oval.definition import generator
+from dsa2oval.parser import dsa
+from dsa2oval.parser import wml
 
 dsaref = {}
 
@@ -24,6 +24,7 @@
 	print """
 usage: %s [vh] [-d <directory>]
 \t-d\twhich directory use for dsa definition search
+\t-f\twhich file use for dsa definition generation
 \t-v\tverbose mode
 \t-h\tthis help
 	""" % prog
@@ -31,8 +32,8 @@
 def printdsas (dsaref):
     """ Generate and print OVAL Definitions for collected DSA information """
     
-    ovalDefinitions = oval.definition.generator.createOVALDefinitions (dsaref)
-    oval.definition.generator.printOVALDefinitions (ovalDefinitions)
+    ovalDefinitions = generator.createOVALDefinitions (dsaref)
+    generator.printOVALDefinitions (ovalDefinitions)
 
 def parsedirs (directory, postfix, depth):
 	""" Recursive search directory for DSA files contain postfix in their names.
@@ -76,6 +77,24 @@
 									
 	return 0
 
+def parsefile (filename):
+	
+	datafile = file[0]
+	(path, ext) = os.path.splitext(datafile)
+	wmlfile = '.'.join((path, 'wml'))
+	
+	#Parse data file
+	result = dsa.parseFile (datafile)
+	if result:
+		dsaref[result[0]] = result[1]
+
+	#Parse wml file
+	result = wml.parseFile(wmlfile)
+	if result:
+		dsaref[result[0]] = result[1]
+					
+	return generator.createOVALDefinitions(self.dsaref)
+
 if __name__ == "__main__":
     
     # Parse cmd options with getopt
@@ -99,8 +118,11 @@
         
     if opts.has_key('-v'):
         logging.basicConfig(level=logging.WARNING)
-        
-    logging.basicConfig(level=logging.ERROR)
-        
-    parsedirs (opts['-d'], '.data', 2)
+    else:
+    	logging.basicConfig(level=logging.ERROR)
+	
+	if opts.has_key('-d'):
+		parsedirs (opts['-d'], '.data', 2)
+	if opts.has_key('-f'):
+		parsefile (opts['-f'])
     printdsas(dsaref)
\ No newline at end of file

Modified: trunk/oval-server/src/dsa2oval/definition/generator.py
===================================================================
--- trunk/oval-server/src/dsa2oval/definition/generator.py	2007-08-20 03:46:56 UTC (rev 153)
+++ trunk/oval-server/src/dsa2oval/definition/generator.py	2007-08-20 04:28:14 UTC (rev 154)
@@ -12,7 +12,7 @@
 import datetime
 import xml.dom.ext
 import xml.dom.minidom
-from definition.differ import differ
+from dsa2oval.definition.differ import differ
 					
 class OvalGeneratorException (Exception):
     pass




More information about the Oval-commits mailing list