iris-pex-embedded-python 2.3.25b2__py3-none-any.whl → 2.3.25b3__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/pex/_business_host.py +32 -4
- {iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/METADATA +1 -1
- {iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/RECORD +7 -7
- {iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/LICENSE +0 -0
- {iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/WHEEL +0 -0
- {iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/entry_points.txt +0 -0
- {iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/top_level.txt +0 -0
grongier/pex/_business_host.py
CHANGED
|
@@ -8,6 +8,8 @@ import json
|
|
|
8
8
|
import importlib
|
|
9
9
|
import iris
|
|
10
10
|
|
|
11
|
+
from functools import wraps
|
|
12
|
+
|
|
11
13
|
from inspect import signature, getsource
|
|
12
14
|
|
|
13
15
|
from dacite import from_dict, Config
|
|
@@ -41,6 +43,32 @@ class _BusinessHost(_Common):
|
|
|
41
43
|
param2[key] = self._dispatch_serializer(value)
|
|
42
44
|
return fonction(self,*serialized, **param2)
|
|
43
45
|
return dispatch_serializer
|
|
46
|
+
|
|
47
|
+
def input_serialzer_param(position:int,name:str):
|
|
48
|
+
"""
|
|
49
|
+
It takes a function as an argument, and returns a function that takes the same arguments as the
|
|
50
|
+
original function, but serializes the arguments before passing them to the original function
|
|
51
|
+
|
|
52
|
+
:param fonction: the function that will be decorated
|
|
53
|
+
:return: The function dispatch_serializer is being returned.
|
|
54
|
+
"""
|
|
55
|
+
def input_serialzer_param(fonction):
|
|
56
|
+
@wraps(fonction)
|
|
57
|
+
def dispatch_serializer(self,*params, **param2):
|
|
58
|
+
# Handle positional arguments
|
|
59
|
+
serialized=[]
|
|
60
|
+
for i,param in enumerate(params):
|
|
61
|
+
if i == position:
|
|
62
|
+
serialized.append(self._dispatch_serializer(param))
|
|
63
|
+
else:
|
|
64
|
+
serialized.append(param)
|
|
65
|
+
# Handle keyword arguments
|
|
66
|
+
for key, value in param2.items():
|
|
67
|
+
if key == name:
|
|
68
|
+
param2[key] = self._dispatch_serializer(value)
|
|
69
|
+
return fonction(self,*serialized, **param2)
|
|
70
|
+
return dispatch_serializer
|
|
71
|
+
return input_serialzer_param
|
|
44
72
|
|
|
45
73
|
def output_deserialzer(fonction):
|
|
46
74
|
"""
|
|
@@ -88,7 +116,7 @@ class _BusinessHost(_Common):
|
|
|
88
116
|
return self._dispatch_serializer(fonction(self,*params, **param2))
|
|
89
117
|
return dispatch_serializer
|
|
90
118
|
|
|
91
|
-
@
|
|
119
|
+
@input_serialzer_param(1,'request')
|
|
92
120
|
@output_deserialzer
|
|
93
121
|
def send_request_sync(self, target, request, timeout=-1, description=None):
|
|
94
122
|
""" Send the specified message to the target business process or business operation synchronously.
|
|
@@ -108,7 +136,7 @@ class _BusinessHost(_Common):
|
|
|
108
136
|
|
|
109
137
|
return self.iris_handle.dispatchSendRequestSync(target,request,timeout,description)
|
|
110
138
|
|
|
111
|
-
@
|
|
139
|
+
@input_serialzer_param(1,'request')
|
|
112
140
|
def send_request_async(self, target, request, description=None):
|
|
113
141
|
""" Send the specified message to the target business process or business operation asynchronously.
|
|
114
142
|
Parameters:
|
|
@@ -163,8 +191,8 @@ class _BusinessHost(_Common):
|
|
|
163
191
|
return message
|
|
164
192
|
else:
|
|
165
193
|
# todo : decorator takes care of all the parameters, so this should never happen
|
|
166
|
-
return message
|
|
167
|
-
|
|
194
|
+
# return message
|
|
195
|
+
raise TypeError("The message must be an instance of a class that is a subclass of Message or IRISObject %Persistent class.")
|
|
168
196
|
|
|
169
197
|
def _serialize_message(self,message):
|
|
170
198
|
""" Converts a python dataclass message into an iris grongier.pex.message.
|
{iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/RECORD
RENAMED
|
@@ -21,7 +21,7 @@ grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls,sha256=ofVKjrN6UPFasal
|
|
|
21
21
|
grongier/cls/Grongier/Service/WSGI.cls,sha256=1PY1SxZCp7PIQrm5_td74_Uf1M_1Mn4IkDGX2WOE9sA,10445
|
|
22
22
|
grongier/pex/__init__.py,sha256=nvcmRCxLy-lpL5GzlCKrmsSK8LF8Q0aKddx6ib8U50E,1166
|
|
23
23
|
grongier/pex/__main__.py,sha256=ebEYPDOBKiXOlmdI4onpQLzfBKU4wyfijYyquA5dWV4,107
|
|
24
|
-
grongier/pex/_business_host.py,sha256=
|
|
24
|
+
grongier/pex/_business_host.py,sha256=iOoEikd7lAJtjlPoEmWEJ29kfmSl_yFA-M_tQHfVQxU,22167
|
|
25
25
|
grongier/pex/_business_operation.py,sha256=W_B9Ci1fei8SGcElkAd13gV9S4BNKeQciTMVqxxJVZc,3509
|
|
26
26
|
grongier/pex/_business_process.py,sha256=WtO1RCZUKykaxUFocI1XmZmnSQzEOz_VFsVFytsOzFE,11838
|
|
27
27
|
grongier/pex/_business_service.py,sha256=8CgpjcdVmv5747CTa3Lw3B48RYXq2SQN9qfdxvqEI5g,3735
|
|
@@ -105,9 +105,9 @@ iris/iris_ipm.py,sha256=Q0jcNItjywlqOPZr0hgdTFSeLPNEmB-tcICOI_cXnaY,790
|
|
|
105
105
|
iris/iris_ipm.pyi,sha256=j7CNUZcjeDu5sgeWUZJO_Qi4vQmHh6aD-jPWv8OdoUs,374
|
|
106
106
|
irisnative/_IRISNative.py,sha256=HQ4nBhc8t8_5OtxdMG-kx1aa-T1znf2I8obZOPLOPzg,665
|
|
107
107
|
irisnative/__init__.py,sha256=6YmvBLQSURsCPKaNg7LK-xpo4ipDjrlhKuwdfdNb3Kg,341
|
|
108
|
-
iris_pex_embedded_python-2.3.
|
|
109
|
-
iris_pex_embedded_python-2.3.
|
|
110
|
-
iris_pex_embedded_python-2.3.
|
|
111
|
-
iris_pex_embedded_python-2.3.
|
|
112
|
-
iris_pex_embedded_python-2.3.
|
|
113
|
-
iris_pex_embedded_python-2.3.
|
|
108
|
+
iris_pex_embedded_python-2.3.25b3.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
|
|
109
|
+
iris_pex_embedded_python-2.3.25b3.dist-info/METADATA,sha256=Zha_XYGEf0yYy_i1zd0HHIimO9Bddulu7fjZZZ7iwKQ,49682
|
|
110
|
+
iris_pex_embedded_python-2.3.25b3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
111
|
+
iris_pex_embedded_python-2.3.25b3.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
|
|
112
|
+
iris_pex_embedded_python-2.3.25b3.dist-info/top_level.txt,sha256=Tl4ZHgeNefaZW2Oug30vSldhD-tWzixsIfzASBrZ9ps,43
|
|
113
|
+
iris_pex_embedded_python-2.3.25b3.dist-info/RECORD,,
|
{iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/LICENSE
RENAMED
|
File without changes
|
{iris_pex_embedded_python-2.3.25b2.dist-info → iris_pex_embedded_python-2.3.25b3.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|