+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 >>sys.stderr, "WARNING, could not import libxslt"
+
+from sfatables.globals import sfatables_config
class XMLRule:
def apply_processor(self, type, doc, output_xpath_filter=None):
filepath = os.path.join(sfatables_config, 'processors', processor)
# XXX
- print filepath
styledoc = libxml2.parseFile(filepath)
style = libxslt.parseStylesheetDoc(styledoc)
result = style.applyStylesheet(doc, None)
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
# else rspec
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):
+ def apply_compiled(self, rspec):
# Not supported yet
return None