re-common 10.0.32__py3-none-any.whl → 10.0.34__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.
@@ -1,38 +1,41 @@
1
- import atexit
2
1
  import os
2
+ import aiomysql
3
+ import asyncio
3
4
  from contextlib import asynccontextmanager
4
5
  from typing import AsyncGenerator, Tuple
6
+ from collections import namedtuple
5
7
 
6
8
  from aiomysql import Pool, Connection, Cursor
7
9
 
8
10
  DB_CONFIG = {
9
- 'host': '192.168.98.55',
10
- 'port': 4000,
11
- 'user': 'dataware_house_baseUser',
12
- 'password': 'FF19AF831AEBD580B450B16BF9264200',
13
- 'db': 'dataware_house_base',
14
- 'charset': 'utf8mb4',
15
- 'minsize': 16, # 最小连接数
16
- 'maxsize': 128, # 最大连接数
17
- 'autocommit': False, # 自动提交事务
18
- 'pool_recycle': 3600, # 每个连接的回收时间(秒),超过此时间后连接将被关闭并重新创建,避免失效连接
19
- 'echo': False, # 打印SQL语句
11
+ "host": "192.168.98.64",
12
+ "port": 4000,
13
+ "user": "dataware_house_baseUser",
14
+ "password": "FF19AF831AEBD580B450B16BF9264200",
15
+ "db": "dataware_house_base",
16
+ "charset": "utf8mb4",
17
+ "minsize": 16, # 最小连接数
18
+ "maxsize": 128, # 最大连接数
19
+ "autocommit": False, # 自动提交事务
20
+ "pool_recycle": 3600, # 每个连接的回收时间(秒),超过此时间后连接将被关闭并重新创建,避免失效连接
21
+ "echo": False, # 打印SQL语句
20
22
  }
21
23
 
22
24
  DB_CONFIG1 = {
23
- 'host': '192.168.98.55',
24
- 'port': 4000,
25
- 'user': 'foreign_fulltextUser',
26
- 'password': 'i4hIeasw1qpmhGN2nwL7',
27
- 'db': 'foreign_fulltext',
28
- 'charset': 'utf8mb4',
29
- 'minsize': 16, # 最小连接数
30
- 'maxsize': 128, # 最大连接数
31
- 'autocommit': False, # 自动提交事务
32
- 'pool_recycle': 3600, # 每个连接的回收时间(秒),超过此时间后连接将被关闭并重新创建,避免失效连接
33
- 'echo': False, # 打印SQL语句
25
+ "host": "192.168.98.64",
26
+ "port": 4000,
27
+ "user": "foreign_fulltextUser",
28
+ "password": "i4hIeasw1qpmhGN2nwL7",
29
+ "db": "foreign_fulltext",
30
+ "charset": "utf8mb4",
31
+ "minsize": 16, # 最小连接数
32
+ "maxsize": 128, # 最大连接数
33
+ "autocommit": False, # 自动提交事务
34
+ "pool_recycle": 3600, # 每个连接的回收时间(秒),超过此时间后连接将被关闭并重新创建,避免失效连接
35
+ "echo": False, # 打印SQL语句
34
36
  }
35
37
 
38
+
36
39
  async def get_pool_only(_DB_CONFIG: dict = None):
37
40
  global DB_CONFIG
38
41
  if _DB_CONFIG is not None:
@@ -40,6 +43,7 @@ async def get_pool_only(_DB_CONFIG: dict = None):
40
43
  pool: Pool = await aiomysql.create_pool(**DB_CONFIG)
41
44
  return pool
42
45
 
46
+
43
47
  @asynccontextmanager
44
48
  async def get_db_pool(_DB_CONFIG: dict = None):
45
49
  """异步数据库连接池管理工具"""
