ezKit 1.12.24__py3-none-any.whl → 1.12.26__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 CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  import csv
11
11
  import json
12
+ from copy import deepcopy
12
13
  from datetime import date, datetime
13
14
  from typing import Any, Dict, List, Optional, Tuple, Type
14
15
 
@@ -121,11 +122,13 @@ def build_sqlalchemy_where_clause(data: dict) -> Optional[Tuple[str, Dict[str, A
121
122
 
122
123
  try:
123
124
 
125
+ _data = deepcopy(data)
126
+
124
127
  sql_parts = []
125
128
  param_dict = {}
126
129
  bind_params = []
127
130
 
128
- for field, value in data.items():
131
+ for field, value in _data.items():
129
132
 
130
133
  # 特殊处理日期字段
131
134
  if field == "date" or field.startswith("date__"):
@@ -195,32 +198,34 @@ def build_sqlalchemy_select_where(data: dict) -> tuple | None:
195
198
 
196
199
  try:
197
200
 
201
+ _data = deepcopy(data)
202
+
198
203
  # 获取分页参数 (从 data 中取出 pageIndex 和 pageSize, 剩余的为查询参数)
199
204
 
200
- pageIndex = data.pop("pageIndex", 1)
201
- pageSize = data.pop("pageSize", 10)
205
+ pageIndex = _data.pop("pageIndex", 1)
206
+ pageSize = _data.pop("pageSize", 10)
202
207
 
203
208
  limit, offset = get_limit_offset(pageIndex, pageSize)
204
209
 
205
210
  # 构建 WHERE
206
211
 
207
- build_result = build_sqlalchemy_where_clause(data)
212
+ build_result = build_sqlalchemy_where_clause(_data)
208
213
 
209
214
  if build_result is None:
210
215
  logger.error("Build SQLAlchemy WHERE clause error")
211
216
  return None
212
217
 
213
- where_clause, sql_params, bind_params = build_result
218
+ where_clause, statement_params, bind_params = build_result
214
219
 
215
220
  # 添加 WHERE 前缀
216
221
  if isinstance(where_clause, str) and where_clause.strip():
217
222
  where_clause = f"WHERE {where_clause.strip()}"
218
223
 
219
224
  # 分页参数
220
- sql_params["limit"] = limit
221
- sql_params["offset"] = offset
225
+ statement_params["limit"] = limit
226
+ statement_params["offset"] = offset
222
227
 
223
- return where_clause, sql_params, bind_params
228
+ return where_clause, statement_params, bind_params
224
229
 
225
230
  except Exception as e:
226
231
  logger.exception(e)
@@ -238,17 +243,17 @@ def build_sqlalchemy_update(tablename: str, where_data: dict, update_data: dict)
238
243
  logger.error("Build SQLAlchemy WHERE clause error")
239
244
  return None
240
245
 
241
- where_clause, sql_params, bind_params = build_result
246
+ where_clause, statement_params, bind_params = build_result
242
247
 
243
248
  # 构建 UPDATE SQL 语句 (SET 中 key 的 value 的 key 添加后缀 _value, 避免与 where 冲突)
244
249
  sql: str = f"UPDATE {tablename} SET " + ", ".join([f"{k} = :{k}_value" for k in update_data.keys()]) + f" WHERE {where_clause}"
245
250
 
246
251
  # 合并数据 (key 添加后缀 _value, 与 SQL 保持一致)
247
252
  for k in update_data.keys():
248
- sql_params[f"{k}_value"] = update_data[k]
253
+ statement_params[f"{k}_value"] = update_data[k]
249
254
 
250
255
  # 返回 statement 和 params
251
- return text(sql).bindparams(*bind_params), sql_params
256
+ return text(sql).bindparams(*bind_params), statement_params
252
257
 
253
258
 
254
259
  # --------------------------------------------------------------------------------------------------
ezKit/errors.py ADDED
@@ -0,0 +1,39 @@
1
+ # 内部错误: 1000
2
+ internal_error = {
3
+ "type": {
4
+ "code": 1001,
5
+ "message": "type error",
6
+ },
7
+ }
8
+
9
+ # HTTP错误: 2000
10
+ http_error = {
11
+ "request_data": {
12
+ "code": 2001,
13
+ "message": "HTTP request data error",
14
+ },
15
+ }
16
+
17
+ # 数据库错误: 3000
18
+ database_error = {
19
+ "create": {
20
+ "code": 3001,
21
+ "message": "Database create data error",
22
+ },
23
+ "read": {
24
+ "code": 3002,
25
+ "message": "Database read data error",
26
+ },
27
+ "update": {
28
+ "code": 3003,
29
+ "message": "Database create data error",
30
+ },
31
+ "delete": {
32
+ "code": 3004,
33
+ "message": "Database delete data error",
34
+ },
35
+ "build_sqlalchemy_where": {
36
+ "code": 3005,
37
+ "message": "Database build SQLAlchemy WHERE error",
38
+ },
39
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ezKit
3
- Version: 1.12.24
3
+ Version: 1.12.26
4
4
  Summary: Easy Kit
5
5
  Author: septvean
6
6
  Author-email: septvean@gmail.com
@@ -3,8 +3,9 @@ ezKit/_file.py,sha256=0qRZhwYuagTgTGrhm-tzAMvEQT4HTJA_xZKqF2bo0ho,1207
3
3
  ezKit/bottle.py,sha256=43h4v1kzz6qrLvCt5IMN0H-gFtaT0koG9wETqteXsps,181666
4
4
  ezKit/bottle_extensions.py,sha256=27rogmfK7mL2qUSjXH79IMGZbCVULtYEikql_N9O6Zs,1165
5
5
  ezKit/cipher.py,sha256=7jBarRH7ukSYzkz-Anl8B8JzluhnRz4CLHidPRRj_cg,2939
6
- ezKit/database.py,sha256=5-hKwdRmjkvjaMR-c0Y71YL4RP8RZQMwcvTSRkDR12M,23625
6
+ ezKit/database.py,sha256=yxi8HZw9ijbfKYhCl8OApoLDwLW7tYjPPucsTw6D_Is,23761
7
7
  ezKit/dockerhub.py,sha256=j-wQO-71BsOgExHZhYynuy2k_hCX3on-vg0TH7QCit4,1996
8
+ ezKit/errors.py,sha256=cZ6mxKvFIPhyStgpI-xJ0d9RKaHgYDfEVAd0DTTmOo4,791
8
9
  ezKit/http.py,sha256=zhNxJF-x91UqGncXWxVXnhZVpFo_wmmpGnMXVT11y9E,1832
9
10
  ezKit/markdown_to_html.template,sha256=21G2sSVGJn6aJvHd0NN4zY5YiDteKe4UtW36AzBwSdk,22274
10
11
  ezKit/mongo.py,sha256=vsRCjJ2uWbNp-1bnGKICPohNYx25El8XnHp10o-lsM4,2397
@@ -15,8 +16,8 @@ ezKit/token.py,sha256=Ac-i9xfq4TqpGyfCzakjrh4NYzxHiN2sCQrMk1tzVi8,1716
15
16
  ezKit/utils.py,sha256=U457ahFkxIXuB-qWvS3995xJs-LlkFIX5_ZWVgmL5cY,43130
16
17
  ezKit/xftp.py,sha256=-XQXyhMqeigT63P6sXkSS7r4GROXyqqlkzKxITLWG-g,8278
17
18
  ezKit/zabbix.py,sha256=PkMnfu7mcuotwwIIsHaC9FsNg-gap6hD1xvm0AwSL1Y,33777
18
- ezkit-1.12.24.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
19
- ezkit-1.12.24.dist-info/METADATA,sha256=hMehrY5rKRa8oHbzOJarQMHyPfyHVeJ3JlFFhNdYNbo,317
20
- ezkit-1.12.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
- ezkit-1.12.24.dist-info/top_level.txt,sha256=aYLB_1WODsqNTsTFWcKP-BN0KCTKcV-HZJ4zlHkCFw8,6
22
- ezkit-1.12.24.dist-info/RECORD,,
19
+ ezkit-1.12.26.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
20
+ ezkit-1.12.26.dist-info/METADATA,sha256=vw83wZI4gd6TraXXqL1fUswqghGHX0h_Ehs0SYmNYnQ,317
21
+ ezkit-1.12.26.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ ezkit-1.12.26.dist-info/top_level.txt,sha256=aYLB_1WODsqNTsTFWcKP-BN0KCTKcV-HZJ4zlHkCFw8,6
23
+ ezkit-1.12.26.dist-info/RECORD,,