4606: add: you can not have an absolute path to sc_manifest in the criteria manifest.
authorClay Baenziger <ClayB@OpenSolaris.ORG>
Mon, 15 Dec 2008 20:37:17 -0700
changeset 384 36f2338e92da
parent 383 9d1a0cb2d194
child 385 6b53eda765fc
4606: add: you can not have an absolute path to sc_manifest in the criteria manifest.
usr/src/cmd/ai-webserver/publish-manifest.py
usr/src/cmd/ai-webserver/verifyXML.py
--- a/usr/src/cmd/ai-webserver/publish-manifest.py	Mon Dec 15 12:37:05 2008 -0700
+++ b/usr/src/cmd/ai-webserver/publish-manifest.py	Mon Dec 15 20:37:17 2008 -0700
@@ -621,7 +621,7 @@
 			# if this is an absolute path just hand it off
 			if os.path.isabs(str(SCman.attrib['URI'])):
 				self._smfDict[SCman.attrib['name']] = \
-					self.verifySCmanifest(self, SCman.attrib['URI'])
+					self.verifySCmanifest(SCman.attrib['URI'])
 			# this is not an absolute path - make it one
 			else:
 				self._smfDict[SCman.attrib['name']] = \
@@ -707,7 +707,11 @@
 
 	def verifyAImanifest(self):
 		"""
-		Used for verifying and loading AI manifest
+		Used for verifying and loading AI manifest as defined by
+		    DataFiles.AIschema.
+		Input: None.
+		Output (Result): Sets DataFiles._AIRoot on success to a LXML XML Tree
+		    object or raise SystemExit on error.
 		"""
 		try:
 			schema = file(self.AIschema, 'r')
@@ -739,12 +743,19 @@
 	def verifySCmanifest(self, data, name = None):
 		"""
 		Used for verifying and loading SC manifest
+		Input: File path, or StringIO object. Optionally, takes a name to
+		    provide in error output, as a StringIO object will not have a file
+		    path to provide.
+		Output: Provide a LXML XML Tree object or raise a SystemExit on error.
 		"""
 		if not isinstance(data, StringIO.StringIO):
 			try:
 				data = file(data, 'r')
 			except IOError:
-				raise SystemExit(_("Error:\tCan not open: %s") % data)
+				if name is None:
+					raise SystemExit(_("Error:\tCan not open: %s") % data)
+				else:
+					raise SystemExit(_("Error:\tCan not open: %s") % name)
 		xmlRoot = verifyXML.verifyDTDManifest(data,self.smfDtd)
 		if isinstance(xmlRoot, list):
 			if not isinstance(data, StringIO.StringIO):
--- a/usr/src/cmd/ai-webserver/verifyXML.py	Mon Dec 15 12:37:05 2008 -0700
+++ b/usr/src/cmd/ai-webserver/verifyXML.py	Mon Dec 15 20:37:17 2008 -0700
@@ -37,7 +37,7 @@
 	"""
 	result = list()
 	parser = lxml.etree.XMLParser(load_dtd = False, no_network=True,
-											dtd_validation=False)
+	    dtd_validation=False)
 	dtd = lxml.etree.DTD(os.path.abspath(xml_dtd))
 	try:
 		root = lxml.etree.parse(data, parser)