@@ -62,9 +66,27 @@ async def get_session(pool: Pool) -> AsyncGenerator[Tuple[Connection, Cursor], N
62
66
  yield conn, cursor
63
67
 
64
68
 
69
+ async def dictfetchall(cursor: Cursor):
70
+ """
71
+ Return all rows from a cursor as a dict.
72
+ Assume the column names are unique.
73
+ """
74
+ columns = [col[0] for col in cursor.description]
75
+ return [dict(zip(columns, row)) for row in await cursor.fetchall()]
76
+
77
+
78
+ async def namedtuplefetchall(cursor: Cursor):
79
+ """
80
+ Return all rows from a cursor as a namedtuple.
81
+ Assume the column names are unique.
82
+ """
83
+ desc = cursor.description
84
+ nt_result = namedtuple("Result", [col[0] for col in desc])
85
+ return [nt_result(*row) for row in await cursor.fetchall()]
86
+
87
+
65
88
  # main.py
66
- import aiomysql
67
- import asyncio
89
+
68
90
 
69
91
  aiomysql_pool = None
70
92
  pool_lock = asyncio.Lock() # 全局异步锁
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: re_common
3
- Version: 10.0.32
3
+ Version: 10.0.34
4
4
  Summary: a library about all python projects
5
5
  Home-page: https://gitee.com/xujiangios/re-common
6
6
  Author: vic
@@ -202,7 +202,7 @@ re_common/v2/baselibrary/utils/basedict.py,sha256=sH3_RZ8u4649-jX2V1uKNNkjJVUijZ
202
202
  re_common/v2/baselibrary/utils/basehdfs.py,sha256=TPwFct_-UrmO1KCbo4gpV77rsnlCQDumNBbQKL0ZI9o,5953
203
203
  re_common/v2/baselibrary/utils/basepika.py,sha256=ifOb3UsGj79k40aD9UK6-5BMPw43ZAo0SO3AYD4q4vw,7332
204
204
  re_common/v2/baselibrary/utils/basetime.py,sha256=b7U_ho6nE3fjYBxSkdMHXUOd3ClH6KkW_7p7l2Gs4gA,3038
205
- re_common/v2/baselibrary/utils/db.py,sha256=ceXTLGI0JfZQm06gl-hnQww6Lw4IuwkgeehYFo7bVlA,2509
205
+ re_common/v2/baselibrary/utils/db.py,sha256=JktBem1IAsg7m-Wnsa-AT0Hj4bIkHyoKGBEDI1rL5Fc,3135
206
206
  re_common/v2/baselibrary/utils/json_cls.py,sha256=M93piYtmgm_wP8E57culTrd_AhHLoGg6PqeAJYdW2SM,438
207
207
  re_common/v2/baselibrary/utils/mq.py,sha256=UHpO8iNIHs91Tgp-BgnSUpZwjWquxrGLdpr3FMMv2zw,2858
208
208
  re_common/v2/baselibrary/utils/n_ary_expression_tree.py,sha256=-05kO6G2Rth7CEK-5lfFrthFZ1Q0-0a7cni7mWZ-2gg,9172
@@ -236,8 +236,8 @@ re_common/vip/title/transform/TransformRegulationTitleToZt.py,sha256=LKRdIsWKues
236
236
  re_common/vip/title/transform/TransformStandardTitleToZt.py,sha256=-fCKAbSBzXVyQDCE61CalvR9E_QzQMA08QOO_NePFNI,5563
237
237
  re_common/vip/title/transform/TransformThesisTitleToZt.py,sha256=QS-uV0cQrpUFAcKucuJQ9Ue2VRQH-inmfn_X3IplfRo,5488
238
238
  re_common/vip/title/transform/__init__.py,sha256=m83-CWyRq_VHPYHaALEQlmXrkTdrZ3e4B_kCfBYE-uc,239
239
- re_common-10.0.32.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
240
- re_common-10.0.32.dist-info/METADATA,sha256=dhCvbocMDtJ_7KmIPeQFMypp6LOSS-HQ6YovmjRwvI8,764
241
- re_common-10.0.32.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
242
- re_common-10.0.32.dist-info/top_level.txt,sha256=_H9H23zoLIalm1AIY_KYTVh_H0ZnmjxQIxsvXtLv45o,10
243
- re_common-10.0.32.dist-info/RECORD,,
239
+ re_common-10.0.34.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
240
+ re_common-10.0.34.dist-info/METADATA,sha256=R_h_bdwzyfsnmkXt3-sV9JKg9-hWlpCkWb0iw7pp3-c,764
241
+ re_common-10.0.34.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
242
+ re_common-10.0.34.dist-info/top_level.txt,sha256=_H9H23zoLIalm1AIY_KYTVh_H0ZnmjxQIxsvXtLv45o,10
243
+ re_common-10.0.34.dist-info/RECORD,,