ezKit 1.12.18__py3-none-any.whl → 1.12.20__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
@@ -639,7 +639,6 @@ class DatabaseAsyncSession:
639
639
 
640
640
  async with self.AsyncSessionLocal() as session:
641
641
  try:
642
- await session.begin()
643
642
  for item in data:
644
643
  if not utils.isTrue(item, dict):
645
644
  await session.rollback()
ezKit/utils.py CHANGED
@@ -1345,3 +1345,26 @@ def markdown_to_html(markdown_file: str, html_file: str, title: str) -> bool:
1345
1345
  logger.error(f"{info} [错误]")
1346
1346
  logger.error(e)
1347
1347
  return False
1348
+
1349
+
1350
+ # --------------------------------------------------------------------------------------------------
1351
+
1352
+
1353
+ def convert_field_to_datetime(data: list[dict], field: str, fmt: str = "%Y-%m-%d %H:%M:%S"):
1354
+ """
1355
+ 将列表中每个 dict 的指定字段转换为 datetime 对象
1356
+
1357
+ 参数:
1358
+ data (list[dict]): 列表数据
1359
+ field (str): 要转换的字段名
1360
+ fmt (str): 字符串的时间格式, 默认 "%Y-%m-%d %H:%M:%S"
1361
+ """
1362
+ _data = deepcopy(data)
1363
+ for item in _data:
1364
+ value = item.get(field)
1365
+ if isinstance(value, str):
1366
+ try:
1367
+ item[field] = datetime.strptime(value, fmt)
1368
+ except ValueError:
1369
+ pass
1370
+ return _data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ezKit
3
- Version: 1.12.18
3
+ Version: 1.12.20
4
4
  Summary: Easy Kit
5
5
  Author: septvean
6
6
  Author-email: septvean@gmail.com
@@ -3,7 +3,7 @@ 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=i0mIStmsI5fQkikR-TFMEOgeUuxMECEsXivxWiIY5uc,22179
6
+ ezKit/database.py,sha256=dpKNq2MRwrPp2VMftyQICxIndI6XEVXbfRHjZYvKSzI,22141
7
7
  ezKit/dockerhub.py,sha256=j-wQO-71BsOgExHZhYynuy2k_hCX3on-vg0TH7QCit4,1996
8
8
  ezKit/http.py,sha256=zhNxJF-x91UqGncXWxVXnhZVpFo_wmmpGnMXVT11y9E,1832
9
9
  ezKit/markdown_to_html.template,sha256=21G2sSVGJn6aJvHd0NN4zY5YiDteKe4UtW36AzBwSdk,22274
@@ -12,11 +12,11 @@ ezKit/qywx.py,sha256=3SMm63xJw7Yrj67rvvHIH0ot5PbRHtohShqXLcH0BF0,10325
12
12
  ezKit/redis.py,sha256=leAre527XDBmA_FsjlqQ2_JT1eqwM9uvpYid1Ir1Va4,1972
13
13
  ezKit/sendemail.py,sha256=xqlFyRp96zggSN3eF3fCBXi0WMwGbOZxwDWkpQMCn9I,7412
14
14
  ezKit/token.py,sha256=Ac-i9xfq4TqpGyfCzakjrh4NYzxHiN2sCQrMk1tzVi8,1716
15
- ezKit/utils.py,sha256=VyAw2yEs15VER9RCpMgskx1l0zrSpRlV34X___eOia0,42416
15
+ ezKit/utils.py,sha256=U457ahFkxIXuB-qWvS3995xJs-LlkFIX5_ZWVgmL5cY,43130
16
16
  ezKit/xftp.py,sha256=-XQXyhMqeigT63P6sXkSS7r4GROXyqqlkzKxITLWG-g,8278
17
17
  ezKit/zabbix.py,sha256=PkMnfu7mcuotwwIIsHaC9FsNg-gap6hD1xvm0AwSL1Y,33777
18
- ezkit-1.12.18.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
19
- ezkit-1.12.18.dist-info/METADATA,sha256=TBG8J4aBFxXXI2zBFxEb6h3XXGSeUbaL7PGt5pQyEYg,317
20
- ezkit-1.12.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
- ezkit-1.12.18.dist-info/top_level.txt,sha256=aYLB_1WODsqNTsTFWcKP-BN0KCTKcV-HZJ4zlHkCFw8,6
22
- ezkit-1.12.18.dist-info/RECORD,,
18
+ ezkit-1.12.20.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
19
+ ezkit-1.12.20.dist-info/METADATA,sha256=s0CDOfty1OVbhWZYbbkMwDjYS40VVt3Yf-d4A0kRYSw,317
20
+ ezkit-1.12.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
+ ezkit-1.12.20.dist-info/top_level.txt,sha256=aYLB_1WODsqNTsTFWcKP-BN0KCTKcV-HZJ4zlHkCFw8,6
22
+ ezkit-1.12.20.dist-info/RECORD,,