Skip to main content

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


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 details)

Uploaded Source

Built Distribution

MedatechUK.APY-0.0.27-py3-none-any.whl (41.5 kB view details)

Uploaded Python 3

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

Hashes for medatechuk_apy-0.0.27.tar.gz
Algorithm Hash digest
SHA256 45faac1dcdc48cb3c3effd4e4f0729081df3898856be907e0394d7483b7b3c7b
MD5 a9a1961232ab7da0c6ada7373963744f
BLAKE2b-256 9e663ab2f75ec4966063c3d0dc8fa3824e784b13be5e42bcd7e9c5211856c86b

See more details on using hashes here.

File details

Details for the file MedatechUK.APY-0.0.27-py3-none-any.whl.

File metadata

File hashes

Hashes for MedatechUK.APY-0.0.27-py3-none-any.whl
Algorithm Hash digest
SHA256 8f54e64fe9a1f7e8c21b114fab5d65d2b4f60f5e76864b1aa91bacf90bf6df72
MD5 ebe670110e9fefcd690192566cbb3d1a
BLAKE2b-256 8a7b18ecec48761bc6cfe9c8cb0ab96775a1adcb5fa290cdaf0ad6fcbe1fe73a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page