reviewed imports, tolerant on some that are hard to get on a mac
[sfa.git] / sfatables / xmlrule.py
index 3d9eeda..e21f9d8 100644 (file)
@@ -1,5 +1,9 @@
 import libxml2
-import libxslt
+# allow to run sfa2wsdl if this is missing (for mac)
+import sys
+try:import libxslt
+except: print >>sys.stderr, "WARNING, could not import libxslt"
+
 from sfatables.globals import *
 
 class XMLRule:
@@ -10,7 +14,6 @@ class XMLRule:
         filepath = os.path.join(sfatables_config, 'processors', processor)
         # XXX
 
-        print filepath
         styledoc = libxml2.parseFile(filepath)
         style = libxslt.parseStylesheetDoc(styledoc)
         result = style.applyStylesheet(doc, None)
@@ -57,7 +60,7 @@ class XMLRule:
 
     def add_rule_context_to_rspec(self, doc):
         p = doc.xpathNewContext()
-        context = p.xpathEval("//rspec")
+        context = p.xpathEval("//RSpec")
         if (not context):
             raise Exception('Request is not an rspec')
         else:
@@ -85,10 +88,11 @@ class XMLRule:
         #       then target(target_args, rspec)
         #       else rspec
         
+        import pdb
         if (self.match(rspec)):
-            return self.wrap_up(self.target(rspec))
+            return (True,self.wrap_up(self.target(rspec)))
         else:
-            return self.wrap_up(rspec)
+            return (False,self.wrap_up(rspec))
 
 
     def apply_compiled(rspec):