def create_soap_service(app): spyne = Spyne(app) class SomeSoapService(spyne.Service): __service_url_path__ = '/soap/someservice' __in_protocol__ = Soap11(validator='lxml') __out_protocol__ = Soap11() @spyne.srpc(Unicode, Integer, _returns=Iterable(Unicode)) def echo(str, cnt): for i in range(cnt): yield str soap_service = SomeSoapService() return soap_service
from spyne.model.complex import Iterable, ComplexModel, Array from spyne.model.primitive import DateTime import json import logging import requests import datetime h = logging.StreamHandler() rl = logging.getLogger() rl.setLevel(logging.DEBUG) rl.addHandler(h) app = Flask(__name__) spyne = Spyne(app) """ Modelos de spyne utilizados para crear el WSDL y manejar los requests y responses """ class AV(ComplexModel): key = Integer(min_occurs=1, max_occurs=1, nillable=False) value = Integer(min_occurs=1, max_occurs=1, nillable=False) class Connection(ComplexModel): Index = Integer(min_occurs=0, max_occurs=1, nillable=True) flightNumber = Unicode(min_occurs=0, max_occurs=1, nillable=True)
from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_spyne import Spyne from flask_session import Session from datetime import datetime db = SQLAlchemy() spyne = Spyne() sess = Session() def create_app(config='Development'): # setting the static_url_path to blank serves static # files from the web root, allowing for robots.txt app = Flask(__name__, static_url_path='') app.config.from_object('pwnedhub.config.{}'.format(config.title())) db.init_app(app) spyne.init_app(app) sess.init_app(app) # register new jinja global for the current date # used in the layout to keep the current year app.jinja_env.globals['date'] = datetime.now() from views import ph_bp app.register_blueprint(ph_bp) return app