MedatechUK Python API for Priority oData
Project description
Python API
About
A Python package of common EDI functions.
Install
To install this package use:
pip install MedatechUK.APY
Imports
Logging Class
A class to create log files.
from MedatechUK.mLog import mLog
log = mLog()
log.start( os.getcwd(), "DEBUG" )
log.logger.debug("Starting {}".format(__file__))
Config Class
A class for managing oData settings.
from MedatechUK.oDataConfig import Config
c = Config( # Using this configuration
env="wlnd" , # the Priority environment
path=os.getcwd() # the location of the config file
)
Command Line Arguments
A package of command line tools, including parsing the sys.argv function in Python.
progname.exe -arg value -arg2 "value two"
arg.byName(['arg','a']) = "value"
arg.byName(['arg2','a2']) = "value two"
arg.byName(['arg3','a3']) = None
Serial Class
A package for working with serial data.
See also: Serial object methods
from MedatechUK.Serial import SerialBase , SerialT , SerialF
# Load an Order from json file
with open('test.json', 'r') as the_file:
q = order(json=the_file)
# Save to xml
q.toFile('test2.xml', q.toXML, root="root")
APY Class
A class for handling HTTP Request/Response.
See Also: the http transport example
from MedatechUK.apy import Request , Response
def ProcessRequest(request) :
log = mLog()
try:
q = order(**request.data)
q.toPri(
Config(
env=request.environment ,
path=os.getcwd()
) ,
q.toFlatOdata,
request=request
)
except Exception as e:
log.logger.critical(str(e))
exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
request.response.Status = 500
request.response.Message = "Internal Server Error"
request.response.data ={ "error" :
{
"type": exc_type,
"message": str(e),
"script": fname,
"line": exc_tb.tb_lineno
}
}
AppSvc Class
This package contains a debug-able inheritable Windows Service.
class MySVC(AppSvc):
_svc_name_ = "testSVC"
_svc_display_name_ = "Test Service"
def __init__(self , args):
self.Main = MySVC.main
self.Init = MySVC.init
self.Folder = Path(__file__).parent
AppSvc.__init__(self , args)
def init(self):
if self.debuginit: debugpy.breakpoint() # -debug init
# Do servce setup
def main(self):
if self.debug: debugpy.breakpoint # -debug
# Main service
self.log.logger.debug(self.clArg.byName(['env','e']))
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(MySVC)
EPDM Class
A package for working with EPDM (Solid Works) serial data.
See Also: Making the EPDM example executable.
See Also: Running the EPDM executable from a service
from MedatechUK.epdm import xmlTransactions
# Load an EPDM file.
try:
with open('example.xml', 'r') as the_file:
q = xmlTransactions(_xml=the_file)
for t in q.transactions:
recurse(t.document)
except Exception as e:
log.logger.critical(str(e))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
medatechuk_apy-0.0.27.tar.gz
(40.5 kB
view hashes)
Built Distribution
Close
Hashes for MedatechUK.APY-0.0.27-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f54e64fe9a1f7e8c21b114fab5d65d2b4f60f5e76864b1aa91bacf90bf6df72 |
|
MD5 | ebe670110e9fefcd690192566cbb3d1a |
|
BLAKE2b-256 | 8a7b18ecec48761bc6cfe9c8cb0ab96775a1adcb5fa290cdaf0ad6fcbe1fe73a |