iris-pex-embedded-python 3.1.6b2__tar.gz → 3.2.0b1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of iris-pex-embedded-python might be problematic. Click here for more details.
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/PKG-INFO +2 -1
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/pyproject.toml +3 -2
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_utils.py +38 -1
- iris_pex_embedded_python-3.2.0b1/src/iop/cls/IOP/Message/JSONSchema.cls +100 -0
- iris_pex_embedded_python-3.2.0b1/src/iop/cls/IOP/Message.cls +655 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iris_pex_embedded_python.egg-info/PKG-INFO +2 -1
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iris_pex_embedded_python.egg-info/SOURCES.txt +1 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iris_pex_embedded_python.egg-info/requires.txt +1 -0
- iris_pex_embedded_python-3.1.6b2/src/iop/cls/IOP/Message.cls +0 -198
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/LICENSE +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/README.md +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/setup.cfg +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/setup.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/__init__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/BusinessOperation.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/BusinessProcess.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/BusinessService.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/Common.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/Director.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/Duplex/Operation.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/Duplex/Process.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/Duplex/Service.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/InboundAdapter.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/Message.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/OutboundAdapter.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/PickleMessage.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Duplex.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Ack.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/Test.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/PEX/Utils.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/cls/Grongier/Service/WSGI.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/pex/__init__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/pex/__main__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/pex/_business_host.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/pex/_cli.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/pex/_common.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/pex/_director.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/pex/_utils.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/grongier/pex/wsgi/handlers.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_BufferReader.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_BufferWriter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_ConnectionInformation.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_ConnectionParameters.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_Constant.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_DBList.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_Device.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_GatewayContext.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_GatewayException.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_GatewayUtility.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRIS.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISConnection.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISEmbedded.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISGlobalNode.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISGlobalNodeView.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISIterator.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISList.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISNative.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISOREF.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISObject.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_IRISReference.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_InStream.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_LegacyIterator.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_ListItem.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_ListReader.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_ListWriter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_LogFileStream.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_MessageHeader.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_OutStream.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_PrintStream.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_PythonGateway.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/_SharedMemorySocket.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/__init__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/__main__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_Column.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_DBAPI.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_Descriptor.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_IRISStream.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_Message.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_Parameter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_ParameterCollection.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_ResultSetRow.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/_SQLType.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/__init__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/preparser/_PreParser.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/preparser/_Scanner.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/preparser/_Token.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/preparser/_TokenList.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/dbapi/preparser/__init__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_BusinessHost.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_BusinessOperation.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_BusinessProcess.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_BusinessService.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_Common.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_Director.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_IRISBusinessOperation.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_IRISBusinessService.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_IRISInboundAdapter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_IRISOutboundAdapter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_InboundAdapter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_Message.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/_OutboundAdapter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/intersystems_iris/pex/__init__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/__init__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/__main__.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_business_host.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_business_operation.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_business_process.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_business_service.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_cli.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_common.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_director.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_inbound_adapter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_message.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_outbound_adapter.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_pickle_message.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_private_session_duplex.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/_private_session_process.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/BusinessOperation.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/BusinessProcess.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/BusinessService.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/Common.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/Director.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/Duplex/Operation.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/Duplex/Process.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/Duplex/Service.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/InboundAdapter.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/OutboundAdapter.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/PickleMessage.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/PrivateSession/Duplex.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/PrivateSession/Message/Ack.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/PrivateSession/Message/Poll.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/PrivateSession/Message/Start.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/PrivateSession/Message/Stop.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/Service/WSGI.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/Test.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/cls/IOP/Utils.cls +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iop/wsgi/handlers.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iris_pex_embedded_python.egg-info/dependency_links.txt +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iris_pex_embedded_python.egg-info/entry_points.txt +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/iris_pex_embedded_python.egg-info/top_level.txt +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/irisnative/_IRISNative.py +0 -0
- {iris_pex_embedded_python-3.1.6b2 → iris_pex_embedded_python-3.2.0b1}/src/irisnative/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: iris_pex_embedded_python
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.2.0b1
|
|
4
4
|
Summary: Iris Interoperability based on Embedded Python
|
|
5
5
|
Author-email: grongier <guillaume.rongier@intersystems.com>
|
|
6
6
|
License: MIT License
|
|
@@ -48,6 +48,7 @@ Requires-Dist: dacite>=1.6.0
|
|
|
48
48
|
Requires-Dist: xmltodict>=0.12.0
|
|
49
49
|
Requires-Dist: iris-embedded-python-wrapper>=0.0.6
|
|
50
50
|
Requires-Dist: setuptools>=40.8.0
|
|
51
|
+
Requires-Dist: dc-schema>=0.0.8
|
|
51
52
|
|
|
52
53
|
# IoP (Interoperability On Python)
|
|
53
54
|
|
|
@@ -3,7 +3,7 @@ requires = ["setuptools", "wheel"]
|
|
|
3
3
|
|
|
4
4
|
[project]
|
|
5
5
|
name = "iris_pex_embedded_python"
|
|
6
|
-
version = "3.
|
|
6
|
+
version = "3.2.0b1"
|
|
7
7
|
description = "Iris Interoperability based on Embedded Python"
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
authors = [
|
|
@@ -30,7 +30,8 @@ dependencies = [
|
|
|
30
30
|
"dacite >=1.6.0",
|
|
31
31
|
"xmltodict>=0.12.0",
|
|
32
32
|
"iris-embedded-python-wrapper>=0.0.6",
|
|
33
|
-
"setuptools >= 40.8.0"
|
|
33
|
+
"setuptools >= 40.8.0",
|
|
34
|
+
"dc-schema >= 0.0.8"
|
|
34
35
|
]
|
|
35
36
|
|
|
36
37
|
license = { file = "LICENSE" }
|
|
@@ -6,6 +6,8 @@ import inspect
|
|
|
6
6
|
import xmltodict
|
|
7
7
|
import pkg_resources
|
|
8
8
|
import importlib
|
|
9
|
+
import json
|
|
10
|
+
from dc_schema import get_schema
|
|
9
11
|
|
|
10
12
|
class _Utils():
|
|
11
13
|
@staticmethod
|
|
@@ -33,6 +35,33 @@ class _Utils():
|
|
|
33
35
|
if path:
|
|
34
36
|
_Utils.raise_on_error(iris.cls('%SYSTEM.OBJ').LoadDir(path,'cubk',"*.cls",1))
|
|
35
37
|
|
|
38
|
+
@staticmethod
|
|
39
|
+
def register_message_schema(cls):
|
|
40
|
+
"""
|
|
41
|
+
It takes a class and registers the schema
|
|
42
|
+
|
|
43
|
+
:param cls: The class to register
|
|
44
|
+
"""
|
|
45
|
+
schema = get_schema(cls)
|
|
46
|
+
schema_name = cls.__module__ + '.' + cls.__name__
|
|
47
|
+
schema_str = json.dumps(schema)
|
|
48
|
+
categories = schema_name
|
|
49
|
+
_Utils.register_schema(schema_name,schema_str,categories)
|
|
50
|
+
|
|
51
|
+
@staticmethod
|
|
52
|
+
def register_schema(schema_name:str, schema_str:str,categories:str):
|
|
53
|
+
"""
|
|
54
|
+
It takes a schema name, a schema string, and a category string, and registers the schema
|
|
55
|
+
|
|
56
|
+
:param schema_name: The name of the schema
|
|
57
|
+
:type schema_name: str
|
|
58
|
+
:param schema_str: The schema as a string
|
|
59
|
+
:type schema_str: str
|
|
60
|
+
:param categories: The categories of the schema
|
|
61
|
+
:type categories: str
|
|
62
|
+
"""
|
|
63
|
+
_Utils.raise_on_error(iris.cls('IOP.Message.JSONSchema').Import(schema_str,categories,schema_name))
|
|
64
|
+
|
|
36
65
|
@staticmethod
|
|
37
66
|
def register_component(module:str,classname:str,path:str,overwrite:int=1,iris_classname:str='Python'):
|
|
38
67
|
"""
|
|
@@ -128,7 +157,7 @@ class _Utils():
|
|
|
128
157
|
extend = klass.bases[0].id
|
|
129
158
|
else:
|
|
130
159
|
extend = klass.bases[0].attr
|
|
131
|
-
if
|
|
160
|
+
if extend in ('BusinessOperation','BusinessProcess','BusinessService','DuplexService','DuplexProcess','DuplexOperation','InboundAdapter','OutboundAdapter'):
|
|
132
161
|
module = _Utils.filename_to_module(filename)
|
|
133
162
|
iris_class_name = f"{iris_package_name}.{module}.{klass.name}"
|
|
134
163
|
# strip "_" for iris class name
|
|
@@ -188,6 +217,8 @@ class _Utils():
|
|
|
188
217
|
list of dictionaries:
|
|
189
218
|
* key: the name of the production
|
|
190
219
|
* value: a dictionary containing the settings for the production
|
|
220
|
+
* SCHEMAS
|
|
221
|
+
List of classes
|
|
191
222
|
"""
|
|
192
223
|
path = None
|
|
193
224
|
# try to load the settings file
|
|
@@ -216,6 +247,12 @@ class _Utils():
|
|
|
216
247
|
_Utils.set_productions_settings(settings.PRODUCTIONS,path)
|
|
217
248
|
except AttributeError:
|
|
218
249
|
print("No productions to register")
|
|
250
|
+
try:
|
|
251
|
+
# set the schemas
|
|
252
|
+
for cls in settings.SCHEMAS:
|
|
253
|
+
_Utils.register_message_schema(cls)
|
|
254
|
+
except AttributeError:
|
|
255
|
+
print("No schemas to register")
|
|
219
256
|
try:
|
|
220
257
|
sys.path.remove(path)
|
|
221
258
|
except ValueError:
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
Class IOP.Message.JSONSchema Extends %Persistent
|
|
2
|
+
{
|
|
3
|
+
|
|
4
|
+
Property Name As %String;
|
|
5
|
+
|
|
6
|
+
Property Category As %String;
|
|
7
|
+
|
|
8
|
+
Property JSONSchema As %String(MAXLEN = "");
|
|
9
|
+
|
|
10
|
+
Index NameIndex On Name [ IdKey, Unique ];
|
|
11
|
+
|
|
12
|
+
/// Store the JSON Schema in this object
|
|
13
|
+
ClassMethod Import(
|
|
14
|
+
pSchema As %String,
|
|
15
|
+
pCategory As %String = "",
|
|
16
|
+
pName As %String) As %Status
|
|
17
|
+
{
|
|
18
|
+
Set pStatus = $$$OK
|
|
19
|
+
Try {
|
|
20
|
+
if ##class(IOP.Message.JSONSchema).%ExistsId(pName) {
|
|
21
|
+
Set tThis = ##class(IOP.Message.JSONSchema).%OpenId(pName)
|
|
22
|
+
Set tThis.Category = pCategory
|
|
23
|
+
Set tThis.JSONSchema = pSchema
|
|
24
|
+
$$$ThrowOnError(tThis.%Save())
|
|
25
|
+
} Else {
|
|
26
|
+
Set tThis = ##class(IOP.Message.JSONSchema).%New()
|
|
27
|
+
Set tThis.Name = pName
|
|
28
|
+
Set tThis.Category = pCategory
|
|
29
|
+
Set tThis.JSONSchema = pSchema
|
|
30
|
+
$$$ThrowOnError(tThis.%Save())
|
|
31
|
+
}
|
|
32
|
+
} Catch ex {
|
|
33
|
+
Set pStatus = ex.AsStatus()
|
|
34
|
+
}
|
|
35
|
+
Quit pStatus
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/// Get a stored schema by category and name
|
|
39
|
+
ClassMethod GetSchema(
|
|
40
|
+
pName As %String = "",
|
|
41
|
+
Output pSchema As %String) As %Status
|
|
42
|
+
{
|
|
43
|
+
Set pStatus = $$$OK
|
|
44
|
+
Try {
|
|
45
|
+
Set tSql = "SELECT JSONSchema FROM IOP_Message.JSONSchema WHERE Name = ?"
|
|
46
|
+
Set tStatement = ##class(%SQL.Statement).%New()
|
|
47
|
+
Do tStatement.%Prepare(tSql)
|
|
48
|
+
set rs = tStatement.%Execute(pName)
|
|
49
|
+
If rs.%Next() {
|
|
50
|
+
Set pSchema = rs.%Get("JSONSchema")
|
|
51
|
+
} Else {
|
|
52
|
+
Set pStatus = $$$ERROR($$$GeneralError, "Schema not found")
|
|
53
|
+
}
|
|
54
|
+
} Catch ex {
|
|
55
|
+
Set pStatus = ex.AsStatus()
|
|
56
|
+
}
|
|
57
|
+
Return pStatus
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/// Validate JSON data against a stored schema
|
|
61
|
+
ClassMethod ValidateJSONSchema(
|
|
62
|
+
pJSON As %String,
|
|
63
|
+
pName As %String) As %Status
|
|
64
|
+
{
|
|
65
|
+
Set tSC = $$$OK
|
|
66
|
+
Try {
|
|
67
|
+
Set tSchema = ""
|
|
68
|
+
Set tSC = ..GetSchema(pName, .tSchema)
|
|
69
|
+
If $$$ISERR(tSC) Return tSC
|
|
70
|
+
// Validate JSON data against schema
|
|
71
|
+
// To be implemented
|
|
72
|
+
Set tSC = $$$OK
|
|
73
|
+
} Catch ex {
|
|
74
|
+
Set tSC = ex.AsStatus()
|
|
75
|
+
}
|
|
76
|
+
Return tSC
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
Storage Default
|
|
80
|
+
{
|
|
81
|
+
<Data name="JSONSchemaDefaultData">
|
|
82
|
+
<Value name="1">
|
|
83
|
+
<Value>%%CLASSNAME</Value>
|
|
84
|
+
</Value>
|
|
85
|
+
<Value name="2">
|
|
86
|
+
<Value>JSONSchema</Value>
|
|
87
|
+
</Value>
|
|
88
|
+
<Value name="3">
|
|
89
|
+
<Value>Category</Value>
|
|
90
|
+
</Value>
|
|
91
|
+
</Data>
|
|
92
|
+
<DataLocation>^IOP.Message.JSONSchemaD</DataLocation>
|
|
93
|
+
<DefaultData>JSONSchemaDefaultData</DefaultData>
|
|
94
|
+
<IdLocation>^IOP.Message.JSONSchemaD</IdLocation>
|
|
95
|
+
<IndexLocation>^IOP.Message.JSONSchemaI</IndexLocation>
|
|
96
|
+
<StreamLocation>^IOP.Message.JSONSchemaS</StreamLocation>
|
|
97
|
+
<Type>%Storage.Persistent</Type>
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
}
|