iris-pex-embedded-python 2.3.16__tar.gz → 2.3.18__tar.gz

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 (121) hide show
  1. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/PKG-INFO +1 -4
  2. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/setup.py +3 -13
  3. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_business_host.py +9 -1
  4. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_cli.py +8 -2
  5. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_BufferReader.py +10 -0
  6. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_BufferWriter.py +32 -0
  7. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_ConnectionInformation.py +54 -0
  8. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_ConnectionParameters.py +18 -0
  9. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_Constant.py +38 -0
  10. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_DBList.py +500 -0
  11. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_Device.py +69 -0
  12. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_GatewayContext.py +25 -0
  13. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_GatewayException.py +4 -0
  14. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_GatewayUtility.py +74 -0
  15. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRIS.py +1294 -0
  16. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISConnection.py +516 -0
  17. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISEmbedded.py +85 -0
  18. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISGlobalNode.py +273 -0
  19. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISGlobalNodeView.py +25 -0
  20. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISIterator.py +143 -0
  21. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISList.py +360 -0
  22. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISNative.py +208 -0
  23. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISOREF.py +4 -0
  24. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISObject.py +424 -0
  25. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_IRISReference.py +133 -0
  26. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_InStream.py +149 -0
  27. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_LegacyIterator.py +135 -0
  28. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_ListItem.py +15 -0
  29. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_ListReader.py +84 -0
  30. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_ListWriter.py +157 -0
  31. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_LogFileStream.py +115 -0
  32. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_MessageHeader.py +51 -0
  33. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_OutStream.py +25 -0
  34. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_PrintStream.py +65 -0
  35. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_PythonGateway.py +850 -0
  36. iris_pex_embedded_python-2.3.18/src/intersystems_iris/_SharedMemorySocket.py +87 -0
  37. iris_pex_embedded_python-2.3.18/src/intersystems_iris/__init__.py +79 -0
  38. iris_pex_embedded_python-2.3.18/src/intersystems_iris/__main__.py +7 -0
  39. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_Column.py +56 -0
  40. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_DBAPI.py +2587 -0
  41. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_Descriptor.py +46 -0
  42. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_IRISStream.py +65 -0
  43. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_Message.py +158 -0
  44. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_Parameter.py +169 -0
  45. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_ParameterCollection.py +141 -0
  46. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_ResultSetRow.py +338 -0
  47. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/_SQLType.py +32 -0
  48. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/__init__.py +0 -0
  49. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/preparser/_PreParser.py +1671 -0
  50. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/preparser/_Scanner.py +391 -0
  51. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/preparser/_Token.py +81 -0
  52. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/preparser/_TokenList.py +251 -0
  53. iris_pex_embedded_python-2.3.18/src/intersystems_iris/dbapi/preparser/__init__.py +0 -0
  54. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_BusinessHost.py +101 -0
  55. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_BusinessOperation.py +105 -0
  56. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_BusinessProcess.py +214 -0
  57. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_BusinessService.py +95 -0
  58. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_Common.py +228 -0
  59. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_Director.py +24 -0
  60. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_IRISBusinessOperation.py +5 -0
  61. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_IRISBusinessService.py +18 -0
  62. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_IRISInboundAdapter.py +5 -0
  63. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_IRISOutboundAdapter.py +17 -0
  64. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_InboundAdapter.py +57 -0
  65. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_Message.py +6 -0
  66. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/_OutboundAdapter.py +46 -0
  67. iris_pex_embedded_python-2.3.18/src/intersystems_iris/pex/__init__.py +25 -0
  68. iris_pex_embedded_python-2.3.18/src/iris/__init__.py +33 -0
  69. iris_pex_embedded_python-2.3.18/src/iris/iris_ipm.py +40 -0
  70. iris_pex_embedded_python-2.3.18/src/iris/iris_site.py +13 -0
  71. iris_pex_embedded_python-2.3.18/src/iris/irisbuiltins.py +97 -0
  72. iris_pex_embedded_python-2.3.18/src/iris/irisloader.py +199 -0
  73. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/iris_pex_embedded_python.egg-info/PKG-INFO +1 -4
  74. iris_pex_embedded_python-2.3.18/src/iris_pex_embedded_python.egg-info/SOURCES.txt +117 -0
  75. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/iris_pex_embedded_python.egg-info/requires.txt +0 -1
  76. iris_pex_embedded_python-2.3.18/src/iris_pex_embedded_python.egg-info/top_level.txt +4 -0
  77. iris_pex_embedded_python-2.3.18/src/irisnative/_IRISNative.py +9 -0
  78. iris_pex_embedded_python-2.3.18/src/irisnative/__init__.py +10 -0
  79. iris_pex_embedded_python-2.3.16/src/iris_pex_embedded_python.egg-info/SOURCES.txt +0 -47
  80. iris_pex_embedded_python-2.3.16/src/iris_pex_embedded_python.egg-info/top_level.txt +0 -1
  81. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/LICENSE +0 -0
  82. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/README.md +0 -0
  83. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/pyproject.toml +0 -0
  84. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/setup.cfg +0 -0
  85. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/__init__.py +0 -0
  86. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/BusinessOperation.cls +0 -0
  87. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/BusinessProcess.cls +0 -0
  88. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/BusinessService.cls +0 -0
  89. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/Common.cls +0 -0
  90. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/Director.cls +0 -0
  91. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/Duplex/Operation.cls +0 -0
  92. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/Duplex/Process.cls +0 -0
  93. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/Duplex/Service.cls +0 -0
  94. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/InboundAdapter.cls +0 -0
  95. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/Message.cls +0 -0
  96. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/OutboundAdapter.cls +0 -0
  97. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/PickleMessage.cls +0 -0
  98. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/PrivateSession/Duplex.cls +0 -0
  99. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Ack.cls +0 -0
  100. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls +0 -0
  101. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls +0 -0
  102. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls +0 -0
  103. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/Test.cls +0 -0
  104. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/PEX/Utils.cls +0 -0
  105. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/cls/Grongier/Service/WSGI.cls +0 -0
  106. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/__init__.py +0 -0
  107. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/__main__.py +0 -0
  108. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_business_operation.py +0 -0
  109. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_business_process.py +0 -0
  110. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_business_service.py +0 -0
  111. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_common.py +0 -0
  112. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_director.py +0 -0
  113. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_inbound_adapter.py +0 -0
  114. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_message.py +0 -0
  115. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_outbound_adapter.py +0 -0
  116. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_pickle_message.py +0 -0
  117. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_private_session_duplex.py +0 -0
  118. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_private_session_process.py +0 -0
  119. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/grongier/pex/_utils.py +0 -0
  120. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/iris_pex_embedded_python.egg-info/dependency_links.txt +0 -0
  121. {iris_pex_embedded_python-2.3.16 → iris_pex_embedded_python-2.3.18}/src/iris_pex_embedded_python.egg-info/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iris_pex_embedded_python
