Module borisat.apis.rd
Expand source code
from typing import Dict
import zeep
from pydantic import AnyHttpUrl
from requests import Session
from zeep import Client
from zeep import Transport
from zeep.helpers import serialize_object
def get_client(wsdl: AnyHttpUrl) -> Client:
session = Session()
session.verify = False
transport = Transport(session=session)
client = zeep.Client(wsdl=wsdl, transport=transport)
return client
def call_service(client: Client, *args, service: str=None) -> Dict:
""" call service + use default cred + make it a python object """
credentials = 'anonymous', 'anonymous'
if service is None:
service = dir(client.service)[0]
service_proxy = getattr(client.service, service)
result = service_proxy(*credentials, *args)
result = serialize_object(result, target_cls=dict)
return result
def call(*args, wsdl: AnyHttpUrl) -> Dict:
client = get_client(wsdl)
return call_service(client, *args)
Functions
def call(*args, wsdl: pydantic.networks.AnyHttpUrl) ‑> Dict-
Expand source code
def call(*args, wsdl: AnyHttpUrl) -> Dict: client = get_client(wsdl) return call_service(client, *args) def call_service(client: zeep.client.Client, *args, service: str = None) ‑> Dict-
call service + use default cred + make it a python object
Expand source code
def call_service(client: Client, *args, service: str=None) -> Dict: """ call service + use default cred + make it a python object """ credentials = 'anonymous', 'anonymous' if service is None: service = dir(client.service)[0] service_proxy = getattr(client.service, service) result = service_proxy(*credentials, *args) result = serialize_object(result, target_cls=dict) return result def get_client(wsdl: pydantic.networks.AnyHttpUrl) ‑> zeep.client.Client-
Expand source code
def get_client(wsdl: AnyHttpUrl) -> Client: session = Session() session.verify = False transport = Transport(session=session) client = zeep.Client(wsdl=wsdl, transport=transport) return client