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.
- grongier/cls/Grongier/PEX/Common.cls +115 -74
- grongier/pex/wsgi/handlers.py +51 -0
- intersystems_iris/_IRISOREF.py +6 -1
- intersystems_iris/dbapi/_DBAPI.py +16 -1
- intersystems_iris/dbapi/_Parameter.py +2 -0
- {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/METADATA +32 -10
- {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/RECORD +11 -53
- {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/WHEEL +1 -1
- grongier/iris/Grongier/PEX/BusinessOperation.cls +0 -33
- grongier/iris/Grongier/PEX/BusinessProcess.cls +0 -100
- grongier/iris/Grongier/PEX/BusinessService.cls +0 -33
- grongier/iris/Grongier/PEX/Common.cls +0 -133
- grongier/iris/Grongier/PEX/Director.cls +0 -15
- grongier/iris/Grongier/PEX/Duplex/Operation.cls +0 -27
- grongier/iris/Grongier/PEX/Duplex/Process.cls +0 -211
- grongier/iris/Grongier/PEX/Duplex/Service.cls +0 -9
- grongier/iris/Grongier/PEX/InboundAdapter.cls +0 -22
- grongier/iris/Grongier/PEX/Message.cls +0 -126
- grongier/iris/Grongier/PEX/OutboundAdapter.cls +0 -34
- grongier/iris/Grongier/PEX/PickleMessage.cls +0 -58
- grongier/iris/Grongier/PEX/PrivateSession/Duplex.cls +0 -247
- grongier/iris/Grongier/PEX/PrivateSession/Message/Ack.cls +0 -32
- grongier/iris/Grongier/PEX/PrivateSession/Message/Poll.cls +0 -32
- grongier/iris/Grongier/PEX/PrivateSession/Message/Start.cls +0 -32
- grongier/iris/Grongier/PEX/PrivateSession/Message/Stop.cls +0 -48
- grongier/iris/Grongier/PEX/Python.cls +0 -27
- grongier/iris/Grongier/PEX/Test.cls +0 -62
- grongier/iris/Grongier/PEX/Utils.cls +0 -312
- grongier/iris/__init__.py +0 -0
- grongier/pex/data/PEX/BusinessOperation.cls +0 -35
- grongier/pex/data/PEX/BusinessProcess.cls +0 -113
- grongier/pex/data/PEX/BusinessService.cls +0 -35
- grongier/pex/data/PEX/Common.cls +0 -146
- grongier/pex/data/PEX/Director.cls +0 -57
- grongier/pex/data/PEX/Duplex/Operation.cls +0 -29
- grongier/pex/data/PEX/Duplex/Process.cls +0 -229
- grongier/pex/data/PEX/Duplex/Service.cls +0 -9
- grongier/pex/data/PEX/InboundAdapter.cls +0 -22
- grongier/pex/data/PEX/Message.cls +0 -128
- grongier/pex/data/PEX/OutboundAdapter.cls +0 -36
- grongier/pex/data/PEX/PickleMessage.cls +0 -58
- grongier/pex/data/PEX/PrivateSession/Duplex.cls +0 -260
- grongier/pex/data/PEX/PrivateSession/Message/Ack.cls +0 -32
- grongier/pex/data/PEX/PrivateSession/Message/Poll.cls +0 -32
- grongier/pex/data/PEX/PrivateSession/Message/Start.cls +0 -32
- grongier/pex/data/PEX/PrivateSession/Message/Stop.cls +0 -48
- grongier/pex/data/PEX/Test.cls +0 -62
- grongier/pex/data/PEX/Utils.cls +0 -413
- iris/iris_site.py +0 -13
- iris/irisbuiltins.py +0 -97
- iris/irisloader.py +0 -199
- {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/LICENSE +0 -0
- {iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/entry_points.txt +0 -0
- {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
|
-
|
|
25
|
+
Return ..%class
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
/// Get Classname
|
|
29
29
|
Method GetClassname() As %String
|
|
30
30
|
{
|
|
31
|
-
|
|
31
|
+
Return ..%classname
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/// Get Classname
|
|
35
35
|
Method GetModule() As %String
|
|
36
36
|
{
|
|
37
|
-
|
|
37
|
+
Return ..%module
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
Method OnInit() As %Status
|
|
41
41
|
{
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
set tSC = $$$OK
|
|
43
|
+
try {
|
|
44
44
|
$$$ThrowOnError(..Connect())
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
|
|
120
|
+
set tSC = $$$OK
|
|
121
121
|
do ..%class."_dispatch_on_tear_down"()
|
|
122
|
-
|
|
122
|
+
quit tSC
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
Method SetPropertyValues()
|
|
126
126
|
{
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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
|
intersystems_iris/_IRISOREF.py
CHANGED
|
@@ -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):
|
{iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/METADATA
RENAMED
|
@@ -1,12 +1,35 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: iris-pex-embedded-python
|
|
3
|
-
Version: 2.3.
|
|
4
|
-
Summary:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
25
|
-
Requires-Dist: xmltodict
|
|
46
|
+
Requires-Dist: dacite >=1.6.0
|
|
47
|
+
Requires-Dist: xmltodict >=0.12.0
|
|
26
48
|
|
|
27
49
|
# 1. interoperability-embedded-python
|
|
28
50
|
|
{iris_pex_embedded_python-2.3.19.dist-info → iris_pex_embedded_python-2.3.21b1.dist-info}/RECORD
RENAMED
|
@@ -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
|
|
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/
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
149
|
-
iris_pex_embedded_python-2.3.
|
|
150
|
-
iris_pex_embedded_python-2.3.
|
|
151
|
-
iris_pex_embedded_python-2.3.
|
|
152
|
-
iris_pex_embedded_python-2.3.
|
|
153
|
-
iris_pex_embedded_python-2.3.
|
|
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,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
|
-
}
|