3
- Version: 2.3.16
3
+ Version: 2.3.18
4
4
  Summary: iris_pex_embedded_python
5
5
  Home-page: https://github.com/grongierisc/interoperability-embedded-python
6
6
  Author: grongier
@@ -21,9 +21,6 @@ Classifier: Topic :: Utilities
21
21
  Requires-Python: >=3.6
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
- Requires-Dist: dacite>=1.6.0
25
- Requires-Dist: xmltodict>=0.12.0
26
- Requires-Dist: irissqlcli
27
24
 
28
25
  # 1. interoperability-embedded-python
29
26
 
@@ -3,16 +3,7 @@
3
3
 
4
4
  import os
5
5
 
6
- from setuptools import setup
7
-
8
- def package_files(directory):
9
- paths = []
10
- for (path, directories, filenames) in os.walk(directory):
11
- for filename in filenames:
12
- paths.append(os.path.join('.', path, filename))
13
- return paths
14
-
15
- extra_files = package_files('src/grongier/iris')
6
+ from setuptools import setup, find_packages
16
7
 
17
8
  def main():
18
9
  # Read the readme for use as the long description
@@ -26,7 +17,7 @@ def main():
26
17
  description='iris_pex_embedded_python',
27
18
  long_description=long_description,
28
19
  long_description_content_type='text/markdown',
29
- version='2.3.16',
20
+ version='2.3.18',
30
21
  author='grongier',
31
22
  author_email='guillaume.rongier@intersystems.com',
32
23
  keywords='iris_pex_embedded_python',
@@ -46,13 +37,12 @@ def main():
46
37
  'Topic :: Utilities'
47
38
  ],
48
39
  package_dir={'': 'src'},
49
- packages=['grongier','grongier.pex','grongier.cls'],
40
+ packages=find_packages(where='src'),
50
41
  package_data={'grongier.cls': ['**/*.cls']},
51
42
  python_requires='>=3.6',
52
43
  install_requires=[
53
44
  "dacite>=1.6.0",
54
45
  "xmltodict>=0.12.0",
55
- "irissqlcli"
56
46
  ],
