ezKit 1.12.46__py3-none-any.whl → 1.12.48__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.
- ezKit/database.py +17 -4
- {ezkit-1.12.46.dist-info → ezkit-1.12.48.dist-info}/METADATA +1 -1
- {ezkit-1.12.46.dist-info → ezkit-1.12.48.dist-info}/RECORD +6 -6
- {ezkit-1.12.46.dist-info → ezkit-1.12.48.dist-info}/WHEEL +0 -0
- {ezkit-1.12.46.dist-info → ezkit-1.12.48.dist-info}/licenses/LICENSE +0 -0
- {ezkit-1.12.46.dist-info → ezkit-1.12.48.dist-info}/top_level.txt +0 -0
ezKit/database.py
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
|
10
10
|
import csv
|
11
11
|
import json
|
12
|
+
import re
|
12
13
|
from copy import deepcopy
|
13
14
|
from datetime import date, datetime
|
14
15
|
from typing import Any, Dict, List, Optional, Tuple, Type
|
@@ -216,11 +217,18 @@ def build_sqlalchemy_where_clause(data: dict) -> Optional[Tuple[str, Dict[str, A
|
|
216
217
|
param_dict = {}
|
217
218
|
bind_params = []
|
218
219
|
|
220
|
+
pattern_date = re.compile(r"(^|\.)(datetime_date)(__|$)")
|
221
|
+
|
219
222
|
for field, value in _data.items():
|
220
223
|
|
221
224
|
# 特殊处理日期字段
|
222
|
-
|
223
|
-
|
225
|
+
# 如果匹配到 datetime_date 或者 .datetime_date 或者 datetime_date__ 或者 .datetime_date__ 就替换
|
226
|
+
# is_date_field = field == "datetime_date" or field.startswith("datetime_date__")
|
227
|
+
# base_field = field.replace("datetime_date", "datetime::date", 1) if is_date_field else field
|
228
|
+
if pattern_date.search(field):
|
229
|
+
base_field = pattern_date.sub(r"\1datetime::date\3", field, count=1)
|
230
|
+
else:
|
231
|
+
base_field = field
|
224
232
|
|
225
233
|
if "__" in base_field:
|
226
234
|
|
@@ -248,11 +256,16 @@ def build_sqlalchemy_where_clause(data: dict) -> Optional[Tuple[str, Dict[str, A
|
|
248
256
|
sql_parts.append(f"{base} BETWEEN :{param_key}_start AND :{param_key}_end")
|
249
257
|
param_dict[f"{param_key}_start"] = value[0]
|
250
258
|
param_dict[f"{param_key}_end"] = value[1]
|
259
|
+
|
251
260
|
else:
|
261
|
+
|
252
262
|
param_key = base_field.replace(".", "_")
|
253
263
|
# 特殊处理日期字段
|
254
|
-
|
255
|
-
|
264
|
+
# 如果匹配到 datetime_date 或者 .datetime_date 或者 datetime_date__ 或者 .datetime_date__ 就替换
|
265
|
+
# if param_key.startswith("datetime::date"):
|
266
|
+
# param_key = param_key.replace("datetime::date", "datetime_date", 1)
|
267
|
+
if pattern_date.search(param_key):
|
268
|
+
param_key = pattern_date.sub(r"\1datetime::date\3", param_key, count=1)
|
256
269
|
sql_parts.append(f"{base_field} = :{param_key}")
|
257
270
|
param_dict[param_key] = value
|
258
271
|
|
@@ -4,7 +4,7 @@ ezKit/auth.py,sha256=HO19O4qOz68e0YwOP04habxMCAk42B3D7LW7yKgm9ZA,398
|
|
4
4
|
ezKit/bottle.py,sha256=43h4v1kzz6qrLvCt5IMN0H-gFtaT0koG9wETqteXsps,181666
|
5
5
|
ezKit/bottle_extensions.py,sha256=27rogmfK7mL2qUSjXH79IMGZbCVULtYEikql_N9O6Zs,1165
|
6
6
|
ezKit/cipher.py,sha256=7jBarRH7ukSYzkz-Anl8B8JzluhnRz4CLHidPRRj_cg,2939
|
7
|
-
ezKit/database.py,sha256=
|
7
|
+
ezKit/database.py,sha256=sP4pT_nR8KSGeIpF_NCP-Are_5U2yT2meW_TLiwyPRM,33833
|
8
8
|
ezKit/dockerhub.py,sha256=j-wQO-71BsOgExHZhYynuy2k_hCX3on-vg0TH7QCit4,1996
|
9
9
|
ezKit/errors.py,sha256=92PggwPQfTS3Vg4og7GHYnO9CTSM7zmuh2w3kx_tSBE,1425
|
10
10
|
ezKit/fastapix.py,sha256=-nz565ASKvp3nGs9J4wORTHxlhMozqCwv8zREWpmYtI,3382
|
@@ -18,8 +18,8 @@ ezKit/token.py,sha256=Ac-i9xfq4TqpGyfCzakjrh4NYzxHiN2sCQrMk1tzVi8,1716
|
|
18
18
|
ezKit/utils.py,sha256=U457ahFkxIXuB-qWvS3995xJs-LlkFIX5_ZWVgmL5cY,43130
|
19
19
|
ezKit/xftp.py,sha256=-XQXyhMqeigT63P6sXkSS7r4GROXyqqlkzKxITLWG-g,8278
|
20
20
|
ezKit/zabbix.py,sha256=PkMnfu7mcuotwwIIsHaC9FsNg-gap6hD1xvm0AwSL1Y,33777
|
21
|
-
ezkit-1.12.
|
22
|
-
ezkit-1.12.
|
23
|
-
ezkit-1.12.
|
24
|
-
ezkit-1.12.
|
25
|
-
ezkit-1.12.
|
21
|
+
ezkit-1.12.48.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
22
|
+
ezkit-1.12.48.dist-info/METADATA,sha256=F8gcKVZQ9RbG1oyxBSdvGcSqhRBAoWkTkbN2eOXYkbI,317
|
23
|
+
ezkit-1.12.48.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
24
|
+
ezkit-1.12.48.dist-info/top_level.txt,sha256=aYLB_1WODsqNTsTFWcKP-BN0KCTKcV-HZJ4zlHkCFw8,6
|
25
|
+
ezkit-1.12.48.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|