mySQLDBCtrlAPI 1.2512.101__tar.gz → 1.2512.301__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.
Files changed (20) hide show
  1. {mysqldbctrlapi-1.2512.101/src/mySQLDBCtrlAPI.egg-info → mysqldbctrlapi-1.2512.301}/PKG-INFO +5 -2
  2. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/README.md +3 -1
  3. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/pyproject.toml +9 -1
  4. mysqldbctrlapi-1.2512.301/src/mySQLDBCtrlAPI/__init__.py +6 -0
  5. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/src/mySQLDBCtrlAPI/mySQLDBCtrl.cp310-win_amd64.pyd +0 -0
  6. mysqldbctrlapi-1.2512.301/src/mySQLDBCtrlAPI/mySQLxJsonLIB.cp310-win_amd64.pyd +0 -0
  7. mysqldbctrlapi-1.2512.301/src/mySQLDBCtrlAPI/mySQLxJsonLIB.pyi +26 -0
  8. mysqldbctrlapi-1.2512.301/src/mySQLDBCtrlAPI/out/mySQLDBCtrlAPI/mySQLDBCtrl.pyi +80 -0
  9. mysqldbctrlapi-1.2512.301/src/mySQLDBCtrlAPI/out/mySQLDBCtrlAPI/mySQLxJsonLIB.pyi +26 -0
  10. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301/src/mySQLDBCtrlAPI.egg-info}/PKG-INFO +5 -2
  11. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/src/mySQLDBCtrlAPI.egg-info/SOURCES.txt +4 -1
  12. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/src/mySQLDBCtrlAPI.egg-info/requires.txt +1 -0
  13. mysqldbctrlapi-1.2512.101/src/mySQLDBCtrlAPI/__init__.py +0 -4
  14. mysqldbctrlapi-1.2512.101/src/mySQLDBCtrlAPI/mySQLDBCtrl.pyi +0 -62
  15. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/LICENSE +0 -0
  16. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/MANIFEST.in +0 -0
  17. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/setup.cfg +0 -0
  18. {mysqldbctrlapi-1.2512.101/src/mySQLDBCtrlAPI/out → mysqldbctrlapi-1.2512.301/src}/mySQLDBCtrlAPI/mySQLDBCtrl.pyi +0 -0
  19. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/src/mySQLDBCtrlAPI.egg-info/dependency_links.txt +0 -0
  20. {mysqldbctrlapi-1.2512.101 → mysqldbctrlapi-1.2512.301}/src/mySQLDBCtrlAPI.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mySQLDBCtrlAPI
3
- Version: 1.2512.101
3
+ Version: 1.2512.301
4
4
  Summary: mySQLDBCtrlAPI Python package
5
5
  Author-email: James Lin <tylin123@ms27.hinet.net>
6
6
  License: Copyright (c) 2025 James Lin
@@ -29,15 +29,18 @@ Requires-Python: >=3.10
29
29
  Description-Content-Type: text/markdown
30
30
  License-File: LICENSE
31
31
  Requires-Dist: pymysql
32
+ Requires-Dist: ulid-py
32
33
  Dynamic: license-file
33
34
 
34
35
  #mySQLDBCtrlAPI
35
36
 
36
37
  ## History of version
38
+ Version 1.2512.0301: 2025/12/03<BR>
39
+ Add CLASS_mySQLxJson Library for convert json data into mysql each other.
40
+
37
41
  Version 1.2512.0101: 2025/12/01<BR>
38
42
  Fixed error CUF_GetServerDateTime(...) when error on fetch data from dataset
39
43
 
40
-
41
44
  Version 1.2511.28: 2025/11/28<BR>
42
45
  Fixed error CUF_GET_Blob(...) will disturbe cursor position.
43
46
 
@@ -1,10 +1,12 @@
1
1
  #mySQLDBCtrlAPI
2
2
 
3
3
  ## History of version
