iris-pex-embedded-python 2.3.23b5__py3-none-any.whl → 2.3.25__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.

@@ -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
- @input_serialzer
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
- @input_serialzer
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
- #raise TypeError("The message must be an instance of a class that is a subclass of Message or IRISObject %Persistent class.")
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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iris_pex_embedded_python
3
- Version: 2.3.23b5
3
+ Version: 2.3.25
4
4
  Summary: Iris Interoperability based on Embedded Python
5
5
  Author-email: grongier <guillaume.rongier@intersystems.com>
6
6
  License: MIT License
@@ -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=G4-eWlQzWMvjaHauISfSoogPsfQYJavmRi563ak6FS8,20858
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.23b5.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
109
- iris_pex_embedded_python-2.3.23b5.dist-info/METADATA,sha256=cJNhvD3A-x730wJSftWKY4w2Ka-n3sot9UNoase-0vQ,49682
110
- iris_pex_embedded_python-2.3.23b5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
111
- iris_pex_embedded_python-2.3.23b5.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
112
- iris_pex_embedded_python-2.3.23b5.dist-info/top_level.txt,sha256=Tl4ZHgeNefaZW2Oug30vSldhD-tWzixsIfzASBrZ9ps,43
113
- iris_pex_embedded_python-2.3.23b5.dist-info/RECORD,,
108
+ iris_pex_embedded_python-2.3.25.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
109
+ iris_pex_embedded_python-2.3.25.dist-info/METADATA,sha256=CETbgGdq9JB88_HVvZG2RajAN99WVs_dNxuDIopRVZI,49680
110
+ iris_pex_embedded_python-2.3.25.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
111
+ iris_pex_embedded_python-2.3.25.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
112
+ iris_pex_embedded_python-2.3.25.dist-info/top_level.txt,sha256=Tl4ZHgeNefaZW2Oug30vSldhD-tWzixsIfzASBrZ9ps,43
113
+ iris_pex_embedded_python-2.3.25.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5