iris-pex-embedded-python 2.3.4__py3-none-any.whl → 2.3.8__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.

Files changed (29) hide show
  1. grongier/__init__.py +0 -0
  2. grongier/cls/Grongier/PEX/WSGI.cls +99 -0
  3. grongier/pex/_utils.py +13 -4
  4. {iris_pex_embedded_python-2.3.4.dist-info → iris_pex_embedded_python-2.3.8.dist-info}/METADATA +1 -1
  5. iris_pex_embedded_python-2.3.8.dist-info/RECORD +43 -0
  6. iris_pex_embedded_python-2.3.4.dist-info/RECORD +0 -41
  7. /grongier/{pex/data → cls/Grongier}/PEX/BusinessOperation.cls +0 -0
  8. /grongier/{pex/data → cls/Grongier}/PEX/BusinessProcess.cls +0 -0
  9. /grongier/{pex/data → cls/Grongier}/PEX/BusinessService.cls +0 -0
  10. /grongier/{pex/data → cls/Grongier}/PEX/Common.cls +0 -0
  11. /grongier/{pex/data → cls/Grongier}/PEX/Director.cls +0 -0
  12. /grongier/{pex/data → cls/Grongier}/PEX/Duplex/Operation.cls +0 -0
  13. /grongier/{pex/data → cls/Grongier}/PEX/Duplex/Process.cls +0 -0
  14. /grongier/{pex/data → cls/Grongier}/PEX/Duplex/Service.cls +0 -0
  15. /grongier/{pex/data → cls/Grongier}/PEX/InboundAdapter.cls +0 -0
  16. /grongier/{pex/data → cls/Grongier}/PEX/Message.cls +0 -0
  17. /grongier/{pex/data → cls/Grongier}/PEX/OutboundAdapter.cls +0 -0
  18. /grongier/{pex/data → cls/Grongier}/PEX/PickleMessage.cls +0 -0
  19. /grongier/{pex/data → cls/Grongier}/PEX/PrivateSession/Duplex.cls +0 -0
  20. /grongier/{pex/data → cls/Grongier}/PEX/PrivateSession/Message/Ack.cls +0 -0
  21. /grongier/{pex/data → cls/Grongier}/PEX/PrivateSession/Message/Poll.cls +0 -0
  22. /grongier/{pex/data → cls/Grongier}/PEX/PrivateSession/Message/Start.cls +0 -0
  23. /grongier/{pex/data → cls/Grongier}/PEX/PrivateSession/Message/Stop.cls +0 -0
  24. /grongier/{pex/data → cls/Grongier}/PEX/Test.cls +0 -0
  25. /grongier/{pex/data → cls/Grongier}/PEX/Utils.cls +0 -0
  26. {iris_pex_embedded_python-2.3.4.dist-info → iris_pex_embedded_python-2.3.8.dist-info}/LICENSE +0 -0
  27. {iris_pex_embedded_python-2.3.4.dist-info → iris_pex_embedded_python-2.3.8.dist-info}/WHEEL +0 -0
  28. {iris_pex_embedded_python-2.3.4.dist-info → iris_pex_embedded_python-2.3.8.dist-info}/entry_points.txt +0 -0
  29. {iris_pex_embedded_python-2.3.4.dist-info → iris_pex_embedded_python-2.3.8.dist-info}/top_level.txt +0 -0
