sqlalchemy-query-helpers 1.0.102__py3-none-any.whl → 1.0.103__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.
Potentially problematic release.
This version of sqlalchemy-query-helpers might be problematic. Click here for more details.
- sqlalchemy_query_helpers/main.py +15 -7
- {sqlalchemy_query_helpers-1.0.102.dist-info → sqlalchemy_query_helpers-1.0.103.dist-info}/METADATA +1 -1
- sqlalchemy_query_helpers-1.0.103.dist-info/RECORD +7 -0
- sqlalchemy_query_helpers-1.0.102.dist-info/RECORD +0 -7
- {sqlalchemy_query_helpers-1.0.102.dist-info → sqlalchemy_query_helpers-1.0.103.dist-info}/LICENSE +0 -0
- {sqlalchemy_query_helpers-1.0.102.dist-info → sqlalchemy_query_helpers-1.0.103.dist-info}/WHEEL +0 -0
- {sqlalchemy_query_helpers-1.0.102.dist-info → sqlalchemy_query_helpers-1.0.103.dist-info}/top_level.txt +0 -0
sqlalchemy_query_helpers/main.py
CHANGED
|
@@ -16,9 +16,15 @@ class DB:
|
|
|
16
16
|
Session: sessionmaker = None
|
|
17
17
|
session: Session = None
|
|
18
18
|
|
|
19
|
-
def __init__(self, db_name, base: DeclarativeMeta,
|
|
19
|
+
def __init__(self, db_name, base: DeclarativeMeta, db_url: str | None = None, echo=False):
|
|
20
|
+
"""
|
|
21
|
+
:param db_url: URL as "{user}:{password}@{host}" without [schema + netloc],
|
|
22
|
+
that will use as f'mysql+pymysql://{db_url}'.
|
|
23
|
+
It's convenient to store this string as an OS environment variable.
|
|
24
|
+
None - Use OS environment variables: 'DB_USER', 'DB_PASSWORD', 'DB_HOST'.
|
|
25
|
+
"""
|
|
20
26
|
self.base = base
|
|
21
|
-
engine_str = self.make_engine_str(
|
|
27
|
+
engine_str = self.make_engine_str(db_url)
|
|
22
28
|
self.engine = create_engine(f'{engine_str}/{db_name}', echo=echo)
|
|
23
29
|
self.Session = sessionmaker(bind=self.engine)
|
|
24
30
|
# self.session = self.Session()
|
|
@@ -31,12 +37,14 @@ class DB:
|
|
|
31
37
|
self.session.close()
|
|
32
38
|
|
|
33
39
|
@staticmethod
|
|
34
|
-
def make_engine_str(
|
|
40
|
+
def make_engine_str(db_url: str | None) -> str:
|
|
35
41
|
"""
|
|
36
42
|
Create an engine string (schema + netloc), like "mysql+pymysql://USER:PASSWORD@HOST"
|
|
37
|
-
:param
|
|
43
|
+
:param db_url: URL as "{user}:{password}@{host}" that will use as f'mysql+pymysql://{db_url}'.
|
|
44
|
+
It's convenient to store this string as an OS environment variable.
|
|
45
|
+
None - Use OS environment variables: 'DB_USER', 'DB_PASSWORD', 'DB_HOST'.
|
|
38
46
|
"""
|
|
39
|
-
if
|
|
47
|
+
if not db_url:
|
|
40
48
|
import os
|
|
41
49
|
try:
|
|
42
50
|
user = os.environ['DB_USER']
|
|
@@ -44,9 +52,9 @@ class DB:
|
|
|
44
52
|
host = os.environ['DB_HOST']
|
|
45
53
|
except KeyError:
|
|
46
54
|
raise RuntimeError("Set the 'DB_USER', 'DB_PASSWORD', 'DB_HOST' OS env variables")
|
|
55
|
+
engine_str = f'mysql+pymysql://{user}:{password}@{host}'
|
|
47
56
|
else:
|
|
48
|
-
|
|
49
|
-
engine_str = f'mysql+pymysql://{user}:{password}@{host}'
|
|
57
|
+
engine_str = f'mysql+pymysql://{db_url}'
|
|
50
58
|
return engine_str
|
|
51
59
|
|
|
52
60
|
def get_predefined_table(self, table_name: str, base_metadata=None):
|
{sqlalchemy_query_helpers-1.0.102.dist-info → sqlalchemy_query_helpers-1.0.103.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sqlalchemy-query-helpers
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.103
|
|
4
4
|
Summary: Some helpers for SQLAlchemy
|
|
5
5
|
Author-email: vladiscripts <blagopoluchie12@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/vladiscripts/sqlalchemy-query-helpers
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
sqlalchemy_query_helpers/__init__.py,sha256=xxmsXX2HKm1K8Ay9sy_tXGkPDWz3NXJI0s4xiwPckr0,39
|
|
2
|
+
sqlalchemy_query_helpers/main.py,sha256=AkpIVLgyg74Ch22avp-RkRVhzrJnOI3rzDfkl03skNg,13806
|
|
3
|
+
sqlalchemy_query_helpers-1.0.103.dist-info/LICENSE,sha256=XUL1pa84eZAnKR9S2WnYrv2M523Oysejy3KPlVSyCks,1069
|
|
4
|
+
sqlalchemy_query_helpers-1.0.103.dist-info/METADATA,sha256=D-41uVz5Eta_wxbHlKD5KOYMH8KXXb2jS9qCD499OaY,2599
|
|
5
|
+
sqlalchemy_query_helpers-1.0.103.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
6
|
+
sqlalchemy_query_helpers-1.0.103.dist-info/top_level.txt,sha256=3CUM4jiTua2frHF1satgUAYlW0QfDsvdkxO_6Fj_0zY,25
|
|
7
|
+
sqlalchemy_query_helpers-1.0.103.dist-info/RECORD,,
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
sqlalchemy_query_helpers/__init__.py,sha256=xxmsXX2HKm1K8Ay9sy_tXGkPDWz3NXJI0s4xiwPckr0,39
|
|
2
|
-
sqlalchemy_query_helpers/main.py,sha256=P8TLCQVT8L0l9iwmWnSxFZfpX0HaLuXuAi98zJPdCFQ,13282
|
|
3
|
-
sqlalchemy_query_helpers-1.0.102.dist-info/LICENSE,sha256=XUL1pa84eZAnKR9S2WnYrv2M523Oysejy3KPlVSyCks,1069
|
|
4
|
-
sqlalchemy_query_helpers-1.0.102.dist-info/METADATA,sha256=YOWWGLBJlFw3iUu5UCs59aNc7xuPhfTo2ahP1fO5ZfE,2599
|
|
5
|
-
sqlalchemy_query_helpers-1.0.102.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
6
|
-
sqlalchemy_query_helpers-1.0.102.dist-info/top_level.txt,sha256=3CUM4jiTua2frHF1satgUAYlW0QfDsvdkxO_6Fj_0zY,25
|
|
7
|
-
sqlalchemy_query_helpers-1.0.102.dist-info/RECORD,,
|
{sqlalchemy_query_helpers-1.0.102.dist-info → sqlalchemy_query_helpers-1.0.103.dist-info}/LICENSE
RENAMED
|
File without changes
|
{sqlalchemy_query_helpers-1.0.102.dist-info → sqlalchemy_query_helpers-1.0.103.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|