a little nicer wrt pep8
[sfa.git] / sfatables / xmlrule.py
index ea73a4f..b749147 100644 (file)
@@ -1,6 +1,11 @@
+import sys,os
+
 import libxml2
-import libxslt
-from sfatables.globals import *
+# allow to run sfa2wsdl if this is missing (for mac)
+try:import libxslt
+except: print("WARNING, could not import libxslt", file=sys.stderr)
+
+from sfatables.globals import sfatables_config
 
 class XMLRule:
     def apply_processor(self, type, doc, output_xpath_filter=None):
@@ -56,8 +61,8 @@ class XMLRule:
 
     def add_rule_context_to_rspec(self, doc):
         p = doc.xpathNewContext()
-        context = p.xpathEval("//RSpec")
-        if (not context):
+        context = p.xpathEval("//*")
+        if not context or context[0].name not in ['RSpec', 'rspec']:
             raise Exception('Request is not an rspec')
         else:
             # Add the request context
@@ -85,14 +90,12 @@ class XMLRule:
         #       else rspec
         
         if (self.match(rspec)):
-            print "Matched!"
             return (True,self.wrap_up(self.target(rspec)))
         else:
-            print "Not Matched!"
             return (False,self.wrap_up(rspec))
 
 
-    def apply_compiled(rspec):
+    def apply_compiled(self, rspec):
         # Not supported yet
         return None