grongier/__init__.py ADDED
File without changes
@@ -0,0 +1,99 @@
1
+ Class Grongier.PEX.WSGI Extends (%RegisteredObject, %CSP.REST) [ ServerOnly = 1 ]
2
+ {
3
+
4
+ Parameter CLASSPATHS;
5
+
6
+ Parameter MODULENAME;
7
+
8
+ Parameter APPNAME;
9
+
10
+ /// Instance of class
11
+ Property app As %SYS.Python;
12
+
13
+ /// Helper method to write data to the output stream
14
+ ClassMethod write(data)
15
+ {
16
+ w data
17
+ }
18
+
19
+ /// Helper to build the environ
20
+ ClassMethod GetEnviron() As %SYS.Python
21
+ {
22
+ //set builtins
23
+ set builtins = ##class(%SYS.Python).Import("builtins")
24
+
25
+ //import dict to create environ
26
+ set dict = builtins.dict()
27
+
28
+ #dim %request As %CSP.Request
29
+
30
+ //set environ
31
+ do dict."__setitem__"("SERVER_NAME", $System.INetInfo.LocalHostName())
32
+ do dict."__setitem__"("SERVER_PORT", "")
33
+ do dict."__setitem__"("SERVER_PROTOCOL", "HTTP/1.1")
34
+ do dict."__setitem__"("SERVER_SOFTWARE", "IRIS")
35
+ do dict."__setitem__"("SCRIPT_NAME", ..#APPNAME)
36
+ do dict."__setitem__"("REQUEST_METHOD", %request.Method)
37
+ do dict."__setitem__"("CONTENT_TYPE", %request.ContentType)
38
+ do dict."__setitem__"("CHARSET", %request.CharSet)
39
+ Set app=$$getapp^%SYS.cspServer(%request.URL,.path,.match,.updatedurl)
40
+ do dict."__setitem__"("PATH_INFO", $extract(updatedurl,$length(path),*))
41
+
42
+ // to extract the query string
43
+
44
+ return dict
45
+ }
46
+
47
+ ClassMethod Page(skipheader As %Boolean = 1) As %Status [ Internal, ServerOnly = 1 ]
48
+ {
49
+ Try {
50
+ //set classpass
51
+ if ..#CLASSPATHS '="" {
52
+ set sys = ##class(%SYS.Python).Import("sys")
53
+ set delimiter = $s($system.Version.GetOS()="Windows":";",1:":")
54
+ set extraClasspaths = $tr(..#CLASSPATHS,delimiter,"|")
55
+ for i=1:1:$l(extraClasspaths,"|") {
56
+ set onePath = $p(extraClasspaths,"|",i)
57
+ set onePath = ##class(%File).NormalizeDirectory(onePath)
58
+ if onePath?1"$$IRISHOME"1P.E set onePath = $e($system.Util.InstallDirectory(),1,*-1)_$e(onePath,11,*)
59
+ if onePath'="" do sys.path.append(onePath)
60
+ }
61
+ }
62
+
63
+ //set environ
64
+ set environ = ..GetEnviron()
65
+
66
+ //import sys
67
+ set sys = ##class(%SYS.Python).Import("sys")
68
+
69
+ //set stdin
70
+ set builtins = ##class(%SYS.Python).Import("builtins")
71
+ set ba = builtins.bytearray()
72
+
73
+ while %request.Content.AtEnd = 0 {
74
+ do ba.extend(##class(%SYS.Python).Bytes(%request.Content.Read()))
75
+ }
76
+ //set handler
77
+ set handler = ##class(%SYS.Python).Import("grongier.pex.wsgi.handlers").IrisHandler(ba, sys.stdout, sys.stderr,environ)
78
+
79
+ //set module
80
+ set module = ##class(%SYS.Python).Import(..#MODULENAME)
81
+
82
+ //set builtins
83
+ set builtins = ##class(%SYS.Python).Import("builtins")
84
+
85
+ //set app
86
+ set application = builtins.getattr(module, ..#APPNAME)
87
+
88
+ //run app
89
+ do handler.run(application)
90
+
91
+ }
92
+ Catch ex {
93
+ return ex.AsStatus()
94
+ }
95
+
96
+ quit $$$OK
97
+ }
98
+
99
+ }
grongier/pex/_utils.py CHANGED
@@ -21,7 +21,7 @@ class _Utils():
21
21
 
22
22
  if path is None:
23
23
  # get the path of the data folder with pkg_resources
24
- path = pkg_resources.resource_filename(__name__, 'data')
24
+ path = pkg_resources.resource_filename('grongier', 'cls')
25
25
 
26
26
  _Utils.raise_on_error(iris.cls('%SYSTEM.OBJ').LoadDir(path,'cubk',"*.cls",1))
27
27
 
@@ -190,13 +190,22 @@ class _Utils():
190
190
  raise ValueError("The filename must be absolute")
191
191
  # add the path to the system path
192
192
  sys.path.append(path)
193
- from settings import CLASSES, PRODUCTIONS
193
+ import settings
194
194
  except ImportError:
195
195
  # return an error if the settings file is not found
196
196
  # and explain how to create it
197
197
  raise ImportError("settings.py file not found. Please create it in the same directory as the main.py file. See the documentation for more information.")
198
- _Utils.set_classes_settings(CLASSES)
199
- _Utils.set_productions_settings(PRODUCTIONS)
198
+ try:
199
+ # set the classes settings
200
+ _Utils.set_classes_settings(settings.CLASSES)
201
+ except AttributeError:
202
+ print("No classes to register")
203
+ try:
204
+ # set the productions settings
205
+ _Utils.set_productions_settings(settings.PRODUCTIONS)
206
+ except AttributeError:
207
+ print("No productions to register")
208
+
200
209
 
201
210
 
202
211
  @staticmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iris-pex-embedded-python
3
- Version: 2.3.4
3
+ Version: 2.3.8
4
4
  Summary: iris_pex_embedded_python
5
5
  Home-page: https://github.com/grongierisc/interoperability-embedded-python
6
6
  Author: grongier
@@ -0,0 +1,43 @@
1
+ grongier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ grongier/cls/Grongier/PEX/BusinessOperation.cls,sha256=qvLahHnQPAKMrGCekQNXPJgKPvlCWH5nJa0eYvceGvQ,932
3
+ grongier/cls/Grongier/PEX/BusinessProcess.cls,sha256=qnYVrS_ndjPHcXIms2G1yOeUegHP09RhBqUAh4dGWcM,2633
4
+ grongier/cls/Grongier/PEX/BusinessService.cls,sha256=2FXGkJ29zU3m-BcMVJTqD9skG9o7GvcHw60DAx4Fj3s,1039
5
+ grongier/cls/Grongier/PEX/Common.cls,sha256=N1tioRUfh7fZqw7OqZul7vlpaHC9lXIQtczogmwtXFM,3538
6
+ grongier/cls/Grongier/PEX/Director.cls,sha256=wImRl1P37_A-Om8ahl2hfl92hxicqKnKAqzHOE4L8wg,1894
7
+ grongier/cls/Grongier/PEX/InboundAdapter.cls,sha256=j-6tQPzo3tWTq7HJNxDR-4cK3VGVG0o3zgzD5LzIa74,628
8
+ grongier/cls/Grongier/PEX/Message.cls,sha256=tM5gkSdoCdssxAcX6mV4e3BoVgYBmNnNUsmAH_d-cHc,8227
9
+ grongier/cls/Grongier/PEX/OutboundAdapter.cls,sha256=75AquKo4iZ7Hzzo2nVrh1Z4CnS8x-qPO-Q1HpgUZRQw,976
10
+ grongier/cls/Grongier/PEX/PickleMessage.cls,sha256=M8Q5-BHddj6gnURYAGTlaNPB-o1JByycBrCKbpqfDLE,1691
11
+ grongier/cls/Grongier/PEX/Test.cls,sha256=97xsKrV0KuaE-2V_vUsDLdV0VNCGp2BXKWSkuAjp628,1622
12
+ grongier/cls/Grongier/PEX/Utils.cls,sha256=iZg3a7eHJ06579LTbeKtlM3qHJ2RSUskXTL8snSPbOc,13498
13
+ grongier/cls/Grongier/PEX/WSGI.cls,sha256=hso1O3VVFWxAAO4C6zuuhgyqDw26EP0N3eMCVuEYAzk,2908
14
+ grongier/cls/Grongier/PEX/Duplex/Operation.cls,sha256=bt6j7ZdhFyYfQAhNZEWoHtIYoOgOWqCb5s6VmlJjc4E,543
15
+ grongier/cls/Grongier/PEX/Duplex/Process.cls,sha256=sLoYjHJHYNBx2kpEijvkIH1ZgMmUD_Pr7aUiguloxEs,7103
16
+ grongier/cls/Grongier/PEX/Duplex/Service.cls,sha256=omgn16L2XfagAN8iZXXrlyNToRe5Af-kMBnjMzMigdo,179
17
+ grongier/cls/Grongier/PEX/PrivateSession/Duplex.cls,sha256=w5Lx9gXKrOs4QOBJ7_eet5vWdpHMegddL5j43EaZwEE,8065
18
+ grongier/cls/Grongier/PEX/PrivateSession/Message/Ack.cls,sha256=WbBn7pWj5mzruVfLpOAwzTW4JG44qDKHOSJq82_UgTc,986
19
+ grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls,sha256=2lj-e20AH7RR8UgGJaldrk-1kd8WjQJNPiH-duds_4A,987
20
+ grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls,sha256=DAtq4DyRqFq2_4Isa0cZjjwuAzdHjsQu8wMppK4myzs,994
21
+ grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls,sha256=ofVKjrN6UPFasalrjPFWYNwlJ5IBlAE62IH8_U07c0g,1435
22
+ grongier/pex/__init__.py,sha256=nvcmRCxLy-lpL5GzlCKrmsSK8LF8Q0aKddx6ib8U50E,1166
23
+ grongier/pex/__main__.py,sha256=ebEYPDOBKiXOlmdI4onpQLzfBKU4wyfijYyquA5dWV4,107
24
+ grongier/pex/_business_host.py,sha256=01JsAKt4DMQ6X1IhNIUH5cgg38Hh9eKgPJUHY8qZi1c,20152
25
+ grongier/pex/_business_operation.py,sha256=W_B9Ci1fei8SGcElkAd13gV9S4BNKeQciTMVqxxJVZc,3509
26
+ grongier/pex/_business_process.py,sha256=WtO1RCZUKykaxUFocI1XmZmnSQzEOz_VFsVFytsOzFE,11838
27
+ grongier/pex/_business_service.py,sha256=8CgpjcdVmv5747CTa3Lw3B48RYXq2SQN9qfdxvqEI5g,3735
28
+ grongier/pex/_cli.py,sha256=SJoEUQ8dTFDVZ0sQlmvGLSg0mzcOSW7hvOrS9G5g7f4,5647
29
+ grongier/pex/_common.py,sha256=yiJ-sH4ml5u9qEnZFX_4F-Rn2X6shtMhceJA9RCMChI,15158
30
+ grongier/pex/_director.py,sha256=0P1M6k2MaqViK-Mavfsu0RaI876HHPgarrUnA0a0ftA,8810
31
+ grongier/pex/_inbound_adapter.py,sha256=aQqRfyw69Iz6AaYzeTAbC_ERDvKadY3tSSC1LJCUVQg,1661
32
+ grongier/pex/_message.py,sha256=BmwBXriykU66bwAgRbdkMpjfJRVWoNRX2eDc9TXfXzA,325
33
+ grongier/pex/_outbound_adapter.py,sha256=HOxTSGwgQVDXzYpSMArLEmipPNYLxOCFaiN51MelFNA,735
34
+ grongier/pex/_pickle_message.py,sha256=noKfc2VkXufV3fqjKvNHN_oANQ1YN9ffCaSV0XSTAIE,331
35
+ grongier/pex/_private_session_duplex.py,sha256=Qj_xzwwFnFVwi_Sl7Q7nKk4zmL6UC8iqBAuwnz7mVX8,5033
36
+ grongier/pex/_private_session_process.py,sha256=_2r_csWcVRLmIUt4O0Y1Hg1FcX6A08lt9DvALQhwu8s,1722
37
+ grongier/pex/_utils.py,sha256=X-NAMScq2fLL9hobSGQYl-uODTmjTGfqL-CtHb03khM,15326
38
+ iris_pex_embedded_python-2.3.8.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
39
+ iris_pex_embedded_python-2.3.8.dist-info/METADATA,sha256=kNmRUxe3BtzZIEo_ri5IHV7xnaW7PTj84pdXO6ldFSE,49500
40
+ iris_pex_embedded_python-2.3.8.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
41
+ iris_pex_embedded_python-2.3.8.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
42
+ iris_pex_embedded_python-2.3.8.dist-info/top_level.txt,sha256=IHTNyQ_h3DSfdFPl6yKfe3Flu-EfpykyfJi7jo-O6Vs,9
43
+ iris_pex_embedded_python-2.3.8.dist-info/RECORD,,
@@ -1,41 +0,0 @@
1
- grongier/pex/__init__.py,sha256=nvcmRCxLy-lpL5GzlCKrmsSK8LF8Q0aKddx6ib8U50E,1166
2
- grongier/pex/__main__.py,sha256=ebEYPDOBKiXOlmdI4onpQLzfBKU4wyfijYyquA5dWV4,107
3
- grongier/pex/_business_host.py,sha256=01JsAKt4DMQ6X1IhNIUH5cgg38Hh9eKgPJUHY8qZi1c,20152
4
- grongier/pex/_business_operation.py,sha256=W_B9Ci1fei8SGcElkAd13gV9S4BNKeQciTMVqxxJVZc,3509
5
- grongier/pex/_business_process.py,sha256=WtO1RCZUKykaxUFocI1XmZmnSQzEOz_VFsVFytsOzFE,11838
6
- grongier/pex/_business_service.py,sha256=8CgpjcdVmv5747CTa3Lw3B48RYXq2SQN9qfdxvqEI5g,3735
7
- grongier/pex/_cli.py,sha256=SJoEUQ8dTFDVZ0sQlmvGLSg0mzcOSW7hvOrS9G5g7f4,5647
8
- grongier/pex/_common.py,sha256=yiJ-sH4ml5u9qEnZFX_4F-Rn2X6shtMhceJA9RCMChI,15158
9
- grongier/pex/_director.py,sha256=0P1M6k2MaqViK-Mavfsu0RaI876HHPgarrUnA0a0ftA,8810
10
- grongier/pex/_inbound_adapter.py,sha256=aQqRfyw69Iz6AaYzeTAbC_ERDvKadY3tSSC1LJCUVQg,1661
11
- grongier/pex/_message.py,sha256=BmwBXriykU66bwAgRbdkMpjfJRVWoNRX2eDc9TXfXzA,325
12
- grongier/pex/_outbound_adapter.py,sha256=HOxTSGwgQVDXzYpSMArLEmipPNYLxOCFaiN51MelFNA,735
13
- grongier/pex/_pickle_message.py,sha256=noKfc2VkXufV3fqjKvNHN_oANQ1YN9ffCaSV0XSTAIE,331
14
- grongier/pex/_private_session_duplex.py,sha256=Qj_xzwwFnFVwi_Sl7Q7nKk4zmL6UC8iqBAuwnz7mVX8,5033
15
- grongier/pex/_private_session_process.py,sha256=_2r_csWcVRLmIUt4O0Y1Hg1FcX6A08lt9DvALQhwu8s,1722
16
- grongier/pex/_utils.py,sha256=J0Vj2fZM87ptPBItrFhJ4ZdcSzPiYOLyKpdXG3-hKnw,15066
17
- grongier/pex/data/PEX/BusinessOperation.cls,sha256=qvLahHnQPAKMrGCekQNXPJgKPvlCWH5nJa0eYvceGvQ,932
18
- grongier/pex/data/PEX/BusinessProcess.cls,sha256=qnYVrS_ndjPHcXIms2G1yOeUegHP09RhBqUAh4dGWcM,2633
19
- grongier/pex/data/PEX/BusinessService.cls,sha256=2FXGkJ29zU3m-BcMVJTqD9skG9o7GvcHw60DAx4Fj3s,1039
20
- grongier/pex/data/PEX/Common.cls,sha256=N1tioRUfh7fZqw7OqZul7vlpaHC9lXIQtczogmwtXFM,3538
21
- grongier/pex/data/PEX/Director.cls,sha256=wImRl1P37_A-Om8ahl2hfl92hxicqKnKAqzHOE4L8wg,1894
22
- grongier/pex/data/PEX/InboundAdapter.cls,sha256=j-6tQPzo3tWTq7HJNxDR-4cK3VGVG0o3zgzD5LzIa74,628
23
- grongier/pex/data/PEX/Message.cls,sha256=tM5gkSdoCdssxAcX6mV4e3BoVgYBmNnNUsmAH_d-cHc,8227
24
- grongier/pex/data/PEX/OutboundAdapter.cls,sha256=75AquKo4iZ7Hzzo2nVrh1Z4CnS8x-qPO-Q1HpgUZRQw,976
25
- grongier/pex/data/PEX/PickleMessage.cls,sha256=M8Q5-BHddj6gnURYAGTlaNPB-o1JByycBrCKbpqfDLE,1691
26
- grongier/pex/data/PEX/Test.cls,sha256=97xsKrV0KuaE-2V_vUsDLdV0VNCGp2BXKWSkuAjp628,1622
27
- grongier/pex/data/PEX/Utils.cls,sha256=iZg3a7eHJ06579LTbeKtlM3qHJ2RSUskXTL8snSPbOc,13498
28
- grongier/pex/data/PEX/Duplex/Operation.cls,sha256=bt6j7ZdhFyYfQAhNZEWoHtIYoOgOWqCb5s6VmlJjc4E,543
29
- grongier/pex/data/PEX/Duplex/Process.cls,sha256=sLoYjHJHYNBx2kpEijvkIH1ZgMmUD_Pr7aUiguloxEs,7103
30
- grongier/pex/data/PEX/Duplex/Service.cls,sha256=omgn16L2XfagAN8iZXXrlyNToRe5Af-kMBnjMzMigdo,179
31
- grongier/pex/data/PEX/PrivateSession/Duplex.cls,sha256=w5Lx9gXKrOs4QOBJ7_eet5vWdpHMegddL5j43EaZwEE,8065
32
- grongier/pex/data/PEX/PrivateSession/Message/Ack.cls,sha256=WbBn7pWj5mzruVfLpOAwzTW4JG44qDKHOSJq82_UgTc,986
33
- grongier/pex/data/PEX/PrivateSession/Message/Poll.cls,sha256=2lj-e20AH7RR8UgGJaldrk-1kd8WjQJNPiH-duds_4A,987
34
- grongier/pex/data/PEX/PrivateSession/Message/Start.cls,sha256=DAtq4DyRqFq2_4Isa0cZjjwuAzdHjsQu8wMppK4myzs,994
35
- grongier/pex/data/PEX/PrivateSession/Message/Stop.cls,sha256=ofVKjrN6UPFasalrjPFWYNwlJ5IBlAE62IH8_U07c0g,1435
36
- iris_pex_embedded_python-2.3.4.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
37
- iris_pex_embedded_python-2.3.4.dist-info/METADATA,sha256=hxFtxnr-eJrXyHS6WIm9Qm6Qt0b1dyLegifJPakRlmo,49500
38
- iris_pex_embedded_python-2.3.4.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
39
- iris_pex_embedded_python-2.3.4.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
40
- iris_pex_embedded_python-2.3.4.dist-info/top_level.txt,sha256=IHTNyQ_h3DSfdFPl6yKfe3Flu-EfpykyfJi7jo-O6Vs,9
41
- iris_pex_embedded_python-2.3.4.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes
File without changes