iris-pex-embedded-python 2.3.27b2__py3-none-any.whl → 3.2.1b2__py3-none-any.whl
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.
- grongier/cls/Grongier/PEX/BusinessOperation.cls +1 -28
- grongier/cls/Grongier/PEX/BusinessProcess.cls +1 -100
- grongier/cls/Grongier/PEX/BusinessService.cls +1 -28
- grongier/cls/Grongier/PEX/Common.cls +1 -194
- grongier/cls/Grongier/PEX/Director.cls +1 -48
- grongier/cls/Grongier/PEX/Duplex/Operation.cls +1 -26
- grongier/cls/Grongier/PEX/Duplex/Process.cls +1 -217
- grongier/cls/Grongier/PEX/Duplex/Service.cls +1 -6
- grongier/cls/Grongier/PEX/InboundAdapter.cls +1 -15
- grongier/cls/Grongier/PEX/Message.cls +1 -116
- grongier/cls/Grongier/PEX/OutboundAdapter.cls +1 -29
- grongier/cls/Grongier/PEX/PickleMessage.cls +1 -46
- grongier/cls/Grongier/PEX/PrivateSession/Duplex.cls +1 -253
- grongier/cls/Grongier/PEX/PrivateSession/Message/Ack.cls +1 -19
- grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls +1 -19
- grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls +1 -19
- grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls +1 -35
- grongier/cls/Grongier/PEX/Test.cls +1 -53
- grongier/cls/Grongier/PEX/Utils.cls +1 -365
- grongier/cls/Grongier/Service/WSGI.cls +1 -307
- grongier/pex/__init__.py +11 -11
- grongier/pex/__main__.py +1 -1
- grongier/pex/_business_host.py +1 -511
- grongier/pex/_cli.py +2 -150
- grongier/pex/_common.py +1 -347
- grongier/pex/_director.py +1 -286
- grongier/pex/_utils.py +1 -369
- intersystems_iris/_ConnectionInformation.py +22 -20
- intersystems_iris/dbapi/_DBAPI.py +6 -1
- intersystems_iris/dbapi/_ResultSetRow.py +26 -15
- intersystems_iris/dbapi/preparser/_PreParser.py +4 -1
- iop/__init__.py +24 -0
- iop/__main__.py +4 -0
- iop/_business_host.py +675 -0
- iop/_business_operation.py +71 -0
- iop/_business_process.py +220 -0
- {grongier/pex → iop}/_business_service.py +2 -2
- iop/_cli.py +141 -0
- iop/_common.py +352 -0
- iop/_director.py +301 -0
- {grongier/pex → iop}/_inbound_adapter.py +1 -1
- iop/_log_manager.py +81 -0
- {grongier/pex → iop}/_message.py +1 -1
- {grongier/pex → iop}/_outbound_adapter.py +1 -1
- {grongier/pex → iop}/_private_session_duplex.py +3 -2
- {grongier/pex → iop}/_private_session_process.py +2 -2
- iop/_utils.py +458 -0
- iop/cls/IOP/BusinessOperation.cls +35 -0
- iop/cls/IOP/BusinessProcess.cls +124 -0
- iop/cls/IOP/BusinessService.cls +35 -0
- iop/cls/IOP/Common.cls +344 -0
- iop/cls/IOP/Director.cls +62 -0
- iop/cls/IOP/Duplex/Operation.cls +29 -0
- iop/cls/IOP/Duplex/Process.cls +229 -0
- iop/cls/IOP/Duplex/Service.cls +9 -0
- iop/cls/IOP/InboundAdapter.cls +22 -0
- iop/cls/IOP/Message/JSONSchema.cls +125 -0
- iop/cls/IOP/Message.cls +729 -0
- iop/cls/IOP/OutboundAdapter.cls +36 -0
- iop/cls/IOP/PickleMessage.cls +58 -0
- iop/cls/IOP/PrivateSession/Duplex.cls +260 -0
- iop/cls/IOP/PrivateSession/Message/Ack.cls +32 -0
- iop/cls/IOP/PrivateSession/Message/Poll.cls +32 -0
- iop/cls/IOP/PrivateSession/Message/Start.cls +32 -0
- iop/cls/IOP/PrivateSession/Message/Stop.cls +48 -0
- iop/cls/IOP/Service/WSGI.cls +310 -0
- iop/cls/IOP/Test.cls +85 -0
- iop/cls/IOP/Utils.cls +378 -0
- iop/wsgi/handlers.py +104 -0
- iris_pex_embedded_python-3.2.1b2.dist-info/METADATA +90 -0
- iris_pex_embedded_python-3.2.1b2.dist-info/RECORD +139 -0
- {iris_pex_embedded_python-2.3.27b2.dist-info → iris_pex_embedded_python-3.2.1b2.dist-info}/WHEEL +1 -1
- iris_pex_embedded_python-3.2.1b2.dist-info/entry_points.txt +2 -0
- {iris_pex_embedded_python-2.3.27b2.dist-info → iris_pex_embedded_python-3.2.1b2.dist-info}/top_level.txt +1 -1
- grongier/pex/_business_operation.py +0 -70
- grongier/pex/_business_process.py +0 -215
- iris/__init__.py +0 -60
- iris/__init__.pyi +0 -236
- iris/iris_ipm.py +0 -40
- iris/iris_ipm.pyi +0 -17
- iris_pex_embedded_python-2.3.27b2.dist-info/METADATA +0 -1384
- iris_pex_embedded_python-2.3.27b2.dist-info/RECORD +0 -113
- iris_pex_embedded_python-2.3.27b2.dist-info/entry_points.txt +0 -2
- {grongier/pex → iop}/_pickle_message.py +0 -0
- {iris_pex_embedded_python-2.3.27b2.dist-info → iris_pex_embedded_python-3.2.1b2.dist-info}/LICENSE +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
grongier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
grongier/cls/Grongier/PEX/BusinessOperation.cls,sha256=FgLLHTU8yHKxZIoz__5rtHW89b-o_Tjjf5i09WIqcJs,291
|
|
3
|
+
grongier/cls/Grongier/PEX/BusinessProcess.cls,sha256=0S7RU0GYafviILGCwkOKk7mQtP1Bvmd01b1dqfLMjDk,341
|
|
4
|
+
grongier/cls/Grongier/PEX/BusinessService.cls,sha256=KEidVN2tnaJ-6QKmPj8--BqlxMOayPM7Z8A42caC5s8,287
|
|
5
|
+
grongier/cls/Grongier/PEX/Common.cls,sha256=_7K83DN_Krj5pSgPpfWmINSA0yAhZkhXLBDmKDgLeBs,292
|
|
6
|
+
grongier/cls/Grongier/PEX/Director.cls,sha256=CMmLEQRbK37zenYZOMkmRa9P6B9xLUdWgm7YLk1yKGg,306
|
|
7
|
+
grongier/cls/Grongier/PEX/InboundAdapter.cls,sha256=4S3gjicQ-yfClO4RgKgu7iJQgQaxfH_a-1NmAeZ6Uv0,285
|
|
8
|
+
grongier/cls/Grongier/PEX/Message.cls,sha256=KzWxhWjDKQMjc6fnUZSrxJ9y6u5i1jAsyj0zbeTCmto,273
|
|
9
|
+
grongier/cls/Grongier/PEX/OutboundAdapter.cls,sha256=6bRIZ2gzufF5uGzf3z0MY460Yl6gKP31yJm8kzttm8g,287
|
|
10
|
+
grongier/cls/Grongier/PEX/PickleMessage.cls,sha256=r4BTEML91d1YmvkL8L209ilSyCPunYE-zJbQIJK_kBw,285
|
|
11
|
+
grongier/cls/Grongier/PEX/Test.cls,sha256=lvCM0hUZEQuawyteeRjucJvDhkRUc2NfGC6n6vV4nrQ,116
|
|
12
|
+
grongier/cls/Grongier/PEX/Utils.cls,sha256=hJtkE_YMz0z7ufocwz98vl1ODHT-NU-Qpl5hyYVu8jo,233
|
|
13
|
+
grongier/cls/Grongier/PEX/Duplex/Operation.cls,sha256=0X9jHVkGqoh-aLTHmXdb9DuWFY6YxEBQ7dNYLCO7cdw,68
|
|
14
|
+
grongier/cls/Grongier/PEX/Duplex/Process.cls,sha256=AQiL_x5tG99tvauMwiPHsU3G6irb1HGSyBnqREXF4AQ,342
|
|
15
|
+
grongier/cls/Grongier/PEX/Duplex/Service.cls,sha256=OEYgYbxNtff_ACW2XGee9NtUht3u6nuC822cx7ng2cA,71
|
|
16
|
+
grongier/cls/Grongier/PEX/PrivateSession/Duplex.cls,sha256=7RUXLw53Tjv_IL8KpWKm4iFlAeSqAELrawJ42iu-AH4,270
|
|
17
|
+
grongier/cls/Grongier/PEX/PrivateSession/Message/Ack.cls,sha256=aKi3EhyQipGKMap19xW27CHEHRKCo9yf8Qk2LsEOwx4,429
|
|
18
|
+
grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls,sha256=pcUgHgxX1pMH-wQpE_ow8JGBCgiKmsSmsgNwYgP5eD8,431
|
|
19
|
+
grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls,sha256=T3jNoR8RjKr1InQ6SgqBYTgFwpSB0Q60WholjbvForg,433
|
|
20
|
+
grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls,sha256=zy30ZXXN4XcovPij-kOF3PuH1SkP1EUvlEJQRx2S9RU,431
|
|
21
|
+
grongier/cls/Grongier/Service/WSGI.cls,sha256=7u2SsFmnsubMfdazvaDchKCM3yesPRMfKBzMIkwQ9xc,77
|
|
22
|
+
grongier/pex/__init__.py,sha256=zHFF0Znipx1fwHYUEBZjNOYoZH1ro7z4IgYDU32kdn0,1067
|
|
23
|
+
grongier/pex/__main__.py,sha256=pQzVtkDhAeI6dpNRC632dVk2SGZZIEDwDufdgZe8VWs,98
|
|
24
|
+
grongier/pex/_business_host.py,sha256=dlV8CWJad8Pr2TNfD9OjcVKaq5gEYQACZla1FK6-bDM,44
|
|
25
|
+
grongier/pex/_cli.py,sha256=hOHz3n-aHtULuhdCkqZ_SSb3sv7M6j2WhRxgCTvgR9I,64
|
|
26
|
+
grongier/pex/_common.py,sha256=HZwG2C2-yB8yNN8kXhI6vxg8h-rROuEx38YOVFWIk1s,31
|
|
27
|
+
grongier/pex/_director.py,sha256=pCmoiJ-sxe24yQaDz6ZFBsAnqU6fh57_dlew98B7rtE,35
|
|
28
|
+
grongier/pex/_utils.py,sha256=gvsdr8WhWrE6smlsCxhoF14VUZfitrwqr5J57HkJhi4,29
|
|
29
|
+
grongier/pex/wsgi/handlers.py,sha256=NrFLo_YbAh-x_PlWhAiWkQnUUN2Ss9HoEm63dDWCBpQ,2947
|
|
30
|
+
intersystems_iris/_BufferReader.py,sha256=BXjHQs-sclAnvW9mvdlIrtku9m2Jf67Rc5rsZll7a5g,299
|
|
31
|
+
intersystems_iris/_BufferWriter.py,sha256=i2BKM99J8pB5fGn-Gjdo4vcwXPEZQymsLEQd69nJrhs,1337
|
|
32
|
+
intersystems_iris/_ConnectionInformation.py,sha256=45bPmGaXF3lG6aPClYr6qkdAUrtgDg5kvMbZKkgl_xA,1970
|
|
33
|
+
intersystems_iris/_ConnectionParameters.py,sha256=5-VwMJP_6Ya0lNnMf0UuwJQQfwHcozjknnUekMwCgQ4,578
|
|
34
|
+
intersystems_iris/_Constant.py,sha256=g2NdV669sNH4kUoAjQFNq2xWaEMQiPMoQytNNrrXOnk,1483
|
|
35
|
+
intersystems_iris/_DBList.py,sha256=D0m_N50ZhpUnGwQiPZ1ZPtNecqROZvSnVbP46RY6juA,20340
|
|
36
|
+
intersystems_iris/_Device.py,sha256=02rNhk32bLrcOdGDOsRHuX79-MLblGvAdBa-XfHtVkw,2311
|
|
37
|
+
intersystems_iris/_GatewayContext.py,sha256=anipv7v5rDS2Ha2MmXTuMtFjo6UNgzUF3SwKQSS-co8,618
|
|
38
|
+
intersystems_iris/_GatewayException.py,sha256=Hs5en7W1mhtt2heuoeyhF5IqFKGqbRD5GWyWZUhwDzs,96
|
|
39
|
+
intersystems_iris/_GatewayUtility.py,sha256=gJTslU_UZBI8bWPTPe6b41DwhaAmlpzUNYT0LkAKXKk,2735
|
|
40
|
+
intersystems_iris/_IRIS.py,sha256=vlxyMtfvyTkHHw5CkfNYqNbR1zUdAknfbLVTGxEOv3E,49548
|
|
41
|
+
intersystems_iris/_IRISConnection.py,sha256=MmPIQJPZ28HoSYafvf4r5cbenzDiHmZhKgZXVfSxnCw,21467
|
|
42
|
+
intersystems_iris/_IRISEmbedded.py,sha256=yYL71oLvHjLK_jF8wcyNjXu3ManQ_PpY2wD4GkOfa-E,2503
|
|
43
|
+
intersystems_iris/_IRISGlobalNode.py,sha256=o2MEvyRmNrvLAR0dpeQ76r9b8Yw2sKDaaRLFyGYdcDQ,12049
|
|
44
|
+
intersystems_iris/_IRISGlobalNodeView.py,sha256=0yw9z_mpSLk2m3we5z_vKSjnEdmKfZb11bbASZiiSm8,797
|
|
45
|
+
intersystems_iris/_IRISIterator.py,sha256=m1n_fRdoO8YPfDi7l-JvJTqdJuxq_kxC60aMxkxLJUE,6906
|
|
46
|
+
intersystems_iris/_IRISList.py,sha256=G_gMRqoP5DNiKwJYa6effkrKCwmFjxFTiEB104cdzow,10247
|
|
47
|
+
intersystems_iris/_IRISNative.py,sha256=aNMLADSzRwuKXomwrbB7AC6KaR6-R9fHYStAJLv0V9E,6756
|
|
48
|
+
intersystems_iris/_IRISOREF.py,sha256=tpsD0QeoqfESY-OQY0Nbm3MGD0zekCYFJ7la5TdZMyQ,213
|
|
49
|
+
intersystems_iris/_IRISObject.py,sha256=ZjdpQdy-NP0sXFdxQix58dW7kCo4ck-L9AKo9xRRoPU,14456
|
|
50
|
+
intersystems_iris/_IRISReference.py,sha256=pkDAYgxkOmDf8fpRpQf8w-12EYZ1lgqXmkRYuYQXvIo,4905
|
|
51
|
+
intersystems_iris/_InStream.py,sha256=6g4HdDoQ0MFub8Yn-Git8DkJNEoyyAtAhrvjkUdDA7I,6643
|
|
52
|
+
intersystems_iris/_LegacyIterator.py,sha256=K1CPMBDWBCwKVqIq9hBJ2q_uMiBnht_OdN66g7ZqXfw,4130
|
|
53
|
+
intersystems_iris/_ListItem.py,sha256=k9m0Q0W3e3WuI5cpB1GSZOR9NkkCT87lgvBwYFMzvic,354
|
|
54
|
+
intersystems_iris/_ListReader.py,sha256=wgK0HC56lI1Wdp9Sr3rax6w8NoR5p2YpklswpNIS5X8,2966
|
|
55
|
+
intersystems_iris/_ListWriter.py,sha256=zBQd7Mx3ho0jOd_q4RNAhw1ub1kUXVptwRYMN36OQew,5612
|
|
56
|
+
intersystems_iris/_LogFileStream.py,sha256=Dv3S8-zY3b7P4xXx7w0UVGm2vuz7bWTyaOTg6eK0l2s,3797
|
|
57
|
+
intersystems_iris/_MessageHeader.py,sha256=N45Qp25ER7ftGA0BRBxErIpavDF-j4qWv_0kobkAp6U,1662
|
|
58
|
+
intersystems_iris/_OutStream.py,sha256=_I83KPUCv9yBHsaB4QGBeSatypdiMGJxckKdNY1Jzyg,1327
|
|
59
|
+
intersystems_iris/_PrintStream.py,sha256=GNMTk-D1Nlgb6WuTGjEC6O5DRV9bqVg7JN__Gf9GNPM,1963
|
|
60
|
+
intersystems_iris/_PythonGateway.py,sha256=miV92LhCqsuBIRpLix1oqFjl5SCw9Df-GMTD6Z2Mbf0,41638
|
|
61
|
+
intersystems_iris/_SharedMemorySocket.py,sha256=2iUaS1FdJNSCUEaE-VT0O_dxF6NRwqZSxlyLfwhT9_E,4330
|
|
62
|
+
intersystems_iris/__init__.py,sha256=Tk1tD28LwvF6X3yXQsJFLE1Bc-PR3gUJWcX5UnNYOdY,1773
|
|
63
|
+
intersystems_iris/__main__.py,sha256=rCtINTfJcADMAsw1ja-MEO7Q-XekrWthYowzWV8xGIQ,218
|
|
64
|
+
intersystems_iris/dbapi/_Column.py,sha256=VCLHLXs3wuGcUa9w_qy7HBFsuGvhmmI3kGYBagQg59U,2535
|
|
65
|
+
intersystems_iris/dbapi/_DBAPI.py,sha256=LcJ42rkuyMBLW8ucaQFxAmSyPX_8atbCSpLj_W1uCiE,103150
|
|
66
|
+
intersystems_iris/dbapi/_Descriptor.py,sha256=IjyITxvjygDrhpk-0lGhdqQPh91SG6nTb1vi-AqyJNI,1391
|
|
67
|
+
intersystems_iris/dbapi/_IRISStream.py,sha256=dGJntWo4HXgM1nUHZl2hA4xHkBFEU2xkoEplVDFWhnA,2115
|
|
68
|
+
intersystems_iris/dbapi/_Message.py,sha256=jpLG3HZElqp981iNPFW8UNRO3NbHf6poEv6yywX0Ssw,4076
|
|
69
|
+
intersystems_iris/dbapi/_Parameter.py,sha256=lvPlQkoLlyEjg5J_a9t2I_6vRDkAav6kN1fGyukH4DY,5293
|
|
70
|
+
intersystems_iris/dbapi/_ParameterCollection.py,sha256=kcgNiGv2nH5AwuA6LlPpM4dWqhSqRyD3VtwqHqDGRGU,5541
|
|
71
|
+
intersystems_iris/dbapi/_ResultSetRow.py,sha256=tEQCttO6L2McLfcP7-PIltIu5L9cNzTI1jZ2IR7tdRg,13777
|
|
72
|
+
intersystems_iris/dbapi/_SQLType.py,sha256=IlDacXwQzUMWaJ02Zsu2bUfvUC3-5mBx-m6mE0Yp7ts,557
|
|
73
|
+
intersystems_iris/dbapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
74
|
+
intersystems_iris/dbapi/preparser/_PreParser.py,sha256=yyX0iUO8vq2L8duelrndFr-xPn30UPp4N-nkTl0fbCo,78990
|
|
75
|
+
intersystems_iris/dbapi/preparser/_Scanner.py,sha256=xA8rkKsaVba_mAgoXEeliyuMxNKe4vVmmw_klukdf_U,16163
|
|
76
|
+
intersystems_iris/dbapi/preparser/_Token.py,sha256=9ZYrjvYJtMApAR7RtYzp32Hcoo3jB_YpG7ECo7p6QHA,2304
|
|
77
|
+
intersystems_iris/dbapi/preparser/_TokenList.py,sha256=P74kA3DXxi7imt0mea4LPjCCc_gk50zsYLOCWON_JvA,6770
|
|
78
|
+
intersystems_iris/dbapi/preparser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
|
+
intersystems_iris/pex/_BusinessHost.py,sha256=arBAUZetLPhJY2on3BK5BJOZXXjLVJ3gr_VvkncbWDs,4370
|
|
80
|
+
intersystems_iris/pex/_BusinessOperation.py,sha256=gEyPF6A04si6UqVUY_75ulYzjMBhe337GTkcbK2OGfA,5241
|
|
81
|
+
intersystems_iris/pex/_BusinessProcess.py,sha256=P5AT-F88-_AIPL4zgCghH5Ngu3Hm_ZwOBr_CCrv7w4g,10774
|
|
82
|
+
intersystems_iris/pex/_BusinessService.py,sha256=7NVCxIdAvT9Bpcd5NPGbq-0xdhLT-TzyAaUMYTnvlVk,5441
|
|
83
|
+
intersystems_iris/pex/_Common.py,sha256=lxvHRxd8bnhCFrbiz98q5hV7o9WrK0EMJyml4T7Ou98,10509
|
|
84
|
+
intersystems_iris/pex/_Director.py,sha256=_mVLMa0OG5E4mjf6TnHHi3Xli7RREo-9l9Pq73B5zCA,1203
|
|
85
|
+
intersystems_iris/pex/_IRISBusinessOperation.py,sha256=z95u6YdR41gsWKbBPJDIyQxogdUcjJIdwlHShaZLahQ,172
|
|
86
|
+
intersystems_iris/pex/_IRISBusinessService.py,sha256=FKZFyJMgZheSDWcv8y7cdkIdY24PEitV2stTIIN972U,585
|
|
87
|
+
intersystems_iris/pex/_IRISInboundAdapter.py,sha256=oHLaJXpXNaU1U5dx3Kum7tOwCyR3FAWethw9iuS8CK4,171
|
|
88
|
+
intersystems_iris/pex/_IRISOutboundAdapter.py,sha256=W0YGTbI4KANzeERmpcy0ZpPYy3pt-v86wiOD9QDQ_zI,522
|
|
89
|
+
intersystems_iris/pex/_InboundAdapter.py,sha256=gZlWl7afumamkj8pNbpLyKFSzhaTAiAXk5mDEiFPnrA,2296
|
|
90
|
+
intersystems_iris/pex/_Message.py,sha256=Ugaa_lsEYke__pI5kdC7phAuyPQ7rxXUcROJL4cUxVQ,320
|
|
91
|
+
intersystems_iris/pex/_OutboundAdapter.py,sha256=ao2Ubbta2DcrQGdzDUD_j1Zsk8bvUfcZNKTZkzPTNBU,1628
|
|
92
|
+
intersystems_iris/pex/__init__.py,sha256=l_I1dpnluWawbFrGMDC0GLHpuHwjbpd-nho8otFX6TE,1379
|
|
93
|
+
iop/__init__.py,sha256=fX1Osx2Dmcuv8C5hmvoG4fPDIbk0qksJcIgpQibJ_p4,1067
|
|
94
|
+
iop/__main__.py,sha256=pQzVtkDhAeI6dpNRC632dVk2SGZZIEDwDufdgZe8VWs,98
|
|
95
|
+
iop/_business_host.py,sha256=7oXdGPpVSRl8lYWd0M_6VLebnMU-kayShcvzUU0BR1k,26363
|
|
96
|
+
iop/_business_operation.py,sha256=Fc0bSXpbmLpt2_fCNBOh0Wh1O4ue7y85Jkv_nP6Kzv0,2901
|
|
97
|
+
iop/_business_process.py,sha256=QPb3HM2Oz7gJMbI3uFgILH5ivOiQ6NVB37P9C_gmpNQ,8465
|
|
98
|
+
iop/_business_service.py,sha256=8dYTr4z3RE0WupT7_DeDvYjyhVqZtdDj0jA52ZSKCQ0,3771
|
|
99
|
+
iop/_cli.py,sha256=lirxrQj48uS2XWNNrjIOyMC_S-bvA-G81hg8rVpC4m4,5164
|
|
100
|
+
iop/_common.py,sha256=3zX4Ua2rZuc5CBMjVTZbdUT1fv_mQTzAWdFFtDEzfn8,14050
|
|
101
|
+
iop/_director.py,sha256=snFuj4NyvNdUClbajLee5phJFrS5fZO-YVYziW1WSe8,11586
|
|
102
|
+
iop/_inbound_adapter.py,sha256=PS5ToqhrYcXq9ZdLbCBqAfVp8kCeRACm_KF66pwBO9U,1652
|
|
103
|
+
iop/_log_manager.py,sha256=4Qq7Rw7oatlXrTi9XMWyJOfO3G8P9qs83DWfk2QhJmw,3218
|
|
104
|
+
iop/_message.py,sha256=LSkfZcmEu1aj2hdSg3sUHSWNc8tWWZR8Q2_h9_axVrs,325
|
|
105
|
+
iop/_outbound_adapter.py,sha256=YTAhLrRf9chEAd53mV6KKbpaHOKNOKJHoGgj5wakRR0,726
|
|
106
|
+
iop/_pickle_message.py,sha256=noKfc2VkXufV3fqjKvNHN_oANQ1YN9ffCaSV0XSTAIE,331
|
|
107
|
+
iop/_private_session_duplex.py,sha256=36OwAGlasbPtfwq2KgMFcr3a33RsNSqohJx243XcDWI,5153
|
|
108
|
+
iop/_private_session_process.py,sha256=pGjWFOQhWpQxUVpTtvNKTPvDxgzjfw0VC4Aqj3KUq8w,1704
|
|
109
|
+
iop/_utils.py,sha256=c59QrgQgrk528V_n6RInnq_N6RzIGAAEmaTGRwanTSI,19404
|
|
110
|
+
iop/cls/IOP/BusinessOperation.cls,sha256=lrymqZ8wHl5kJjXwdjbQVs5sScV__yIWGh-oGbiB_X0,914
|
|
111
|
+
iop/cls/IOP/BusinessProcess.cls,sha256=s3t38w1ykHqM26ETcbCYLt0ocjZyVVahm-_USZkuJ1E,2855
|
|
112
|
+
iop/cls/IOP/BusinessService.cls,sha256=7ebn32J9PiZXUgXuh5Xxm_7X6zHBiqkJr9c_dWxbPO8,1021
|
|
113
|
+
iop/cls/IOP/Common.cls,sha256=4f4ZpLj8fsj8IKJDNb9pKoCokzo522JHWX0OqpAaC5g,11192
|
|
114
|
+
iop/cls/IOP/Director.cls,sha256=M43LoTb6lwSr0J81RFxi1YLW1mwda09wQ7Xqr3nBtxo,2008
|
|
115
|
+
iop/cls/IOP/InboundAdapter.cls,sha256=GeoCm6q5HcLJ5e4VxgqXiErJXqolBbpKwpunaNzpvjU,610
|
|
116
|
+
iop/cls/IOP/Message.cls,sha256=EJWt0ifN3v-QxFit-xvU4Brodx58_jWeYZDoiyHuHa8,25156
|
|
117
|
+
iop/cls/IOP/OutboundAdapter.cls,sha256=9eOwy5ojwcTzwrHs6LNrFQvUD8aqcoNCZrILN1ycdDM,958
|
|
118
|
+
iop/cls/IOP/PickleMessage.cls,sha256=S3y7AClQ8mAILjxPuHdCjGosBZYzGbUQ5WTv4mYPNMQ,1673
|
|
119
|
+
iop/cls/IOP/Test.cls,sha256=gAC9PEfMZsvAEWIa241-ug2FWAhITbN1SOispZzJPnI,2094
|
|
120
|
+
iop/cls/IOP/Utils.cls,sha256=ZTBr02spm4ppxVBfhnUwb08BmhTjG5-ZbItRshYHs1I,13746
|
|
121
|
+
iop/cls/IOP/Duplex/Operation.cls,sha256=K_fmgeLjPZQbHgNrc0kd6DUQoW0fDn1VHQjJxHo95Zk,525
|
|
122
|
+
iop/cls/IOP/Duplex/Process.cls,sha256=xbefZ4z84a_IUhavWN6P_gZBzqkdJ5XRTXxro6iDvAg,6986
|
|
123
|
+
iop/cls/IOP/Duplex/Service.cls,sha256=sTMOQUCMBgVitmQkM8bbsrmrRtCdj91VlctJ3I7b8WU,161
|
|
124
|
+
iop/cls/IOP/Message/JSONSchema.cls,sha256=SL26n8Z0D81SAGL2NthI10NFdT4Oe1x_GQiaTYPwkoo,3252
|
|
125
|
+
iop/cls/IOP/PrivateSession/Duplex.cls,sha256=8a_dO7E2RTzuxzoufryjlS41l-99NmTtOcmFXOnSwA8,7957
|
|
126
|
+
iop/cls/IOP/PrivateSession/Message/Ack.cls,sha256=y6-5uSVod36bxeQuT2ytPN4TUAfM1mvGGJuTbWbpNv4,941
|
|
127
|
+
iop/cls/IOP/PrivateSession/Message/Poll.cls,sha256=z3ALYmGYQasTcyYNyBeoHzJdNXI4nBO_N8Cqo9l4sQY,942
|
|
128
|
+
iop/cls/IOP/PrivateSession/Message/Start.cls,sha256=uk-WTe66GicCshgmVy3F5ugHiAyPs1m2ueS_3g0YubQ,949
|
|
129
|
+
iop/cls/IOP/PrivateSession/Message/Stop.cls,sha256=7g3gKFUjNg0WXBLuWnj-VnCs5G6hSE09YTzGEp0zbGc,1390
|
|
130
|
+
iop/cls/IOP/Service/WSGI.cls,sha256=VLNCXEwmHW9dBnE51uGE1nvGX6T4HjhqePT3LVhsjAE,10440
|
|
131
|
+
iop/wsgi/handlers.py,sha256=NrFLo_YbAh-x_PlWhAiWkQnUUN2Ss9HoEm63dDWCBpQ,2947
|
|
132
|
+
irisnative/_IRISNative.py,sha256=HQ4nBhc8t8_5OtxdMG-kx1aa-T1znf2I8obZOPLOPzg,665
|
|
133
|
+
irisnative/__init__.py,sha256=6YmvBLQSURsCPKaNg7LK-xpo4ipDjrlhKuwdfdNb3Kg,341
|
|
134
|
+
iris_pex_embedded_python-3.2.1b2.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
|
|
135
|
+
iris_pex_embedded_python-3.2.1b2.dist-info/METADATA,sha256=dqdQqFdp9K8dR6yLlF-i-uLGIWyePBFOPJGNX-kd1MA,4427
|
|
136
|
+
iris_pex_embedded_python-3.2.1b2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
137
|
+
iris_pex_embedded_python-3.2.1b2.dist-info/entry_points.txt,sha256=pj-i4LSDyiSP6xpHlVjMCbg1Pik7dC3_sdGY3Yp9Vhk,38
|
|
138
|
+
iris_pex_embedded_python-3.2.1b2.dist-info/top_level.txt,sha256=VWDlX4YF4qFVRGrG3-Gs0kgREol02i8gIpsHNbhfFPw,42
|
|
139
|
+
iris_pex_embedded_python-3.2.1b2.dist-info/RECORD,,
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import importlib
|
|
2
|
-
from grongier.pex._business_host import _BusinessHost
|
|
3
|
-
|
|
4
|
-
class _BusinessOperation(_BusinessHost):
|
|
5
|
-
""" This class corresponds to the PEX framework EnsLib.PEX.BusinessOperation class.
|
|
6
|
-
The EnsLib.PEX.BusinessOperation RemoteClassName property identifies the Python class with the business operation implementation.
|
|
7
|
-
The business operation can optionally use an adapter to handle the outgoing message. Specify the adapter in the OutboundAdapter property.
|
|
8
|
-
If the business operation has an adapter, it uses the adapter to send the message to the external system.
|
|
9
|
-
The adapter can either be a PEX adapter or an ObjectScript adapter.
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
DISPATCH = []
|
|
13
|
-
Adapter = adapter = None
|
|
14
|
-
|
|
15
|
-
def on_message(self, request):
|
|
16
|
-
""" Called when the business operation receives a message from another production component.
|
|
17
|
-
Typically, the operation will either send the message to the external system or forward it to a business process or another business operation.
|
|
18
|
-
If the operation has an adapter, it uses the Adapter.invoke() method to call the method on the adapter that sends the message to the external system.
|
|
19
|
-
If the operation is forwarding the message to another production component, it uses the SendRequestAsync() or the SendRequestSync() method
|
|
20
|
-
|
|
21
|
-
Parameters:
|
|
22
|
-
request: An instance of either a subclass of Message or of IRISObject containing the incoming message for the business operation.
|
|
23
|
-
|
|
24
|
-
Returns:
|
|
25
|
-
The response object
|
|
26
|
-
"""
|
|
27
|
-
return self.OnMessage(request)
|
|
28
|
-
|
|
29
|
-
def on_keepalive(self):
|
|
30
|
-
"""
|
|
31
|
-
> This function is called when the server sends a keepalive message
|
|
32
|
-
"""
|
|
33
|
-
return
|
|
34
|
-
|
|
35
|
-
def _set_iris_handles(self, handle_current, handle_partner):
|
|
36
|
-
""" For internal use only. """
|
|
37
|
-
self.iris_handle = handle_current
|
|
38
|
-
if type(handle_partner).__module__.find('iris') == 0:
|
|
39
|
-
if handle_partner._IsA("Grongier.PEX.OutboundAdapter"):
|
|
40
|
-
module = importlib.import_module(handle_partner.GetModule())
|
|
41
|
-
handle_partner = getattr(module, handle_partner.GetClassname())()
|
|
42
|
-
self.Adapter = self.adapter = handle_partner
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
def _dispatch_on_init(self, host_object):
|
|
46
|
-
""" For internal use only. """
|
|
47
|
-
self._create_dispatch()
|
|
48
|
-
self.on_init()
|
|
49
|
-
return
|
|
50
|
-
|
|
51
|
-
@_BusinessHost.input_deserialzer
|
|
52
|
-
@_BusinessHost.output_serialzer
|
|
53
|
-
def _dispatch_on_message(self, request):
|
|
54
|
-
""" For internal use only. """
|
|
55
|
-
return self._dispach_message(request)
|
|
56
|
-
|
|
57
|
-
def OnMessage(self, request):
|
|
58
|
-
""" DEPRECATED : use on_message
|
|
59
|
-
Called when the business operation receives a message from another production component.
|
|
60
|
-
Typically, the operation will either send the message to the external system or forward it to a business process or another business operation.
|
|
61
|
-
If the operation has an adapter, it uses the Adapter.invoke() method to call the method on the adapter that sends the message to the external system.
|
|
62
|
-
If the operation is forwarding the message to another production component, it uses the SendRequestAsync() or the SendRequestSync() method
|
|
63
|
-
|
|
64
|
-
Parameters:
|
|
65
|
-
request: An instance of either a subclass of Message or of IRISObject containing the incoming message for the business operation.
|
|
66
|
-
|
|
67
|
-
Returns:
|
|
68
|
-
The response object
|
|
69
|
-
"""
|
|
70
|
-
return
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
from grongier.pex._business_host import _BusinessHost
|
|
2
|
-
|
|
3
|
-
class _BusinessProcess(_BusinessHost):
|
|
4
|
-
""" Typically contains most of the logic in a production.
|
|
5
|
-
A business process can receive messages from a business service, another business process, or a business operation.
|
|
6
|
-
It can modify the message, convert it to a different format, or route it based on the message contents.
|
|
7
|
-
The business process can route a message to a business operation or another business process.
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
DISPATCH = []
|
|
11
|
-
|
|
12
|
-
PERSISTENT_PROPERTY_LIST=None
|
|
13
|
-
""" A list of the variable names of persistent properties."""
|
|
14
|
-
|
|
15
|
-
def on_message(self, request):
|
|
16
|
-
""" Called when the business operation receives a message from another production component.
|
|
17
|
-
Typically, the operation will either send the message to the external system or forward it to a business process or another business operation.
|
|
18
|
-
If the operation has an adapter, it uses the Adapter.invoke() method to call the method on the adapter that sends the message to the external system.
|
|
19
|
-
If the operation is forwarding the message to another production component, it uses the SendRequestAsync() or the SendRequestSync() method
|
|
20
|
-
|
|
21
|
-
Parameters:
|
|
22
|
-
request: An instance of either a subclass of Message or of IRISObject containing the incoming message for the business operation.
|
|
23
|
-
|
|
24
|
-
Returns:
|
|
25
|
-
The response object
|
|
26
|
-
"""
|
|
27
|
-
return self.on_request(request)
|
|
28
|
-
|
|
29
|
-
def on_request(self, request):
|
|
30
|
-
""" Handles requests sent to the business process. A production calls this method whenever an initial request
|
|
31
|
-
for a specific business process arrives on the appropriate queue and is assigned a job in which to execute.
|
|
32
|
-
Parameters:
|
|
33
|
-
request: An instance of IRISObject or subclass of Message that contains the request message sent to the business process.
|
|
34
|
-
|
|
35
|
-
Returns:
|
|
36
|
-
An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
37
|
-
to the production component that sent the initial message.
|
|
38
|
-
"""
|
|
39
|
-
return self.OnRequest(request)
|
|
40
|
-
|
|
41
|
-
def on_response(self, request, response, call_request, call_response, completion_key):
|
|
42
|
-
""" Handles responses sent to the business process in response to messages that it sent to the target.
|
|
43
|
-
A production calls this method whenever a response for a specific business process arrives on the appropriate queue and is assigned a job in which to execute.
|
|
44
|
-
Typically this is a response to an asynchronous request made by the business process where the responseRequired parameter has a true value.
|
|
45
|
-
Parameters:
|
|
46
|
-
request: An instance of IRISObject or subclass of Message that contains the initial request message sent to the business process.
|
|
47
|
-
response: An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
48
|
-
to the production component that sent the initial message.
|
|
49
|
-
call_request: An instance of IRISObject or subclass of Message that contains the request that the business process sent to its target.
|
|
50
|
-
call_response: An instance of IRISObject or subclass of Message that contains the incoming response.
|
|
51
|
-
completion_key: A string that contains the completion_key specified in the completion_key parameter of the outgoing SendAsync() method.
|
|
52
|
-
Returns:
|
|
53
|
-
An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
54
|
-
to the production component that sent the initial message.
|
|
55
|
-
"""
|
|
56
|
-
return self.OnResponse(request, response, call_request, call_response, completion_key)
|
|
57
|
-
|
|
58
|
-
def on_complete(self, request, response):
|
|
59
|
-
""" Called after the business process has received and handled all responses to requests it has sent to targets.
|
|
60
|
-
Parameters:
|
|
61
|
-
request: An instance of IRISObject or subclass of Message that contains the initial request message sent to the business process.
|
|
62
|
-
response: An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
63
|
-
to the production component that sent the initial message.
|
|
64
|
-
Returns:
|
|
65
|
-
An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
66
|
-
to the production component that sent the initial message.
|
|
67
|
-
"""
|
|
68
|
-
return self.OnComplete(request, response)
|
|
69
|
-
|
|
70
|
-
@_BusinessHost.input_serialzer_param(0,'response')
|
|
71
|
-
def reply(self, response):
|
|
72
|
-
""" Send the specified response to the production component that sent the initial request to the business process.
|
|
73
|
-
|
|
74
|
-
Parameters:
|
|
75
|
-
response: An instance of IRISObject or subclass of Message that contains the response message.
|
|
76
|
-
"""
|
|
77
|
-
|
|
78
|
-
return self.iris_handle.dispatchReply(response)
|
|
79
|
-
|
|
80
|
-
def set_timer(self, timeout, completion_key=None):
|
|
81
|
-
""" Specifies the maximum time the business process will wait for responses.
|
|
82
|
-
|
|
83
|
-
Parameters:
|
|
84
|
-
timeout: an integer that specifies a number of seconds, or a string that specifies a time period such as"PT15s",
|
|
85
|
-
which represents 15 seconds of processor time.
|
|
86
|
-
completion_key: a string that will be returned with the response if the maximum time is exceeded.
|
|
87
|
-
"""
|
|
88
|
-
self.iris_handle.dispatchSetTimer(timeout, completion_key)
|
|
89
|
-
return
|
|
90
|
-
|
|
91
|
-
def _set_iris_handles(self, handle_current, handle_partner):
|
|
92
|
-
""" For internal use only. """
|
|
93
|
-
self.iris_handle = handle_current
|
|
94
|
-
return
|
|
95
|
-
|
|
96
|
-
def _save_persistent_properties(self, host_object):
|
|
97
|
-
""" For internal use only. """
|
|
98
|
-
if self.PERSISTENT_PROPERTY_LIST == None:
|
|
99
|
-
return
|
|
100
|
-
for prop in self.PERSISTENT_PROPERTY_LIST:
|
|
101
|
-
val = getattr(self, prop, None)
|
|
102
|
-
typ = val.__class__.__name__
|
|
103
|
-
if (typ in ["str","int","float","bool","bytes"]):
|
|
104
|
-
try:
|
|
105
|
-
host_object.setPersistentProperty(prop, val)
|
|
106
|
-
except:
|
|
107
|
-
pass
|
|
108
|
-
return
|
|
109
|
-
|
|
110
|
-
def _restore_persistent_properties(self, host_object):
|
|
111
|
-
""" For internal use only. """
|
|
112
|
-
if self.PERSISTENT_PROPERTY_LIST == None:
|
|
113
|
-
return
|
|
114
|
-
for prop in self.PERSISTENT_PROPERTY_LIST:
|
|
115
|
-
try:
|
|
116
|
-
val = host_object.getPersistentProperty(prop)
|
|
117
|
-
setattr(self, prop, val)
|
|
118
|
-
except:
|
|
119
|
-
pass
|
|
120
|
-
return
|
|
121
|
-
|
|
122
|
-
def _dispatch_on_connected(self, host_object):
|
|
123
|
-
""" For internal use only. """
|
|
124
|
-
self.on_connected()
|
|
125
|
-
self._save_persistent_properties(host_object)
|
|
126
|
-
return
|
|
127
|
-
|
|
128
|
-
def _dispatch_on_init(self, host_object):
|
|
129
|
-
""" For internal use only. """
|
|
130
|
-
self._restore_persistent_properties(host_object)
|
|
131
|
-
self._create_dispatch()
|
|
132
|
-
self.on_init()
|
|
133
|
-
self._save_persistent_properties(host_object)
|
|
134
|
-
return
|
|
135
|
-
|
|
136
|
-
def _dispatch_on_tear_down(self, host_object):
|
|
137
|
-
""" For internal use only. """
|
|
138
|
-
self._restore_persistent_properties(host_object)
|
|
139
|
-
self.on_tear_down()
|
|
140
|
-
self._save_persistent_properties(host_object)
|
|
141
|
-
return
|
|
142
|
-
|
|
143
|
-
@_BusinessHost.input_deserialzer
|
|
144
|
-
@_BusinessHost.output_serialzer
|
|
145
|
-
def _dispatch_on_request(self, host_object, request):
|
|
146
|
-
""" For internal use only. """
|
|
147
|
-
self._restore_persistent_properties(host_object)
|
|
148
|
-
return_object = self._dispach_message(request)
|
|
149
|
-
self._save_persistent_properties(host_object)
|
|
150
|
-
return return_object
|
|
151
|
-
|
|
152
|
-
@_BusinessHost.input_deserialzer
|
|
153
|
-
@_BusinessHost.output_serialzer
|
|
154
|
-
def _dispatch_on_response(self, host_object, request, response, call_request, call_response, completion_key):
|
|
155
|
-
""" For internal use only. """
|
|
156
|
-
self._restore_persistent_properties(host_object)
|
|
157
|
-
return_object = self.on_response(request, response, call_request, call_response, completion_key)
|
|
158
|
-
self._save_persistent_properties(host_object)
|
|
159
|
-
return return_object
|
|
160
|
-
|
|
161
|
-
@_BusinessHost.input_deserialzer
|
|
162
|
-
@_BusinessHost.output_serialzer
|
|
163
|
-
def _dispatch_on_complete(self, host_object, request, response):
|
|
164
|
-
""" For internal use only. """
|
|
165
|
-
self._restore_persistent_properties(host_object)
|
|
166
|
-
return_object = self.on_complete(request, response)
|
|
167
|
-
self._save_persistent_properties(host_object)
|
|
168
|
-
return return_object
|
|
169
|
-
|
|
170
|
-
def OnRequest(self, request):
|
|
171
|
-
"""
|
|
172
|
-
DEPRECATED : use on_request
|
|
173
|
-
Handles requests sent to the business process. A production calls this method whenever an initial request
|
|
174
|
-
for a specific business process arrives on the appropriate queue and is assigned a job in which to execute.
|
|
175
|
-
Parameters:
|
|
176
|
-
request: An instance of IRISObject or subclass of Message that contains the request message sent to the business process.
|
|
177
|
-
|
|
178
|
-
Returns:
|
|
179
|
-
An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
180
|
-
to the production component that sent the initial message.
|
|
181
|
-
"""
|
|
182
|
-
return
|
|
183
|
-
|
|
184
|
-
def OnResponse(self, request, response, call_request, call_response, completion_key):
|
|
185
|
-
"""
|
|
186
|
-
DEPRECATED : use on_response
|
|
187
|
-
Handles responses sent to the business process in response to messages that it sent to the target.
|
|
188
|
-
A production calls this method whenever a response for a specific business process arrives on the appropriate queue and is assigned a job in which to execute.
|
|
189
|
-
Typically this is a response to an asynchronous request made by the business process where the responseRequired parameter has a true value.
|
|
190
|
-
Parameters:
|
|
191
|
-
request: An instance of IRISObject or subclass of Message that contains the initial request message sent to the business process.
|
|
192
|
-
response: An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
193
|
-
to the production component that sent the initial message.
|
|
194
|
-
call_request: An instance of IRISObject or subclass of Message that contains the request that the business process sent to its target.
|
|
195
|
-
call_response: An instance of IRISObject or subclass of Message that contains the incoming response.
|
|
196
|
-
completion_key: A string that contains the completion_key specified in the completion_key parameter of the outgoing SendAsync() method.
|
|
197
|
-
Returns:
|
|
198
|
-
An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
199
|
-
to the production component that sent the initial message.
|
|
200
|
-
"""
|
|
201
|
-
return response
|
|
202
|
-
|
|
203
|
-
def OnComplete(self, request, response):
|
|
204
|
-
"""
|
|
205
|
-
DEPRECATED : use on_complete
|
|
206
|
-
Called after the business process has received and handled all responses to requests it has sent to targets.
|
|
207
|
-
Parameters:
|
|
208
|
-
request: An instance of IRISObject or subclass of Message that contains the initial request message sent to the business process.
|
|
209
|
-
response: An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
210
|
-
to the production component that sent the initial message.
|
|
211
|
-
Returns:
|
|
212
|
-
An instance of IRISObject or subclass of Message that contains the response message that this business process can return
|
|
213
|
-
to the production component that sent the initial message.
|
|
214
|
-
"""
|
|
215
|
-
return response
|
iris/__init__.py
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
from sys import path as __syspath
|
|
2
|
-
import os
|
|
3
|
-
from .iris_ipm import ipm
|
|
4
|
-
|
|
5
|
-
# check for install dir in environment
|
|
6
|
-
# environment to check is IRISINSTALLDIR
|
|
7
|
-
# if not found, raise exception and exit
|
|
8
|
-
# ISC_PACKAGE_INSTALLDIR - defined by default in Docker images
|
|
9
|
-
installdir = os.environ.get('IRISINSTALLDIR') or os.environ.get('ISC_PACKAGE_INSTALLDIR')
|
|
10
|
-
if installdir is None:
|
|
11
|
-
raise Exception("""Cannot find InterSystems IRIS installation directory
|
|
12
|
-
Please set IRISINSTALLDIR environment variable to the InterSystems IRIS installation directory""")
|
|
13
|
-
|
|
14
|
-
# join the install dir with the bin directory
|
|
15
|
-
__syspath.append(os.path.join(installdir, 'bin'))
|
|
16
|
-
# also append lib/python
|
|
17
|
-
__syspath.append(os.path.join(installdir, 'lib', 'python'))
|
|
18
|
-
|
|
19
|
-
# save working directory
|
|
20
|
-
__ospath = os.getcwd()
|
|
21
|
-
|
|
22
|
-
from pythonint import *
|
|
23
|
-
|
|
24
|
-
# restore working directory
|
|
25
|
-
os.chdir(__ospath)
|
|
26
|
-
|
|
27
|
-
# TODO: Figure out how to hide __syspath and __ospath from anyone that
|
|
28
|
-
# imports iris. Tried __all__ but that only applies to this:
|
|
29
|
-
# from iris import *
|
|
30
|
-
|
|
31
|
-
#
|
|
32
|
-
# End-of-file
|
|
33
|
-
#
|
|
34
|
-
|
|
35
|
-
def __getattr__(name):
|
|
36
|
-
try:
|
|
37
|
-
return globals()[name]
|
|
38
|
-
except KeyError:
|
|
39
|
-
return __get_iris_object__(name)
|
|
40
|
-
|
|
41
|
-
def __get_iris_object__(name:str):
|
|
42
|
-
try:
|
|
43
|
-
# replace '_' with '%'
|
|
44
|
-
name = name.replace('_', '%')
|
|
45
|
-
return cls(name)
|
|
46
|
-
except RuntimeError:
|
|
47
|
-
return __get_iris_package__(name)
|
|
48
|
-
|
|
49
|
-
def __get_iris_package__(name:str):
|
|
50
|
-
return IrisPackage(name)
|
|
51
|
-
|
|
52
|
-
class IrisPackage:
|
|
53
|
-
def __init__(self, name:str):
|
|
54
|
-
self.name = name
|
|
55
|
-
|
|
56
|
-
def __getattr__(self, name):
|
|
57
|
-
try:
|
|
58
|
-
return globals()[f"{self.name}.{name}"]
|
|
59
|
-
except KeyError:
|
|
60
|
-
return __get_iris_object__(f"{self.name}.{name}")
|