Merge branch 'master' of ssh://git.planet-lab.org/git/sfa
[sfa.git] / sfa / util / rspec.py
index f891034..b888a7d 100644 (file)
@@ -1,12 +1,13 @@
-### $Id$
-### $URL$
-
 import sys
 import pprint
 import os
+from StringIO import StringIO
+from types import StringTypes, ListType
 import httplib
 from xml.dom import minidom
-from types import StringTypes, ListType
+from lxml import etree
+
+from sfa.util.sfalogging import info_logger
 
 class RSpec:
 
@@ -231,15 +232,14 @@ class RSpec:
             except Exception, e:
                 # logging.debug("%s: web file not found" % xsdURI)
                 # logging.debug("Using local file %s" % self.xsd")
-                print e
-                print "Can't find %s on the web. Continuing." % xsdURI
+                info_logger.log_exc("rspec.parseXSD: can't find %s on the web. Continuing." % xsdURI)
         if not schemaDom:
             if os.path.exists(xsdURI):
                 # logging.debug("using local copy.")
-                print "Using local %s" % xsdURI
+                info_logger.debug("rspec.parseXSD: Using local %s" % xsdURI)
                 schemaDom = minidom.parse(xsdURI)
             else:
-                raise Exception("Can't find xsd locally")
+                raise Exception("rspec.parseXSD: can't find xsd locally")
         self.schemaDict = self.toDict(schemaDom.childNodes[0])
 
 
@@ -252,7 +252,7 @@ class RSpec:
             element = minidom.Element(tagname)
             for key in rd.keys():
                 if isinstance(rd[key], StringTypes) or isinstance(rd[key], int):
-                    element.setAttribute(key, str(rd[key]))
+                    element.setAttribute(key, unicode(rd[key]))
                 elif isinstance(rd[key], dict):
                     child = elementNode(key, rd[key])
                     element.appendChild(child)