ezKit 1.12.2__py3-none-any.whl → 1.12.4__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
@@ -8,15 +8,17 @@
8
8
  # https://www.postgresql.org/docs/14/datatype.html
9
9
  import csv
10
10
  import json
11
- from typing import Any
11
+ from typing import Any, Type
12
12
 
13
13
  import pandas as pd
14
14
  from loguru import logger
15
15
  from sqlalchemy import CursorResult, Index, create_engine, text
16
- from sqlalchemy.orm import DeclarativeBase
16
+ from sqlalchemy.orm import DeclarativeBase, Session, declarative_base
17
17
 
18
18
  from . import utils
19
19
 
20
+ Base = declarative_base()
21
+
20
22
 
21
23
  class Database:
22
24
  """Database"""
@@ -71,6 +73,17 @@ class Database:
71
73
 
72
74
  # ----------------------------------------------------------------------------------------------
73
75
 
76
+ def initialization_table(self, table: str):
77
+ """初始化表"""
78
+
79
+ # 初始化所有表
80
+ # db.metadata_init(Base)
81
+ # 初始化指定表
82
+ # database.metadata_init(Base, tables=[Base.metadata.tables['ashare']])
83
+ self.metadata_init(Base, tables=[Base.metadata.tables[table]])
84
+
85
+ # ----------------------------------------------------------------------------------------------
86
+
74
87
  def create_index(self, index_name, table_field) -> bool:
75
88
  # 创建索引
76
89
  # https://stackoverflow.com/a/41254430
@@ -346,3 +359,36 @@ class Database:
346
359
  logger.error(f"{info} [failed]")
347
360
  logger.exception(e)
348
361
  return data
362
+
363
+ # ----------------------------------------------------------------------------------------------
364
+
365
+ def create_with_dict_or_list(self, TS: Type, data: dict | list):
366
+ """将 dict 或 list 类型的数据添加到表中. TS: Table Schema"""
367
+
368
+ info: str = "create data"
369
+
370
+ try:
371
+
372
+ logger.info(f"{info} ......")
373
+
374
+ with Session(self.engine) as session:
375
+
376
+ if utils.isTrue(data, dict):
377
+ logger.info(f"{info} [data type is dict]")
378
+ session.add(TS(**data)) # type: ignore
379
+
380
+ if utils.isTrue(data, list):
381
+ logger.info(f"{info} [data type is list]")
382
+ for item in data:
383
+ session.add(TS(**item))
384
+
385
+ session.commit()
386
+
387
+ logger.success(f"{info} [success]")
388
+
389
+ return True
390
+
391
+ except Exception as e:
392
+ logger.error(f"{info} [failed]")
393
+ logger.exception(e)
394
+ return False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ezKit
3
- Version: 1.12.2
3
+ Version: 1.12.4
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=InFkXoh9eNLQG-y5EGJ1nhiUjZfAQ4XAblGLQnGZXZE,12165
6
+ ezKit/database.py,sha256=RPLnKhYZk4GKyDIA2Jbj5exAyGCScRiH88l7aW62-R0,13652
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
@@ -15,8 +15,8 @@ ezKit/token.py,sha256=Ac-i9xfq4TqpGyfCzakjrh4NYzxHiN2sCQrMk1tzVi8,1716
15
15
  ezKit/utils.py,sha256=VyAw2yEs15VER9RCpMgskx1l0zrSpRlV34X___eOia0,42416
16
16
  ezKit/xftp.py,sha256=-XQXyhMqeigT63P6sXkSS7r4GROXyqqlkzKxITLWG-g,8278
17
17
  ezKit/zabbix.py,sha256=PkMnfu7mcuotwwIIsHaC9FsNg-gap6hD1xvm0AwSL1Y,33777
18
- ezkit-1.12.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
19
- ezkit-1.12.2.dist-info/METADATA,sha256=yrZHrtCA_1Nhn0-iAshHHl18yDLh0SvBpnkIGqTnnSw,316
20
- ezkit-1.12.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
- ezkit-1.12.2.dist-info/top_level.txt,sha256=aYLB_1WODsqNTsTFWcKP-BN0KCTKcV-HZJ4zlHkCFw8,6
22
- ezkit-1.12.2.dist-info/RECORD,,
18
+ ezkit-1.12.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
19
+ ezkit-1.12.4.dist-info/METADATA,sha256=BzoGPprVuuq1ovCwIKJsXJmR68GDgiWw4rNU8wQhq6k,316
20
+ ezkit-1.12.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
21
+ ezkit-1.12.4.dist-info/top_level.txt,sha256=aYLB_1WODsqNTsTFWcKP-BN0KCTKcV-HZJ4zlHkCFw8,6
22
+ ezkit-1.12.4.dist-info/RECORD,,
File without changes