def _write_wsdl(config): from lxml import etree from spyne.interface.wsdl import Wsdl11 from spyne.test.sort_wsdl import sort_wsdl from spyne.util.appreg import applications for (tns, name), appdata in applications.items(): appdata.app.transport = "no_transport_at_all" wsdl = Wsdl11(appdata.app.interface) wsdl.build_interface_document('hxxp://invalid_url') doc = wsdl.get_interface_document() elt = etree.parse(StringIO(doc)) sort_wsdl(elt) file_name = join(config.write_wsdl, 'wsdl.%s.xml' % name) try: os.makedirs(dirname(file_name)) except OSError: pass try: with open(file_name, 'w') as f: f.write(etree.tostring(elt, pretty_print=True)) except Exception as e: print("Error:", e) return -1 print(file_name, "written.") return True # to force exit
def _write_xsd(config): from lxml import etree from spyne.interface.xml_schema import XmlSchema from spyne.util.appreg import applications for (tns, name), appdata in applications.items(): xsd = XmlSchema(appdata.app.interface) xsd.build_interface_document() schemas = xsd.get_interface_document() dir_name = join(config.write_xsd, 'schema.%s' % name) try: os.makedirs(dir_name) except OSError: pass for k, v in schemas.items(): file_name = os.path.join(dir_name, "%s.xsd" % k) try: with open(file_name, 'wb') as f: etree.ElementTree(v).write(f, pretty_print=True) except Exception as e: print("Error:", e) return -1 print("written",file_name, "for ns", appdata.app.interface.nsmap[k]) return True # to force exit