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.

@@ -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, use_os_env=True, echo=False):
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(use_os_env)
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(use_os_env) -> 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 use_os_env: Use OS envs 'DB_USER', 'DB_PASSWORD', 'DB_HOST', instead the `cfg.py` file
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 use_os_env:
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
- from cfg import user, password, host
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):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sqlalchemy-query-helpers
3
- Version: 1.0.102
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,,