iris-pex-embedded-python 2.3.19__py3-none-any.whl → 2.3.21b1__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 (54) hide show
  1. grongier/cls/Grongier/PEX/Common.cls +115 -74
  2. grongier/pex/wsgi/handlers.py +51 -0
  3. intersystems_iris/_IRISOREF.py +6 -1
  4. intersystems_iris/dbapi/_DBAPI.py +16 -1
  5. intersystems_iris/dbapi/_Parameter.py +2 -0
  6. {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/METADATA +32 -10
  7. {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/RECORD +11 -53
  8. {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/WHEEL +1 -1
  9. grongier/iris/Grongier/PEX/BusinessOperation.cls +0 -33
  10. grongier/iris/Grongier/PEX/BusinessProcess.cls +0 -100
  11. grongier/iris/Grongier/PEX/BusinessService.cls +0 -33
  12. grongier/iris/Grongier/PEX/Common.cls +0 -133
  13. grongier/iris/Grongier/PEX/Director.cls +0 -15
  14. grongier/iris/Grongier/PEX/Duplex/Operation.cls +0 -27
  15. grongier/iris/Grongier/PEX/Duplex/Process.cls +0 -211
  16. grongier/iris/Grongier/PEX/Duplex/Service.cls +0 -9
  17. grongier/iris/Grongier/PEX/InboundAdapter.cls +0 -22
  18. grongier/iris/Grongier/PEX/Message.cls +0 -126
  19. grongier/iris/Grongier/PEX/OutboundAdapter.cls +0 -34
  20. grongier/iris/Grongier/PEX/PickleMessage.cls +0 -58
  21. grongier/iris/Grongier/PEX/PrivateSession/Duplex.cls +0 -247
  22. grongier/iris/Grongier/PEX/PrivateSession/Message/Ack.cls +0 -32
  23. grongier/iris/Grongier/PEX/PrivateSession/Message/Poll.cls +0 -32
  24. grongier/iris/Grongier/PEX/PrivateSession/Message/Start.cls +0 -32
  25. grongier/iris/Grongier/PEX/PrivateSession/Message/Stop.cls +0 -48
  26. grongier/iris/Grongier/PEX/Python.cls +0 -27
  27. grongier/iris/Grongier/PEX/Test.cls +0 -62
  28. grongier/iris/Grongier/PEX/Utils.cls +0 -312
  29. grongier/iris/__init__.py +0 -0
  30. grongier/pex/data/PEX/BusinessOperation.cls +0 -35
  31. grongier/pex/data/PEX/BusinessProcess.cls +0 -113
  32. grongier/pex/data/PEX/BusinessService.cls +0 -35
  33. grongier/pex/data/PEX/Common.cls +0 -146
  34. grongier/pex/data/PEX/Director.cls +0 -57
  35. grongier/pex/data/PEX/Duplex/Operation.cls +0 -29
  36. grongier/pex/data/PEX/Duplex/Process.cls +0 -229
  37. grongier/pex/data/PEX/Duplex/Service.cls +0 -9
  38. grongier/pex/data/PEX/InboundAdapter.cls +0 -22
  39. grongier/pex/data/PEX/Message.cls +0 -128
  40. grongier/pex/data/PEX/OutboundAdapter.cls +0 -36
  41. grongier/pex/data/PEX/PickleMessage.cls +0 -58
  42. grongier/pex/data/PEX/PrivateSession/Duplex.cls +0 -260
  43. grongier/pex/data/PEX/PrivateSession/Message/Ack.cls +0 -32
  44. grongier/pex/data/PEX/PrivateSession/Message/Poll.cls +0 -32
  45. grongier/pex/data/PEX/PrivateSession/Message/Start.cls +0 -32
  46. grongier/pex/data/PEX/PrivateSession/Message/Stop.cls +0 -48
  47. grongier/pex/data/PEX/Test.cls +0 -62
  48. grongier/pex/data/PEX/Utils.cls +0 -413
  49. iris/iris_site.py +0 -13
  50. iris/irisbuiltins.py +0 -97
  51. iris/irisloader.py +0 -199
  52. {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/LICENSE +0 -0
  53. {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/entry_points.txt +0 -0
  54. {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/top_level.txt +0 -0
@@ -22,31 +22,31 @@ Property %class As %SYS.Python;
22
22
  /// Get Class
23
23
  Method GetClass() As %SYS.Python
24
24
  {
25
- Return ..%class
25
+ Return ..%class
26
26
  }
27
27
 
28
28
  /// Get Classname
29
29
  Method GetClassname() As %String
30
30
  {
31
- Return ..%classname
31
+ Return ..%classname
32
32
  }
33
33
 
34
34
  /// Get Classname
35
35
  Method GetModule() As %String
36
36
  {
37
- Return ..%module
37
+ Return ..%module
38
38
  }
39
39
 
40
40
  Method OnInit() As %Status
41
41
  {
42
- set tSC = $$$OK
43
- try {
42
+ set tSC = $$$OK
43
+ try {
44
44
  $$$ThrowOnError(..Connect())
45
- do ..%class."_dispatch_on_init"($this)
46
- } catch ex {
47
- set tSC = ex.AsStatus()
48
- }
49
- quit tSC
45
+ do ..%class."_dispatch_on_init"($this)
46
+ } catch ex {
47
+ set tSC = ex.AsStatus()
48
+ }
49
+ quit tSC
50
50
  }
51
51
 
52
52
  ClassMethod SetPythonPath(pClasspaths)
@@ -69,73 +69,73 @@ ClassMethod SetPythonPath(pClasspaths)
69
69
 
70
70
  Method Connect() As %Status
71
71
  {
72
- set tSC = $$$OK
73
- try {
74
-
75
- set container = $this
76
-
77
- //set classpass
78
- if ..%classpaths '="" {
79
- set delimiter = $s($system.Version.GetOS()="Windows":";",1:":")
80
- set extraClasspaths = $tr(container.%classpaths,delimiter,"|")
81
- for i=1:1:$l(extraClasspaths,"|") {
82
- set onePath = $p(extraClasspaths,"|",i)
83
- set onePath = ##class(%File).NormalizeDirectory(onePath)
84
- do ..SetPythonPath(onePath)
85
- }
86
- }
87
- if $isObject(..%class)=0 {
88
- set importlib = ##class(%SYS.Python).Import("importlib")
89
- set builtins = ##class(%SYS.Python).Import("builtins")
90
- set module = importlib."import_module"(..%module)
91
- set class = builtins.getattr(module, ..%classname)
92
- set ..%class = class."__new__"(class)
93
- }
94
- ;
95
- if ..%Extends("Grongier.PEX.InboundAdapter") || ..%Extends("Grongier.PEX.OutboundAdapter") {
96
- do ..%class."_set_iris_handles"($this,..BusinessHost)
97
- } elseif $this.%Extends("Grongier.PEX.BusinessProcess") {
98
- do ..%class."_set_iris_handles"($this,$$$NULLOREF)
99
- } else {
100
- do ..%class."_set_iris_handles"($this,..Adapter)
101
- }
102
- ;
103
- do ..SetPropertyValues()
104
- ;
105
- try {
106
- do ..%class."_dispatch_on_connected"($this)
107
- } catch ex {
108
- $$$LOGWARNING(ex.DisplayString())
109
- }
110
- ;
111
- } catch ex {
112
- set msg = $System.Status.GetOneStatusText(ex.AsStatus(),1)
113
- set tSC = $$$ERROR($$$EnsErrGeneral,msg)
114
- }
115
- quit tSC
72
+ set tSC = $$$OK
73
+ try {
74
+
75
+ set container = $this
76
+
77
+ //set classpass
78
+ if ..%classpaths '="" {
79
+ set delimiter = $s($system.Version.GetOS()="Windows":";",1:":")
80
+ set extraClasspaths = $tr(container.%classpaths,delimiter,"|")
81
+ for i=1:1:$l(extraClasspaths,"|") {
82
+ set onePath = $p(extraClasspaths,"|",i)
83
+ set onePath = ##class(%File).NormalizeDirectory(onePath)
84
+ do ..SetPythonPath(onePath)
85
+ }
86
+ }
87
+ if $isObject(..%class)=0 {
88
+ set importlib = ##class(%SYS.Python).Import("importlib")
89
+ set builtins = ##class(%SYS.Python).Import("builtins")
90
+ set module = importlib."import_module"(..%module)
91
+ set class = builtins.getattr(module, ..%classname)
92
+ set ..%class = class."__new__"(class)
93
+ }
94
+ ;
95
+ if ..%Extends("Grongier.PEX.InboundAdapter") || ..%Extends("Grongier.PEX.OutboundAdapter") {
96
+ do ..%class."_set_iris_handles"($this,..BusinessHost)
97
+ } elseif $this.%Extends("Grongier.PEX.BusinessProcess") {
98
+ do ..%class."_set_iris_handles"($this,$$$NULLOREF)
99
+ } else {
100
+ do ..%class."_set_iris_handles"($this,..Adapter)
101
+ }
102
+ ;
103
+ do ..SetPropertyValues()
104
+ ;
105
+ try {
106
+ do ..%class."_dispatch_on_connected"($this)
107
+ } catch ex {
108
+ $$$LOGWARNING(ex.DisplayString())
109
+ }
110
+ ;
111
+ } catch ex {
112
+ set msg = $System.Status.GetOneStatusText(ex.AsStatus(),1)
113
+ set tSC = $$$ERROR($$$EnsErrGeneral,msg)
114
+ }
115
+ quit tSC
116
116
  }
117
117
 
118
118
  Method OnTearDown() As %Status
119
119
  {
120
- set tSC = $$$OK
120
+ set tSC = $$$OK
121
121
  do ..%class."_dispatch_on_tear_down"()
122
- quit tSC
122
+ quit tSC
123
123
  }
124
124
 
125
125
  Method SetPropertyValues()
126
126
  {
127
- set remoteSettings = $tr(..%settings,$c(13))
128
- for i=1:1:$l(remoteSettings,$c(10)) {
129
- set oneLine = $p(remoteSettings,$c(10),i)
130
- set property = $p(oneLine,"=",1) continue:property=""
131
- set value = $p(oneLine,"=",2,*)
132
- try {
133
- set $property(..%class,property) = value
134
- } catch ex {
135
- $$$LOGWARNING(ex.DisplayString())
136
- }
137
- }
138
- quit
127
+ set remoteSettings = $tr(..%settings,$c(13))
128
+ for i=1:1:$l(remoteSettings,$c(10)) {
129
+ set oneLine = $p(remoteSettings,$c(10),i)
130
+ set property = $p(oneLine,"=",1) continue:property=""
131
+ set value = $p(oneLine,"=",2,*)
132
+ try {
133
+ set $property(..%class,property) = value
134
+ } catch ex {
135
+ $$$LOGWARNING(ex.DisplayString())
136
+ }
137
+ }
138
+ quit
139
139
  }
140
140
 
141
141
  Method dispatchSendRequestSync(
@@ -144,9 +144,9 @@ Method dispatchSendRequestSync(
144
144
  timeout,
145
145
  description) As %String
146
146
  {
147
- set tSC = ..SendRequestSync(target,request,.objResponse,timeout,description)
148
- if $$$ISERR(tSC) throw ##class(%Exception.StatusException).CreateFromStatus(tSC)
149
- quit $g(objResponse)
147
+ set tSC = ..SendRequestSync(target,request,.objResponse,timeout,description)
148
+ if $$$ISERR(tSC) throw ##class(%Exception.StatusException).CreateFromStatus(tSC)
149
+ quit $g(objResponse)
150
150
  }
151
151
 
152
152
  Method dispatchSendRequestAsync(
@@ -154,9 +154,50 @@ Method dispatchSendRequestAsync(
154
154
  request,
155
155
  description)
156
156
  {
157
- set tSC = ..SendRequestAsync(target,request,description)
158
- if $$$ISERR(tSC) throw ##class(%Exception.StatusException).CreateFromStatus(tSC)
159
- quit
157
+ set tSC = ..SendRequestAsync(target,request,description)
158
+ if $$$ISERR(tSC) throw ##class(%Exception.StatusException).CreateFromStatus(tSC)
159
+ quit
160
+ }
161
+
162
+ ClassMethod OnGetConnections(
163
+ Output pArray As %String,
164
+ pItem As Ens.Config.Item)
165
+ {
166
+ // finds any settings of type Ens.DataType.ConfigName
167
+ do ..GetPropertyConnections(.pArray,pItem)
168
+
169
+ // Get settings
170
+ do pItem.GetModifiedSetting("%classpaths", .tClasspaths)
171
+ do pItem.GetModifiedSetting("%classname", .tClassname)
172
+ do pItem.GetModifiedSetting("%module", .tModule)
173
+
174
+ // try to instantiate class
175
+ if tClasspaths '="" {
176
+ set sys = ##class(%SYS.Python).Import("sys")
177
+ set delimiter = $s($system.Version.GetOS()="Windows":";",1:":")
178
+ set extraClasspaths = $tr(tClasspaths,delimiter,"|")
179
+ for i=1:1:$l(extraClasspaths,"|") {
180
+ set onePath = $p(extraClasspaths,"|",i)
181
+ set onePath = ##class(%File).NormalizeDirectory(onePath)
182
+ if onePath?1"$$IRISHOME"1P.E set onePath = $e($system.Util.InstallDirectory(),1,*-1)_$e(onePath,11,*)
183
+ if onePath'="" do sys.path.append(onePath)
184
+ }
185
+ }
186
+ set importlib = ##class(%SYS.Python).Import("importlib")
187
+ set builtins = ##class(%SYS.Python).Import("builtins")
188
+ set module = importlib."import_module"(tModule)
189
+ set class = builtins.getattr(module, tClassname)
190
+ set tClass = class."__new__"(class)
191
+
192
+ set tPythonList = tClass."on_get_connections"()
193
+ set tPythonListLen = tPythonList."__len__"()
194
+ for i=0:1:(tPythonListLen-1) {
195
+ set tPythonItem = tPythonList."__getitem__"(i)
196
+ set pArray(tPythonItem) = ""
197
+ #; set ^AALog(pItem.Name,tPythonItem) = ""
198
+ }
199
+
200
+ quit
160
201
  }
161
202
 
162
203
  }
@@ -0,0 +1,51 @@
1
+ from wsgiref.handlers import BaseHandler
2
+ import io
3
+ import iris
4
+
5
+ class IrisHandler(BaseHandler):
6
+ """Handler that's just initialized with streams, environment, etc.
7
+
8
+ This handler subclass is intended for synchronous HTTP/1.0 origin servers,
9
+ and handles sending the entire response output, given the correct inputs.
10
+
11
+ Usage::
12
+
13
+ handler = SimpleHandler(
14
+ inp,out,err,env, multithread=False, multiprocess=True
15
+ )
16
+ handler.run(app)"""
17
+
18
+ server_software = "IrisWSGI/0.1"
19
+ wsgi_file_wrapper = None
20
+
21
+ def __init__(self,stdin,stdout,stderr,environ,
22
+ multithread=True, multiprocess=False
23
+ ):
24
+ self.stdin = stdin
25
+ self.stdout = stdout
26
+ self.stderr = stderr
27
+ self.base_env = environ
28
+ self.wsgi_multithread = multithread
29
+ self.wsgi_multiprocess = multiprocess
30
+
31
+ def get_stdin(self):
32
+ if not self.stdin:
33
+ return None
34
+ else:
35
+ self.environ["wsgi.input"] = io.BytesIO(self.stdin)
36
+ self.environ["CONTENT_LENGTH"] = str(len(self.stdin))
37
+ return io.BytesIO(self.stdin)
38
+
39
+
40
+ def get_stderr(self):
41
+ return self.stderr
42
+
43
+ def add_cgi_vars(self):
44
+ self.environ.update(self.base_env)
45
+
46
+ def _write(self,data):
47
+ iris.cls('Grongier.Service.WSGI').write(data)
48
+
49
+ def _flush(self):
50
+ self.stdout.flush()
51
+ self._flush = self.stdout.flush
@@ -1,4 +1,9 @@
1
1
  class _IRISOREF(object):
2
-
3
2
  def __init__(self, oref):
4
3
  self._oref = oref
4
+
5
+ def __str__(self) -> str:
6
+ return self._oref
7
+
8
+ def __repr__(self) -> str:
9
+ return f"<IRISOREF ${self._oref}>"
@@ -19,6 +19,7 @@ from intersystems_iris.dbapi._IRISStream import (
19
19
  IRISStream,
20
20
  IRISBinaryStream,
21
21
  )
22
+ from intersystems_iris._IRISOREF import _IRISOREF
22
23
  from ._SQLType import SQLType
23
24
 
24
25
  from .._IRISNative import connect as native_connect
@@ -648,7 +649,11 @@ class _BaseCursor:
648
649
 
649
650
  def _update404(self):
650
651
  with self._connection._lock:
652
+ # self._reset_cached_info()
651
653
  self._validate_parameters()
654
+ # self._prepare()
655
+ # self._validate_prepared_parameters()
656
+ # self._prepared_update_execute()
652
657
  self._send_direct_update_request()
653
658
 
654
659
  # api properties and methods
@@ -752,6 +757,12 @@ class Cursor(_BaseCursor):
752
757
  return True
753
758
  else:
754
759
  return False
760
+
761
+ def _reset_cached_info(self):
762
+ if not self._connection._preparedCache or not hasattr(self._connection._preparedCache, "__iter__"):
763
+ return
764
+ if self._parsed_statement in self._connection._preparedCache:
765
+ del self._connection._preparedCache[self._parsed_statement]
755
766
 
756
767
  def _prepare_cached(self, cached_statement):
757
768
  self._statement_id = cached_statement.statement_id
@@ -1181,11 +1192,15 @@ class Cursor(_BaseCursor):
1181
1192
  self.params[pi] = stream_oref
1182
1193
 
1183
1194
  def _send_stream(self, param_type, value):
1195
+ if isinstance(value, _IRISOREF):
1196
+ return value
1184
1197
  if not isinstance(value, str) and not isinstance(value, bytes):
1185
1198
  raise Exception(f"Invalid value type for stream, got {type(value).__name__}, expected str or bytes")
1186
1199
  stream_oref = None
1187
1200
  offset = 0
1188
1201
  full_size = len(value)
1202
+ if full_size < 3 * 1024 * 1024:
1203
+ return value
1189
1204
  with self._connection._lock:
1190
1205
  while True:
1191
1206
  size = full_size
@@ -1216,7 +1231,7 @@ class Cursor(_BaseCursor):
1216
1231
  self._in_message._read_message_sql(sequence_number, self._statement_id, 0)
1217
1232
  stream_oref = self._sqlcode = self._in_message.wire._get()
1218
1233
 
1219
- return stream_oref
1234
+ return _IRISOREF(stream_oref)
1220
1235
 
1221
1236
  def _prepared_update_execute(self):
1222
1237
  self._update_streams()
@@ -2,6 +2,7 @@ import datetime
2
2
  import decimal
3
3
  import enum
4
4
  import intersystems_iris.dbapi._Descriptor
5
+ from intersystems_iris._IRISOREF import _IRISOREF
5
6
 
6
7
 
7
8
  class ParameterMode(enum.IntEnum):
@@ -110,6 +111,7 @@ class _Parameter(intersystems_iris.dbapi._Descriptor._Descriptor):
110
111
  int: lambda v: v,
111
112
  float: lambda v: v,
112
113
  decimal.Decimal: lambda v: v,
114
+ _IRISOREF: lambda v: str(v),
113
115
  }
114
116
  func = None
115
117
  if issubclass(type(self.__value), enum.Enum):
@@ -1,12 +1,35 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iris-pex-embedded-python
3
- Version: 2.3.19
4
- Summary: iris_pex_embedded_python
5
- Home-page: https://github.com/grongierisc/interoperability-embedded-python
6
- Author: grongier
7
- Author-email: guillaume.rongier@intersystems.com
8
- License: MIT
9
- Keywords: iris_pex_embedded_python
3
+ Version: 2.3.21b1
4
+ Summary: Iris Interoperability based on Embedded Python
5
+ Author-email: grongier <guillaume.rongier@intersystems.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2019 InterSystems Developer Community
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: homepage, https://github.com/grongierisc/interoperability-embedded-python
29
+ Project-URL: documentation, https://github.com/grongierisc/interoperability-embedded-python/blob/master/README.md
30
+ Project-URL: repository, https://github.com/grongierisc/interoperability-embedded-python
31
+ Project-URL: issues, https://github.com/grongierisc/interoperability-embedded-python/issues
32
+ Keywords: iris,intersystems,python,embedded
10
33
  Classifier: Development Status :: 5 - Production/Stable
11
34
  Classifier: Intended Audience :: Developers
12
35
  Classifier: License :: OSI Approved :: MIT License
@@ -18,11 +41,10 @@ Classifier: Programming Language :: Python :: 3.9
18
41
  Classifier: Programming Language :: Python :: 3.10
19
42
  Classifier: Programming Language :: Python :: 3.11
20
43
  Classifier: Topic :: Utilities
21
- Requires-Python: >=3.6
22
44
  Description-Content-Type: text/markdown
23
45
  License-File: LICENSE
24
- Requires-Dist: dacite (>=1.6.0)
25
- Requires-Dist: xmltodict (>=0.12.0)
46
+ Requires-Dist: dacite >=1.6.0
47
+ Requires-Dist: xmltodict >=0.12.0
26
48
 
27
49
  # 1. interoperability-embedded-python
28
50
 
@@ -2,7 +2,7 @@ grongier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  grongier/cls/Grongier/PEX/BusinessOperation.cls,sha256=qvLahHnQPAKMrGCekQNXPJgKPvlCWH5nJa0eYvceGvQ,932
3
3
  grongier/cls/Grongier/PEX/BusinessProcess.cls,sha256=qnYVrS_ndjPHcXIms2G1yOeUegHP09RhBqUAh4dGWcM,2633
4
4
  grongier/cls/Grongier/PEX/BusinessService.cls,sha256=2FXGkJ29zU3m-BcMVJTqD9skG9o7GvcHw60DAx4Fj3s,1039
5
- grongier/cls/Grongier/PEX/Common.cls,sha256=-b19FFB3ABDGKjP75j5XmlbTxdaBe6uEb03OL2pGPeY,3745
5
+ grongier/cls/Grongier/PEX/Common.cls,sha256=YEguYAhs9_nA2A0LHZpRtQ7wUqueaRPSS2LO_fOTGVs,5754
6
6
  grongier/cls/Grongier/PEX/Director.cls,sha256=wImRl1P37_A-Om8ahl2hfl92hxicqKnKAqzHOE4L8wg,1894
7
7
  grongier/cls/Grongier/PEX/InboundAdapter.cls,sha256=j-6tQPzo3tWTq7HJNxDR-4cK3VGVG0o3zgzD5LzIa74,628
8
8
  grongier/cls/Grongier/PEX/Message.cls,sha256=tM5gkSdoCdssxAcX6mV4e3BoVgYBmNnNUsmAH_d-cHc,8227
@@ -19,27 +19,6 @@ grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls,sha256=2lj-e20AH7RR8Ug
19
19
  grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls,sha256=DAtq4DyRqFq2_4Isa0cZjjwuAzdHjsQu8wMppK4myzs,994
20
20
  grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls,sha256=ofVKjrN6UPFasalrjPFWYNwlJ5IBlAE62IH8_U07c0g,1435
21
21
  grongier/cls/Grongier/Service/WSGI.cls,sha256=X_yM4oxTBOfIOzsCGnvutIuqCAfg7hd6Oqfl-Kq3TjM,2979
22
- grongier/iris/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- grongier/iris/Grongier/PEX/BusinessOperation.cls,sha256=caMn6qSn9TV8ZCwhg5Tax4fIhktkefar-dZ5Xh9T978,929
24
- grongier/iris/Grongier/PEX/BusinessProcess.cls,sha256=Mm9c6sZ-Tww4RNsqHfKhxk-yjdy-gGBN1RcmweMvHAQ,2615
25
- grongier/iris/Grongier/PEX/BusinessService.cls,sha256=asW1PvIHfrlNe22ztlOikPrUxvzhylnCSUrU50F7iEY,1036
26
- grongier/iris/Grongier/PEX/Common.cls,sha256=Q6hVlFM35WbS_ZFkLtBwVw5DbxKDXZaQ_DwXXQfTqgY,3282
27
- grongier/iris/Grongier/PEX/Director.cls,sha256=tPq5YvaMamVDL5ow2VFuQQM_URUeRhLWmz1hlShaCkI,535
28
- grongier/iris/Grongier/PEX/InboundAdapter.cls,sha256=j-6tQPzo3tWTq7HJNxDR-4cK3VGVG0o3zgzD5LzIa74,628
29
- grongier/iris/Grongier/PEX/Message.cls,sha256=dcwmyFEM60rNpq0tIx7hcr6eyTyCgxGlaMzHxNGQYY4,8224
30
- grongier/iris/Grongier/PEX/OutboundAdapter.cls,sha256=M4axUcAmH8NCDuigLA-ntIEaAkV4A2B65qAKRmzHFh4,973
31
- grongier/iris/Grongier/PEX/PickleMessage.cls,sha256=M8Q5-BHddj6gnURYAGTlaNPB-o1JByycBrCKbpqfDLE,1691
32
- grongier/iris/Grongier/PEX/Python.cls,sha256=X51MIeo2cFzwjDcnxTrj_H3mLt6fRWBSy0bW8ru4sLQ,546
33
- grongier/iris/Grongier/PEX/Test.cls,sha256=97xsKrV0KuaE-2V_vUsDLdV0VNCGp2BXKWSkuAjp628,1622
34
- grongier/iris/Grongier/PEX/Utils.cls,sha256=q7UTjvuUUX-pmv-u3afucqB97OQCFvY1rFg5Pkt26p0,12214
35
- grongier/iris/Grongier/PEX/Duplex/Operation.cls,sha256=GFg6VaJQlSjNeL-og2wMI1odNx35kgjO712o0x9YCwA,540
36
- grongier/iris/Grongier/PEX/Duplex/Process.cls,sha256=yzZUgTZ1Rw_rV_O8rraypX-VtOq6uuYtoyv_1uNHous,7078
37
- grongier/iris/Grongier/PEX/Duplex/Service.cls,sha256=omgn16L2XfagAN8iZXXrlyNToRe5Af-kMBnjMzMigdo,179
38
- grongier/iris/Grongier/PEX/PrivateSession/Duplex.cls,sha256=qvu2huBCFMiaW5Po_Z07Cj90-cQdXTLXSLjASji6-ZY,8046
39
- grongier/iris/Grongier/PEX/PrivateSession/Message/Ack.cls,sha256=WbBn7pWj5mzruVfLpOAwzTW4JG44qDKHOSJq82_UgTc,986
40
- grongier/iris/Grongier/PEX/PrivateSession/Message/Poll.cls,sha256=2lj-e20AH7RR8UgGJaldrk-1kd8WjQJNPiH-duds_4A,987
41
- grongier/iris/Grongier/PEX/PrivateSession/Message/Start.cls,sha256=DAtq4DyRqFq2_4Isa0cZjjwuAzdHjsQu8wMppK4myzs,994
42
- grongier/iris/Grongier/PEX/PrivateSession/Message/Stop.cls,sha256=ofVKjrN6UPFasalrjPFWYNwlJ5IBlAE62IH8_U07c0g,1435
43
22
  grongier/pex/__init__.py,sha256=nvcmRCxLy-lpL5GzlCKrmsSK8LF8Q0aKddx6ib8U50E,1166
44
23
  grongier/pex/__main__.py,sha256=ebEYPDOBKiXOlmdI4onpQLzfBKU4wyfijYyquA5dWV4,107
45
24
  grongier/pex/_business_host.py,sha256=frAW99L-cyAJ2GWDxXe5xk9YKJ4p15FF8g5BPLPmdts,20854
@@ -56,25 +35,7 @@ grongier/pex/_pickle_message.py,sha256=noKfc2VkXufV3fqjKvNHN_oANQ1YN9ffCaSV0XSTA
56
35
  grongier/pex/_private_session_duplex.py,sha256=Qj_xzwwFnFVwi_Sl7Q7nKk4zmL6UC8iqBAuwnz7mVX8,5033
57
36
  grongier/pex/_private_session_process.py,sha256=_2r_csWcVRLmIUt4O0Y1Hg1FcX6A08lt9DvALQhwu8s,1722
58
37
  grongier/pex/_utils.py,sha256=GjHT5WolQAoeYkhHP3a0uDBlRzPIkyGG_bi-TwrMdjI,15877
59
- grongier/pex/data/PEX/BusinessOperation.cls,sha256=qvLahHnQPAKMrGCekQNXPJgKPvlCWH5nJa0eYvceGvQ,932
60
- grongier/pex/data/PEX/BusinessProcess.cls,sha256=qnYVrS_ndjPHcXIms2G1yOeUegHP09RhBqUAh4dGWcM,2633
61
- grongier/pex/data/PEX/BusinessService.cls,sha256=2FXGkJ29zU3m-BcMVJTqD9skG9o7GvcHw60DAx4Fj3s,1039
62
- grongier/pex/data/PEX/Common.cls,sha256=N1tioRUfh7fZqw7OqZul7vlpaHC9lXIQtczogmwtXFM,3538
63
- grongier/pex/data/PEX/Director.cls,sha256=wImRl1P37_A-Om8ahl2hfl92hxicqKnKAqzHOE4L8wg,1894
64
- grongier/pex/data/PEX/InboundAdapter.cls,sha256=j-6tQPzo3tWTq7HJNxDR-4cK3VGVG0o3zgzD5LzIa74,628
65
- grongier/pex/data/PEX/Message.cls,sha256=tM5gkSdoCdssxAcX6mV4e3BoVgYBmNnNUsmAH_d-cHc,8227
66
- grongier/pex/data/PEX/OutboundAdapter.cls,sha256=75AquKo4iZ7Hzzo2nVrh1Z4CnS8x-qPO-Q1HpgUZRQw,976
67
- grongier/pex/data/PEX/PickleMessage.cls,sha256=M8Q5-BHddj6gnURYAGTlaNPB-o1JByycBrCKbpqfDLE,1691
68
- grongier/pex/data/PEX/Test.cls,sha256=97xsKrV0KuaE-2V_vUsDLdV0VNCGp2BXKWSkuAjp628,1622
69
- grongier/pex/data/PEX/Utils.cls,sha256=76yP4lu4A37OCerX16CgOhjVo2pLTNrQhII8xJdtnT0,15854
70
- grongier/pex/data/PEX/Duplex/Operation.cls,sha256=bt6j7ZdhFyYfQAhNZEWoHtIYoOgOWqCb5s6VmlJjc4E,543
71
- grongier/pex/data/PEX/Duplex/Process.cls,sha256=sLoYjHJHYNBx2kpEijvkIH1ZgMmUD_Pr7aUiguloxEs,7103
72
- grongier/pex/data/PEX/Duplex/Service.cls,sha256=omgn16L2XfagAN8iZXXrlyNToRe5Af-kMBnjMzMigdo,179
73
- grongier/pex/data/PEX/PrivateSession/Duplex.cls,sha256=w5Lx9gXKrOs4QOBJ7_eet5vWdpHMegddL5j43EaZwEE,8065
74
- grongier/pex/data/PEX/PrivateSession/Message/Ack.cls,sha256=WbBn7pWj5mzruVfLpOAwzTW4JG44qDKHOSJq82_UgTc,986
75
- grongier/pex/data/PEX/PrivateSession/Message/Poll.cls,sha256=2lj-e20AH7RR8UgGJaldrk-1kd8WjQJNPiH-duds_4A,987
76
- grongier/pex/data/PEX/PrivateSession/Message/Start.cls,sha256=DAtq4DyRqFq2_4Isa0cZjjwuAzdHjsQu8wMppK4myzs,994
77
- grongier/pex/data/PEX/PrivateSession/Message/Stop.cls,sha256=ofVKjrN6UPFasalrjPFWYNwlJ5IBlAE62IH8_U07c0g,1435
38
+ grongier/pex/wsgi/handlers.py,sha256=t9i3bNld3bewWWOOm5vrDHa1Dcxvp-SB5cHgPUFrggQ,1417
78
39
  intersystems_iris/_BufferReader.py,sha256=BXjHQs-sclAnvW9mvdlIrtku9m2Jf67Rc5rsZll7a5g,299
79
40
  intersystems_iris/_BufferWriter.py,sha256=i2BKM99J8pB5fGn-Gjdo4vcwXPEZQymsLEQd69nJrhs,1337
80
41
  intersystems_iris/_ConnectionInformation.py,sha256=Xr6sOPy3uKFyOG05hTmutDHTNjHDhCnCVwH0TTNEwBE,1896
@@ -93,7 +54,7 @@ intersystems_iris/_IRISGlobalNodeView.py,sha256=0yw9z_mpSLk2m3we5z_vKSjnEdmKfZb1
93
54
  intersystems_iris/_IRISIterator.py,sha256=m1n_fRdoO8YPfDi7l-JvJTqdJuxq_kxC60aMxkxLJUE,6906
94
55
  intersystems_iris/_IRISList.py,sha256=G_gMRqoP5DNiKwJYa6effkrKCwmFjxFTiEB104cdzow,10247
95
56
  intersystems_iris/_IRISNative.py,sha256=aNMLADSzRwuKXomwrbB7AC6KaR6-R9fHYStAJLv0V9E,6756
96
- intersystems_iris/_IRISOREF.py,sha256=WRRJV-_9QlOrzc_8gG6sfItfks4JdQy3N0aCcYXdpkQ,82
57
+ intersystems_iris/_IRISOREF.py,sha256=tpsD0QeoqfESY-OQY0Nbm3MGD0zekCYFJ7la5TdZMyQ,213
97
58
  intersystems_iris/_IRISObject.py,sha256=ZjdpQdy-NP0sXFdxQix58dW7kCo4ck-L9AKo9xRRoPU,14456
98
59
  intersystems_iris/_IRISReference.py,sha256=pkDAYgxkOmDf8fpRpQf8w-12EYZ1lgqXmkRYuYQXvIo,4905
99
60
  intersystems_iris/_InStream.py,sha256=6g4HdDoQ0MFub8Yn-Git8DkJNEoyyAtAhrvjkUdDA7I,6643
@@ -110,11 +71,11 @@ intersystems_iris/_SharedMemorySocket.py,sha256=2iUaS1FdJNSCUEaE-VT0O_dxF6NRwqZS
110
71
  intersystems_iris/__init__.py,sha256=Tk1tD28LwvF6X3yXQsJFLE1Bc-PR3gUJWcX5UnNYOdY,1773
111
72
  intersystems_iris/__main__.py,sha256=rCtINTfJcADMAsw1ja-MEO7Q-XekrWthYowzWV8xGIQ,218
112
73
  intersystems_iris/dbapi/_Column.py,sha256=VCLHLXs3wuGcUa9w_qy7HBFsuGvhmmI3kGYBagQg59U,2535
113
- intersystems_iris/dbapi/_DBAPI.py,sha256=GR09iiA59NYfR4bB8YhdEwzZBQgyZaeGjqmmhUtoMJ0,101649
74
+ intersystems_iris/dbapi/_DBAPI.py,sha256=eV9PA3T1dlMpKY_H2SAarcbNjOujpprKe99qHqtaUPg,102320
114
75
  intersystems_iris/dbapi/_Descriptor.py,sha256=IjyITxvjygDrhpk-0lGhdqQPh91SG6nTb1vi-AqyJNI,1391
115
76
  intersystems_iris/dbapi/_IRISStream.py,sha256=dGJntWo4HXgM1nUHZl2hA4xHkBFEU2xkoEplVDFWhnA,2115
116
77
  intersystems_iris/dbapi/_Message.py,sha256=jpLG3HZElqp981iNPFW8UNRO3NbHf6poEv6yywX0Ssw,4076
117
- intersystems_iris/dbapi/_Parameter.py,sha256=PrfQQnfBf1R1M3P9oUrus6T5PROg35A8LO-RRFo6J1I,5202
78
+ intersystems_iris/dbapi/_Parameter.py,sha256=lvPlQkoLlyEjg5J_a9t2I_6vRDkAav6kN1fGyukH4DY,5293
118
79
  intersystems_iris/dbapi/_ParameterCollection.py,sha256=kcgNiGv2nH5AwuA6LlPpM4dWqhSqRyD3VtwqHqDGRGU,5541
119
80
  intersystems_iris/dbapi/_ResultSetRow.py,sha256=tNKCv5P8XhP9zzdPpBGiXYHLKOScITTBGSqtui1TAM0,12910
120
81
  intersystems_iris/dbapi/_SQLType.py,sha256=IlDacXwQzUMWaJ02Zsu2bUfvUC3-5mBx-m6mE0Yp7ts,557
@@ -140,14 +101,11 @@ intersystems_iris/pex/_OutboundAdapter.py,sha256=ao2Ubbta2DcrQGdzDUD_j1Zsk8bvUfc
140
101
  intersystems_iris/pex/__init__.py,sha256=l_I1dpnluWawbFrGMDC0GLHpuHwjbpd-nho8otFX6TE,1379
141
102
  iris/__init__.py,sha256=VyBPMqjkad0JPoza38YZbBeLHM7jZUMS90t8KKEIW94,1045
142
103
  iris/iris_ipm.py,sha256=Q0jcNItjywlqOPZr0hgdTFSeLPNEmB-tcICOI_cXnaY,790
143
- iris/iris_site.py,sha256=K05T41T2dEZcoN45sFgIMNNeH2tandxgcJWjVEQzbno,501
144
- iris/irisbuiltins.py,sha256=0xMYrnTJ8q3WsQ8CXlKHYnfAVTIkO-PXDpdQ_SvHVpI,2687
145
- iris/irisloader.py,sha256=2ZLM0FlYNStTiZrXuvDcO-V_XZVgmB3R8vesmaqMqYA,4808
146
104
  irisnative/_IRISNative.py,sha256=HQ4nBhc8t8_5OtxdMG-kx1aa-T1znf2I8obZOPLOPzg,665
147
105
  irisnative/__init__.py,sha256=6YmvBLQSURsCPKaNg7LK-xpo4ipDjrlhKuwdfdNb3Kg,341
148
- iris_pex_embedded_python-2.3.19.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
149
- iris_pex_embedded_python-2.3.19.dist-info/METADATA,sha256=MHO-mnlUMMf2EUtCJsmEVf3dYkZCCVY3GwHdGUaxnUs,48121
150
- iris_pex_embedded_python-2.3.19.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
151
- iris_pex_embedded_python-2.3.19.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
152
- iris_pex_embedded_python-2.3.19.dist-info/top_level.txt,sha256=Tl4ZHgeNefaZW2Oug30vSldhD-tWzixsIfzASBrZ9ps,43
153
- iris_pex_embedded_python-2.3.19.dist-info/RECORD,,
106
+ iris_pex_embedded_python-2.3.21b1.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
107
+ iris_pex_embedded_python-2.3.21b1.dist-info/METADATA,sha256=4meJjBOl_n1yBvpMlYK2LWxLs6KEpgIBIkP5eSJ6jqk,49682
108
+ iris_pex_embedded_python-2.3.21b1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
109
+ iris_pex_embedded_python-2.3.21b1.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
110
+ iris_pex_embedded_python-2.3.21b1.dist-info/top_level.txt,sha256=Tl4ZHgeNefaZW2Oug30vSldhD-tWzixsIfzASBrZ9ps,43
111
+ iris_pex_embedded_python-2.3.21b1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.40.0)
2
+ Generator: bdist_wheel (0.42.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,33 +0,0 @@
1
- /* Copyright (c) 2021 by InterSystems Corporation.
2
- Cambridge, Massachusetts, U.S.A. All rights reserved.
3
- Confidential property of InterSystems Corporation. */
4
-
5
- Class Grongier.PEX.BusinessOperation Extends (Ens.BusinessOperation, Grongier.PEX.Common) [ Inheritance = right, ProcedureBlock, System = 4 ]
6
- {
7
-
8
- Parameter SETTINGS = "%classname:Python BusinessOperation,%module:Python BusinessOperation,%settings:Python BusinessOperation,%classpaths:Python BusinessOperation";
9
-
10
- Method OnMessage(request As %Library.Persistent, Output response As %Library.Persistent) As %Status
11
- {
12
- set tSC = $$$OK
13
- try {
14
- set response = ..%class."_dispatch_on_message"(request)
15
- } catch ex {
16
- set tSC = ex.AsStatus()
17
- }
18
- quit tSC
19
- }
20
-
21
- Method OnKeepalive(pStatus As %Status = {$$$OK}) As %Status
22
- {
23
- set tSC = $$$OK
24
- try {
25
- $$$ThrowOnError(##super(pStatus))
26
- do ..%class."on_keepalive"()
27
- } catch ex {
28
- set tSC = ex.AsStatus()
29
- }
30
- quit tSC
31
- }
32
-
33
- }