57
47
  entry_points={
58
48
  'console_scripts': [
@@ -31,9 +31,13 @@ class _BusinessHost(_Common):
31
31
  :return: The function dispatch_serializer is being returned.
32
32
  """
33
33
  def dispatch_serializer(self,*params, **param2):
34
+ # Handle positional arguments
34
35
  serialized=[]
35
36
  for param in params:
36
37
  serialized.append(self._dispatch_serializer(param))
38
+ # Handle keyword arguments
39
+ for key, value in param2.items():
40
+ param2[key] = self._dispatch_serializer(value)
37
41
  return fonction(self,*serialized, **param2)
38
42
  return dispatch_serializer
39
43
 
@@ -60,9 +64,13 @@ class _BusinessHost(_Common):
60
64
  :return: The function dispatch_deserializer is being returned.
61
65
  """
62
66
  def dispatch_deserializer(self,*params, **param2):
67
+ # Handle positional arguments
63
68
  serialized=[]
64
69
  for param in params:
65
- serialized.append(self._dispatch_deserializer(param))
70
+ serialized.append(self._dispatch_serializer(param))
71
+ # Handle keyword arguments
72
+ for key, value in param2.items():
73
+ param2[key] = self._dispatch_serializer(value)
66
74
  return fonction(self,*serialized, **param2)
67
75
  return dispatch_deserializer
68
76
 
@@ -14,6 +14,7 @@ from grongier.pex._utils import _Utils
14
14
 
15
15
  import argparse
16
16
  import json
17
+ import os
17
18
  from importlib.metadata import version
18
19
 
19
20
  def parse_args():
@@ -90,8 +91,13 @@ def main(argv=None):
90
91
  _Director.restart_production()
91
92
 
92
93
  elif args.migrate:
93
- # migrate a production
94
- _Utils.migrate(args.migrate)
94
+ # check if migrate is absolute path
95
+ if os.path.isabs(args.migrate):
96
+ # migrate a production with absolute path
97
+ _Utils.migrate(args.migrate)
98
+ else:
99
+ # migrate a production with relative path
100
+ _Utils.migrate(os.path.join(os.getcwd(), args.migrate))
95
101
 
96
102
  elif args.version:
97
103
  # display version
@@ -0,0 +1,10 @@
1
+ import intersystems_iris._ListReader
2
+
3
+ class _BufferReader(intersystems_iris._ListReader._ListReader):
4
+
5
+ def __init__(self, header, buffer, locale):
6
+ self.header = header
7
+ super().__init__(buffer, locale)
8
+
9
+ def _get_header_count(self):
10
+ return self.header._get_count()
@@ -0,0 +1,32 @@
1
+ import intersystems_iris._ListWriter
2
+ import intersystems_iris._MessageHeader
3
+
4
+ class _BufferWriter(intersystems_iris._ListWriter._ListWriter):
5
+
6
+ def __init__(self, locale, is_unicode, compact_double):
7
+ super().__init__(locale, is_unicode, compact_double)
8
+ self.offset = intersystems_iris._MessageHeader._MessageHeader.HEADER_SIZE
9
+
10
+ def _write_header(self, function_code):
11
+ self.buffer[12] = function_code[0]
12
+ self.buffer[13] = function_code[1]
13
+ self.offset = intersystems_iris._MessageHeader._MessageHeader.HEADER_SIZE
14
+
15
+ def _write_header_sysio(self, sysio_code):
16
+ code_int = sysio_code + 49728
17
+ code_bytes = code_int.to_bytes(2, 'little')
18
+ self.buffer[12] = code_bytes[0]
19
+ self.buffer[13] = code_bytes[1]
20
+ self.offset = intersystems_iris._MessageHeader._MessageHeader.HEADER_SIZE
21
+
22
+ def _set_connection_info(self, connection_info):
23
+ self._locale = connection_info._locale
24
+ self._is_unicode = connection_info._is_unicode
25
+ self._compact_double = connection_info._compact_double
26
+
27
+ def _get_header_buffer(self):
28
+ return self.buffer[0:intersystems_iris._MessageHeader._MessageHeader.HEADER_SIZE]
29
+
30
+ def _get_data_buffer(self):
31
+ return self.buffer[intersystems_iris._MessageHeader._MessageHeader.HEADER_SIZE:self.offset]
32
+
@@ -0,0 +1,54 @@
1
+ import intersystems_iris._Constant
2
+
3
+ class _ConnectionInformation(object):
4
+
5
+ def __init__(self):
6
+ self.protocol_version = intersystems_iris._Constant._Constant.PROTOCOL_VERSION
7
+ self._is_unicode = True
8
+ self._compact_double = False
9
+ self._locale = "latin-1"
10
+ self._delimited_ids = 0
11
+ self._server_version = ""
12
+ self._server_version_major = 0
13
+ self._server_version_minor = 0
14
+ self._iris_install_dir = ""
15
+ self._server_job_number = -1
16
+
17
+ def _set_server_locale(self, locale):
18
+ self._locale = self._map_server_locale(locale)
19
+
20
+ def _parse_server_version(self, server_version):
21
+ split_1 = server_version.split("|")
22
+ self._server_version = split_1[0]
23
+ if len(split_1)>1: self._iris_install_dir = split_1[1]
24
+ if self._server_version.find("Version") > 0:
25
+ version = server_version[server_version.find("Version")+8:]
26
+ self._server_version_major = version.split(".")[0]
27
+ self._server_version_minor = version.split(".")[1]
28
+ return
29
+
30
+ @staticmethod
31
+ def _map_server_locale(locale):
32
+ # we need to map IRIS locale literals to Python locale literals
33
+ _locales = {
34
+ "LATIN1": "latin_1",
35
+ "LATIN2": "iso8859_2",
36
+ "LATINC": "iso8859_5",
37
+ "LATINA": "iso8859_6",
38
+ "LATING": "iso8859_7",
39
+ "LATINH": "iso8859_8",
40
+ "LATINT": "iso8859_11",
41
+ "LATIN9": "iso8859_15",
42
+ "CP1250": "cp1250",
43
+ "CP1251": "cp1251",
44
+ "CP1252": "cp1252",
45
+ "CP1253": "cp1253",
46
+ "CP1255": "cp1255",
47
+ "CP1256": "cp1256",
48
+ "CP1257": "cp1257",
49
+ "CP874": "cp874",
50
+ "UNICODE": "utf-8",
51
+ }
52
+ return _locales[locale.upper()] if locale.upper() in _locales else locale
53
+
54
+
@@ -0,0 +1,18 @@
1
+ class _ConnectionParameters(object):
2
+ """_ConnectionParameters represents the properties that are implicit to a URL."""
3
+ def __init__(self):
4
+ self.hostname = None
5
+ self.port = None
6
+ self.namespace = None
7
+ self.timeout = None
8
+ self.sharedmemory = False
9
+ self.logfile = None
10
+ self.sslcontext = None
11
+ self.isolationLevel = None
12
+ self.featureOptions = None
13
+
14
+ def _set_sharedmemory(self, sharedmemory):
15
+ self.sharedmemory = sharedmemory
16
+
17
+ def _get_sharedmemory(self):
18
+ return self.sharedmemory
@@ -0,0 +1,38 @@
1
+ class _Constant():
2
+
3
+ PROTOCOL_VERSION = 65
4
+
5
+ # Message function code
6
+ MESSAGE_CONNECT = b'Y0'
7
+ MESSAGE_DISCONNECT = b'Y4'
8
+ MESSAGE_SHUTDOWN = b'Y6'
9
+ MESSAGE_PING = b'YQ'
10
+ MESSAGE_BENCHMARK_ECHO = b'YY'
11
+ MESSAGE_LOAD_MODULES = b'YP'
12
+ MESSAGE_DYNAMIC_EXECUTE_CONSTRUCTOR = b'YA'
13
+ MESSAGE_DYNAMIC_EXECUTE_METHOD = b'YU'
14
+ MESSAGE_DYNAMIC_EXECUTE_GET = b'YV'
15
+ MESSAGE_DYNAMIC_EXECUTE_SET = b'YB'
16
+ MESSAGE_CREATE_OBJECT = b'Y9'
17
+ MESSAGE_EXCEPTION_RAISED = b'Y5'
18
+ MESSAGE_GET_LIST = b'YG'
19
+ MESSAGE_GET_STREAM = b'YH'
20
+
21
+ @staticmethod
22
+ def __convert(code):
23
+ return code[0]*256+code[1]-22832
24
+
25
+ ENUM_MESSAGE_PASSPHRASE = -48
26
+ ENUM_MESSAGE_CONNECT = __convert.__func__(MESSAGE_CONNECT)
27
+ ENUM_MESSAGE_DISCONNECT = __convert.__func__(MESSAGE_DISCONNECT)
28
+ ENUM_MESSAGE_SHUTDOWN = __convert.__func__(MESSAGE_SHUTDOWN)
29
+ ENUM_MESSAGE_PING = __convert.__func__(MESSAGE_PING)
30
+ ENUM_MESSAGE_BENCHMARK_ECHO = __convert.__func__(MESSAGE_BENCHMARK_ECHO)
31
+ ENUM_MESSAGE_LOAD_MODULES = __convert.__func__(MESSAGE_LOAD_MODULES)
32
+ ENUM_MESSAGE_DYNAMIC_EXECUTE_CONSTRUCTOR = __convert.__func__(MESSAGE_DYNAMIC_EXECUTE_CONSTRUCTOR)
33
+ ENUM_MESSAGE_DYNAMIC_EXECUTE_METHOD = __convert.__func__(MESSAGE_DYNAMIC_EXECUTE_METHOD)
34
+ ENUM_MESSAGE_DYNAMIC_EXECUTE_GET = __convert.__func__(MESSAGE_DYNAMIC_EXECUTE_GET)
35
+ ENUM_MESSAGE_DYNAMIC_EXECUTE_SET = __convert.__func__(MESSAGE_DYNAMIC_EXECUTE_SET)
36
+
37
+ # IRISNative messages
38
+