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
Built Distribution
File details
Details for the file medatechuk_apy-0.0.27.tar.gz
.
File metadata
- Download URL: medatechuk_apy-0.0.27.tar.gz
- Upload date:
- Size: 40.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
45faac1dcdc48cb3c3effd4e4f0729081df3898856be907e0394d7483b7b3c7b
|
|
MD5 |
a9a1961232ab7da0c6ada7373963744f
|
|
BLAKE2b-256 |
9e663ab2f75ec4966063c3d0dc8fa3824e784b13be5e42bcd7e9c5211856c86b
|
File details
Details for the file MedatechUK.APY-0.0.27-py3-none-any.whl
.
File metadata
- Download URL: MedatechUK.APY-0.0.27-py3-none-any.whl
- Upload date:
- Size: 41.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
8f54e64fe9a1f7e8c21b114fab5d65d2b4f60f5e76864b1aa91bacf90bf6df72
|
|
MD5 |
ebe670110e9fefcd690192566cbb3d1a
|
|
BLAKE2b-256 |
8a7b18ecec48761bc6cfe9c8cb0ab96775a1adcb5fa290cdaf0ad6fcbe1fe73a
|