4
+ Version 1.2512.0301: 2025/12/03<BR>
5
+ Add CLASS_mySQLxJson Library for convert json data into mysql each other.
6
+
4
7
  Version 1.2512.0101: 2025/12/01<BR>
5
8
  Fixed error CUF_GetServerDateTime(...) when error on fetch data from dataset
6
9
 
7
-
8
10
  Version 1.2511.28: 2025/11/28<BR>
9
11
  Fixed error CUF_GET_Blob(...) will disturbe cursor position.
10
12
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mySQLDBCtrlAPI"
7
- version = "1.2512.0101"
7
+ version = "1.2512.0301"
8
8
  requires-python = ">=3.10"
9
9
  description = "mySQLDBCtrlAPI Python package"
10
10
  authors = [
@@ -14,7 +14,15 @@ readme = "README.md"
14
14
  license = { file = "LICENSE" }
15
15
  dependencies = [
16
16
  "pymysql",
17
+ "ulid-py"
17
18
  ]
18
19
 
19
20
  [project.urls]
20
21
  Homepage = "https://mis.gotech.biz"
22
+
23
+
24
+ [tool.setuptools.packages.find]
25
+ where = ["src"]
26
+
27
+ [tool.setuptools.package-data]
28
+ mySQLDBCtrlAPI = ["*.pyd"]
@@ -0,0 +1,6 @@
1
+ from .mySQLDBCtrl import CLASS_mySQLDBCtrl
2
+ from .mySQLxJsonLIB import CLASS_mySQLxJson
3
+
4
+ __all__ = ["CLASS_mySQLDBCtrl",
5
+ "CLASS_mySQLxJson"
6
+ ]
@@ -0,0 +1,26 @@
1
+ from pymysql.connections import Connection as Connection
2
+ from typing import Any
3
+
4
+ class CLASS_mySQLxJson:
5
+ CVobj_ZConn: Connection
6
+ USE_ID_MODE: str
7
+ CHARSET: str
8
+ def __init__(self, Pobj_ZConn: Connection, charset: str = 'utf8mb4') -> None: ...
9
+ def CUF_str_big5(self, Pobj_DataSet): ...
10
+ def CUF_str_utf8(self, Pobj_DataSet): ...
11
+ def gen_table_name(self, base: str) -> str: ...
12
+ def infer_mysql_type(self, value: Any) -> str: ...
13
+ def create_table(self, table_name: str, sample_row: dict[str, Any]): ...
14
+ def insert_rows(self, table: str, rows: list[dict[str, Any]]): ...
15
+ def process_value(self, parent_table: str, key: str, value: Any) -> Any: ...
16
+ def CUF_json_to_mysql(self, table_name: str, json_data: dict | list): ...
17
+ def load_table_rows(self, table_name: str) -> list[dict[str, Any]]: ...
18
+ def restore_value(self, value: Any) -> Any: ...
19
+ def restore_row(self, row: dict[str, Any]) -> dict[str, Any]: ...
20
+ def CUF_mysql_to_json(self, table_name: str) -> dict | list: ...
21
+ def CUF_Export_json(self, Pobj_json_DataSet: dict | list, Pmi_Ident: int = 2): ...
22
+ def CUF_RelDict_Build(self, Pms_Json_TableName: str, Pms_Dict_TableName: str = '', PmB_IsMemTable: bool = True): ...
23
+ def CUF_RelDict_Remove(self, Pms_Dict_TableName: str): ...
24
+ def CUF_RelDict_FindTable(self, Pms_Json_TableName: str, Pms_KeyName: str, Pms_Dict_TableName: str = ''): ...
25
+ def CUF_RelDict_FindKeys(self, Pms_Json_TableName: str, Pms_Dict_TableName: str = ''): ...
26
+ def CUF_RemoveJsonTable(self, table_name: str): ...
@@ -0,0 +1,80 @@
1
+ from _typeshed import Incomplete
2
+
3
+ class ENUM_DB_CHARSET:
4
+ cE_DBCS_ascii: Incomplete
5
+ cE_DBCS_big5: Incomplete
6
+ cE_DBCS_binary: Incomplete
7
+ cE_DBCS_cp1250: Incomplete
8
+ cE_DBCS_gb2312: Incomplete
9
+ cE_DBCS_gbk: Incomplete
10
+ cE_DBCS_latin1: Incomplete
11
+ cE_DBCS_latin2: Incomplete
12
+ cE_DBCS_latin5: Incomplete
13
+ cE_DBCS_latin7: Incomplete
14
+ cE_DBCS_utf16: Incomplete
15
+ cE_DBCS_utf16le: Incomplete
16
+ cE_DBCS_utf32: Incomplete
17
+ cE_DBCS_utf8mb3: Incomplete
18
+ cE_DBCS_utf8mb4: int
19
+ def __init__(self) -> None: ...
20
+
21
+ class STRU_mySQLDBInfo:
22
+ ms_DB_HostIP: str
23
+ mi_DB_Port: int
24
+ ms_DB_Name: str
25
+ ms_User: str
26
+ ms_Password: str
27
+ def __init__(self) -> None: ...
28
+
29
+ class CLASS_mySQLDBCtrl:
30
+ CUms_DB_HostIP: str
31
+ CUmi_DB_Port: int
32
+ CUms_DB_Name: str
33
+ CUms_User: str
34
+ CUms_Password: str
35
+ CVmi_qryRECCNT: int
36
+ CVmsa_DBCS: Incomplete
37
+ CUobj_SSH_Tunnel: Incomplete
38
+ CUms_SSH_Host: Incomplete
39
+ CUmi_SSH_Port: int
40
+ CUms_SSH_User: Incomplete
41
+ CUms_SSH_pKey: Incomplete
42
+ CUms_SSH_remoteHost: Incomplete
43
+ CUmi_SSH_remotePort: Incomplete
44
+ CUms_SSH_localHost: str
45
+ CUmi_SSH_localPort: Incomplete
46
+ def __init__(self) -> None: ...
47
+ def CUF_SET_Charset(self, PmE_DB_Charset) -> None: ...
48
+ def CUF_SSH_Open(self, Pms_ssh_host, Pms_ssh_port, Pms_ssh_username, Pms_ssh_pkey, Pms_remote_bind_address=('127.0.0.1', 3306), Pms_local_bind_address=('127.0.0.1', 3307)) -> None: ...
49
+ def CUF_SSH_Start(self) -> None: ...
50
+ CUobj_Conn: Incomplete
51
+ def CUF_OpenConnection_DBCS(self, Pms_DB_HostIP, Pmi_DB_Port, Pms_DB_Name, Pms_User, Pms_Password, PmE_DB_CHARSET): ...
52
+ def CUF_OpenConnection(self, Pms_DB_HostIP, Pmi_DB_Port, Pms_DB_Name, Pms_User, Pms_Password): ...
53
+ def CUF_DB_OpenConn(self, Pstru_mySQLDBInfo): ...
54
+ def CUF_OpenConnection_SSH(self, Pms_DB_Name, Pms_User, Pms_Password): ...
55
+ def CUF_DB_OpenSQL(self, Pobj_Connection, Pms_SQL): ...
56
+ def CUF_DB_OpenSQL_utf8(self, Pobj_Connection, Pms_SQL): ...
57
+ def CUF_DB_FETCH(self, Pobj_Query): ...
58
+ def CUF_DB_Next(self, Pobj_Query): ...
59
+ def CUF_Next(self, Pobj_Query): ...
60
+ def CUF_DB_ExecSQL(self, Pobj_Connection, Pms_SQL): ...
61
+ def CUF_DB_ExecSQL_utf8(self, Pobj_Connection, Pms_SQL): ...
62
+ def CUF_DB_RecordCount(self, Pobj_Query): ...
63
+ def CUF_DB_RECCOUNT(self, Pobj_Query): ...
64
+ def CUF_DB_Eof(self, Pobj_Query): ...
65
+ def CUF_Eof(self, Pobj_Query): ...
66
+ def CUF_str_utf8(self, Pobj_DataSet): ...
67
+ def CUF_utf8(self, Pobj_DataSet): ...
68
+ def CUF_str_big5(self, Pobj_DataSet): ...
69
+ def CUF_big5(self, Pobj_DataSet): ...
70
+ def CUF_GetBlobField(self, Pobj_DataSet, Pms_BlobFieldName, Pms_FileName) -> None: ...
71
+ def CUF_GET_Blob(self, Pobj_Query, Pms_BlobFieldName, Pms_FileName) -> None: ...
72
+ def CUF_SetBlobField(self, Pobj_Query, Pms_TableName, Pms_QUERY, Pms_BlobFieldName, Pms_FileName) -> None: ...
73
+ def CUF_SET_BLOB(self, Pobj_Query, Pms_TableName, Pms_QUERY, Pms_BlobFieldName, Pms_FileName) -> None: ...
74
+ def CUF_GetServerDateTime(self, Pms_SEPCHAR_DATE, Pms_SEPCHAR_TIME, Pms_SEPERATOR): ...
75
+ def CUF_GetServerDateTime1(self, PmB_DELIMITER): ...
76
+ def CUF_GetServerDateTime2(self): ...
77
+ def CUF_GetServerDate(self, Pms_DELIMITER): ...
78
+ def CUF_GetServerTime(self, Pms_DELIMITER): ...
79
+ def CUF_AddTime(self, Pms_DateTime, Pmi_TimeSecond): ...
80
+ def CUF_AddTime_Current(self, Pmi_TimeSecond): ...
@@ -0,0 +1,26 @@
1
+ from pymysql.connections import Connection as Connection
2
+ from typing import Any
3
+
4
+ class CLASS_mySQLxJson:
5
+ CVobj_ZConn: Connection
6
+ USE_ID_MODE: str
7
+ CHARSET: str
8
+ def __init__(self, Pobj_ZConn: Connection, charset: str = 'utf8mb4') -> None: ...
9
+ def CUF_str_big5(self, Pobj_DataSet): ...
10
+ def CUF_str_utf8(self, Pobj_DataSet): ...
11
+ def gen_table_name(self, base: str) -> str: ...
12
+ def infer_mysql_type(self, value: Any) -> str: ...
13
+ def create_table(self, table_name: str, sample_row: dict[str, Any]): ...
14
+ def insert_rows(self, table: str, rows: list[dict[str, Any]]): ...
15
+ def process_value(self, parent_table: str, key: str, value: Any) -> Any: ...
16
+ def CUF_json_to_mysql(self, table_name: str, json_data: dict | list): ...
17
+ def load_table_rows(self, table_name: str) -> list[dict[str, Any]]: ...
18
+ def restore_value(self, value: Any) -> Any: ...
19
+ def restore_row(self, row: dict[str, Any]) -> dict[str, Any]: ...
20
+ def CUF_mysql_to_json(self, table_name: str) -> dict | list: ...
21
+ def CUF_Export_json(self, Pobj_json_DataSet: dict | list, Pmi_Ident: int = 2): ...
22
+ def CUF_RelDict_Build(self, Pms_Json_TableName: str, Pms_Dict_TableName: str = '', PmB_IsMemTable: bool = True): ...
23
+ def CUF_RelDict_Remove(self, Pms_Dict_TableName: str): ...
24
+ def CUF_RelDict_FindTable(self, Pms_Json_TableName: str, Pms_KeyName: str, Pms_Dict_TableName: str = ''): ...
25
+ def CUF_RelDict_FindKeys(self, Pms_Json_TableName: str, Pms_Dict_TableName: str = ''): ...
26
+ def CUF_RemoveJsonTable(self, table_name: str): ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mySQLDBCtrlAPI
3
- Version: 1.2512.101
3
+ Version: 1.2512.301
4
4
  Summary: mySQLDBCtrlAPI Python package
5
5
  Author-email: James Lin <tylin123@ms27.hinet.net>
6
6
  License: Copyright (c) 2025 James Lin
@@ -29,15 +29,18 @@ Requires-Python: >=3.10
29
29
  Description-Content-Type: text/markdown
30
30
  License-File: LICENSE
31
31
  Requires-Dist: pymysql
32
+ Requires-Dist: ulid-py
32
33
  Dynamic: license-file
33
34
 
34
35
  #mySQLDBCtrlAPI
35
36
 
36
37
  ## History of version
38
+ Version 1.2512.0301: 2025/12/03<BR>
39
+ Add CLASS_mySQLxJson Library for convert json data into mysql each other.
40
+
37
41
  Version 1.2512.0101: 2025/12/01<BR>
38
42
  Fixed error CUF_GetServerDateTime(...) when error on fetch data from dataset
39
43
 
40
-
41
44
  Version 1.2511.28: 2025/11/28<BR>
42
45
  Fixed error CUF_GET_Blob(...) will disturbe cursor position.
43
46
 
@@ -6,9 +6,12 @@ setup.cfg
6
6
  src/mySQLDBCtrlAPI/__init__.py
7
7
  src/mySQLDBCtrlAPI/mySQLDBCtrl.cp310-win_amd64.pyd
8
8
  src/mySQLDBCtrlAPI/mySQLDBCtrl.pyi
9
+ src/mySQLDBCtrlAPI/mySQLxJsonLIB.cp310-win_amd64.pyd
10
+ src/mySQLDBCtrlAPI/mySQLxJsonLIB.pyi
9
11
  src/mySQLDBCtrlAPI.egg-info/PKG-INFO
10
12
  src/mySQLDBCtrlAPI.egg-info/SOURCES.txt
11
13
  src/mySQLDBCtrlAPI.egg-info/dependency_links.txt
12
14
  src/mySQLDBCtrlAPI.egg-info/requires.txt
13
15
  src/mySQLDBCtrlAPI.egg-info/top_level.txt
14
- src/mySQLDBCtrlAPI/out/mySQLDBCtrlAPI/mySQLDBCtrl.pyi
16
+ src/mySQLDBCtrlAPI/out/mySQLDBCtrlAPI/mySQLDBCtrl.pyi
17
+ src/mySQLDBCtrlAPI/out/mySQLDBCtrlAPI/mySQLxJsonLIB.pyi
@@ -1,4 +0,0 @@
1
- from .mySQLDBCtrl import CLASS_mySQLDBCtrl
2
-
3
- __all__ = ["CLASS_mySQLDBCtrl"
4
- ]
@@ -1,62 +0,0 @@
1
- # This file was generated by Nuitka
2
-
3
- # Stubs included by default
4
- from __future__ import annotations
5
- from sshtunnel import SSHTunnelForwarder
6
- from typing import Any
7
- from typing_extensions import Self
8
- import os
9
- import pymysql
10
-
11
- class ENUM_DB_CHARSET:
12
- def __init__(self: Self) -> None: ...
13
-
14
- class STRU_mySQLDBInfo:
15
- def __init__(self: Self) -> None: ...
16
-
17
- class CLASS_mySQLDBCtrl:
18
- def __init__(self: Self) -> None: ...
19
- def CUF_SET_Charset(self: Self, PmE_DB_Charset: Any) -> Any: ...
20
- def CUF_SSH_Open(self: Self, Pms_ssh_host: Any, Pms_ssh_port: Any, Pms_ssh_username: Any, Pms_ssh_pkey: Any, Pms_remote_bind_address: Any, Pms_local_bind_address: Any) -> Any: ...
21
- def CUF_SSH_Start(self: Self) -> Any: ...
22
- def CUF_OpenConnection_DBCS(self: Self, Pms_DB_HostIP: Any, Pmi_DB_Port: Any, Pms_DB_Name: Any, Pms_User: Any, Pms_Password: Any, PmE_DB_CHARSET: Any) -> Any: ...
23
- def CUF_OpenConnection(self: Self, Pms_DB_HostIP: Any, Pmi_DB_Port: Any, Pms_DB_Name: Any, Pms_User: Any, Pms_Password: Any) -> Any: ...
24
- def CUF_DB_OpenConn(self: Self, Pstru_mySQLDBInfo: Any) -> Any: ...
25
- def CUF_OpenConnection_SSH(self: Self, Pms_DB_Name: Any, Pms_User: Any, Pms_Password: Any) -> Any: ...
26
- def CUF_DB_OpenSQL(self: Self, Pobj_Connection: Any, Pms_SQL: Any) -> Any: ...
27
- def CUF_DB_OpenSQL_utf8(self: Self, Pobj_Connection: Any, Pms_SQL: Any) -> Any: ...
28
- def CUF_DB_FETCH(self: Self, Pobj_Query: Any) -> Any: ...
29
- def CUF_DB_Next(self: Self, Pobj_Query: Any) -> Any: ...
30
- def CUF_Next(self: Self, Pobj_Query: Any) -> Any: ...
31
- def CUF_DB_ExecSQL(self: Self, Pobj_Connection: Any, Pms_SQL: Any) -> Any: ...
32
- def CUF_DB_ExecSQL_utf8(self: Self, Pobj_Connection: Any, Pms_SQL: Any) -> Any: ...
33
- def CUF_DB_RecordCount(self: Self, Pobj_Query: Any) -> Any: ...
34
- def CUF_DB_RECCOUNT(self: Self, Pobj_Query: Any) -> Any: ...
35
- def CUF_DB_Eof(self: Self, Pobj_Query: Any) -> Any: ...
36
- def CUF_Eof(self: Self, Pobj_Query: Any) -> Any: ...
37
- def CUF_str_utf8(self: Self, Pobj_DataSet: Any) -> Any: ...
38
- def CUF_utf8(self: Self, Pobj_DataSet: Any) -> Any: ...
39
- def CUF_str_big5(self: Self, Pobj_DataSet: Any) -> Any: ...
40
- def CUF_big5(self: Self, Pobj_DataSet: Any) -> Any: ...
41
- def CUF_GetBlobField(self: Self, Pobj_DataSet: Any, Pms_BlobFieldName: Any, Pms_FileName: Any) -> Any: ...
42
- def CUF_GET_Blob(self: Self, Pobj_Query: Any, Pms_BlobFieldName: Any, Pms_FileName: Any) -> Any: ...
43
- def CUF_SetBlobField(self: Self, Pobj_Query: Any, Pms_TableName: Any, Pms_QUERY: Any, Pms_BlobFieldName: Any, Pms_FileName: Any) -> Any: ...
44
- def CUF_SET_BLOB(self: Self, Pobj_Query: Any, Pms_TableName: Any, Pms_QUERY: Any, Pms_BlobFieldName: Any, Pms_FileName: Any) -> Any: ...
45
- def CUF_GetServerDateTime(self: Self, Pms_SEPCHAR_DATE: Any, Pms_SEPCHAR_TIME: Any, Pms_SEPERATOR: Any) -> Any: ...
46
- def CUF_GetServerDateTime1(self: Self, PmB_DELIMITER: Any) -> Any: ...
47
- def CUF_GetServerDateTime2(self: Self) -> Any: ...
48
- def CUF_GetServerDate(self: Self, Pms_DELIMITER: Any) -> Any: ...
49
- def CUF_GetServerTime(self: Self, Pms_DELIMITER: Any) -> Any: ...
50
- def CUF_AddTime(self: Self, Pms_DateTime: Any, Pmi_TimeSecond: Any) -> Any: ...
51
- def CUF_AddTime_Current(self: Self, Pmi_TimeSecond: Any) -> Any: ...
52
-
53
-
54
- __name__ = ...
55
-
56
-
57
-
58
- # Modules used internally, to allow implicit dependencies to be seen:
59
- import os
60
- import pymysql
61
- import sshtunnel
62
- import ntpath