ezKit 1.12.46__tar.gz → 1.12.48__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 (31) hide show
  1. {ezkit-1.12.46/ezKit.egg-info → ezkit-1.12.48}/PKG-INFO +1 -1
  2. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/database.py +17 -4
  3. {ezkit-1.12.46 → ezkit-1.12.48/ezKit.egg-info}/PKG-INFO +1 -1
  4. {ezkit-1.12.46 → ezkit-1.12.48}/setup.py +1 -1
  5. {ezkit-1.12.46 → ezkit-1.12.48}/LICENSE +0 -0
  6. {ezkit-1.12.46 → ezkit-1.12.48}/MANIFEST.in +0 -0
  7. {ezkit-1.12.46 → ezkit-1.12.48}/README.md +0 -0
  8. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/__init__.py +0 -0
  9. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/_file.py +0 -0
  10. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/auth.py +0 -0
  11. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/bottle.py +0 -0
  12. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/bottle_extensions.py +0 -0
  13. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/cipher.py +0 -0
  14. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/dockerhub.py +0 -0
  15. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/errors.py +0 -0
  16. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/fastapix.py +0 -0
  17. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/http.py +0 -0
  18. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/markdown_to_html.template +0 -0
  19. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/mongo.py +0 -0
  20. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/qywx.py +0 -0
  21. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/redis.py +0 -0
  22. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/sendemail.py +0 -0
  23. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/token.py +0 -0
  24. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/utils.py +0 -0
  25. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/xftp.py +0 -0
  26. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit/zabbix.py +0 -0
  27. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit.egg-info/SOURCES.txt +0 -0
  28. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit.egg-info/dependency_links.txt +0 -0
  29. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit.egg-info/requires.txt +0 -0
  30. {ezkit-1.12.46 → ezkit-1.12.48}/ezKit.egg-info/top_level.txt +0 -0
  31. {ezkit-1.12.46 → ezkit-1.12.48}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ezKit
3
- Version: 1.12.46
3
+ Version: 1.12.48
4
4
  Summary: Easy Kit
5
5
  Author: septvean
6
6
  Author-email: septvean@gmail.com
@@ -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
- is_date_field = field == "date" or field.startswith("date__")
223
- base_field = field.replace("date", "datetime::date", 1) if is_date_field else field
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
- if param_key.startswith("datetime::date"):
255
- param_key = param_key.replace("datetime::date", "datetime_date", 1)
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ezKit
3
- Version: 1.12.46
3
+ Version: 1.12.48
4
4
  Summary: Easy Kit
5
5
  Author: septvean
6
6
  Author-email: septvean@gmail.com
@@ -4,7 +4,7 @@ from setuptools import find_packages, setup
4
4
 
5
5
  setup(
6
6
  name="ezKit",
7
- version="1.12.46",
7
+ version="1.12.48",
8
8
  author="septvean",
9
9
  author_email="septvean@gmail.com",
10
10
  description="Easy Kit",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes