utils-flask-sqlalchemy 0.4.2__tar.gz → 0.4.4__tar.gz

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.
Files changed (42) hide show
  1. {utils_flask_sqlalchemy-0.4.2/src/utils_flask_sqlalchemy.egg-info → utils_flask_sqlalchemy-0.4.4}/PKG-INFO +1 -1
  2. utils_flask_sqlalchemy-0.4.4/VERSION +1 -0
  3. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/setup.py +0 -1
  4. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/db.py +0 -1
  5. utils_flask_sqlalchemy-0.4.4/src/utils_flask_sqla/env.py +9 -0
  6. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/generic.py +14 -5
  7. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/migrations/utils.py +0 -1
  8. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/migrations/versions/3842a6d800a0_sql_utils.py +4 -9
  9. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/migrations/versions/ba207b468e31_create_fr_numeric_collation.py +4 -9
  10. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/fixtures.py +0 -1
  11. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/test_ordered.py +0 -1
  12. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/test_qfilter.py +0 -1
  13. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/test_schema.py +0 -1
  14. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/test_serializers.py +0 -1
  15. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/test_temporary_transaction.py +0 -1
  16. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4/src/utils_flask_sqlalchemy.egg-info}/PKG-INFO +1 -1
  17. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqlalchemy.egg-info/SOURCES.txt +1 -0
  18. utils_flask_sqlalchemy-0.4.2/VERSION +0 -1
  19. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/LICENSE +0 -0
  20. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/MANIFEST.in +0 -0
  21. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/README.md +0 -0
  22. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/pyproject.toml +0 -0
  23. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/requirements.in +0 -0
  24. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/setup.cfg +0 -0
  25. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/__init__.py +0 -0
  26. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/commands.py +0 -0
  27. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/errors.py +0 -0
  28. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/migrations/__init__.py +0 -0
  29. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/migrations/versions/__init__.py +0 -0
  30. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/models.py +0 -0
  31. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/response.py +0 -0
  32. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/schema.py +0 -0
  33. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/serializers.py +0 -0
  34. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/__init__.py +0 -0
  35. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/plugin.py +0 -0
  36. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/tests/utils.py +0 -0
  37. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqla/utils.py +0 -0
  38. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqlalchemy.egg-info/dependency_links.txt +0 -0
  39. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqlalchemy.egg-info/entry_points.txt +0 -0
  40. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqlalchemy.egg-info/requires.txt +0 -0
  41. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/src/utils_flask_sqlalchemy.egg-info/top_level.txt +0 -0
  42. {utils_flask_sqlalchemy-0.4.2 → utils_flask_sqlalchemy-0.4.4}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: utils-flask-sqlalchemy
3
- Version: 0.4.2
3
+ Version: 0.4.4
4
4
  Summary: Python lib of tools for Flask and SQLAlchemy
5
5
  Home-page: https://github.com/PnX-SI/Utils-Flask-SQLAlchemy
6
6
  Maintainer: Parcs nationaux des Écrins et des Cévennes
@@ -0,0 +1 @@
1
+ 0.4.4
@@ -1,7 +1,6 @@
1
1
  import setuptools
2
2
  from pathlib import Path
3
3
 
4
-
5
4
  root_dir = Path(__file__).absolute().parent
6
5
  with (root_dir / "VERSION").open() as f:
7
6
  version = f.read()
@@ -1,7 +1,6 @@
1
1
  from flask import request
2
2
  from werkzeug.exceptions import BadRequest
3
3
 
4
-
5
4
  __all__ = ["ordered"]
6
5
 
7
6
 
@@ -0,0 +1,9 @@
1
+ from os import environ
2
+ from importlib import import_module
3
+
4
+ db_path = environ.get("FLASK_SQLALCHEMY_DB")
5
+ if not db_path:
6
+ raise Exception("FLASK_SQLALCHEMY_DB env var is missing")
7
+ db_module_name, db_object_name = db_path.rsplit(".", 1)
8
+ db_module = import_module(db_module_name)
9
+ db = getattr(db_module, db_object_name)
@@ -1,15 +1,17 @@
1
1
  from itertools import chain
2
2
  from warnings import warn
3
3
 
4
+ import sqlalchemy as sa
4
5
  from dateutil import parser
5
6
  from flask_sqlalchemy import SQLAlchemy
6
- from sqlalchemy import MetaData
7
7
  from sqlalchemy.dialects.postgresql import UUID
8
8
  from sqlalchemy.types import Boolean, Date, DateTime, Integer, Numeric
9
9
  from werkzeug.exceptions import BadRequest
10
10
 
11
11
  from .errors import UtilsSqlaError
12
12
 
13
+ from utils_flask_sqla.env import db
14
+
13
15
 
14
16
  def testDataType(value, sqlType, paramName):
15
17
  """
@@ -102,11 +104,18 @@ class GenericTable:
102
104
  - engine : sqlalchemy instance engine
103
105
  for exemple : DB.engine if DB = Sqlalchemy()
104
106
  """
105
- meta = MetaData(schema=schemaName)
106
- meta.reflect(views=True, bind=engine)
107
107
 
108
108
  try:
109
- self.tableDef = meta.tables["{}.{}".format(schemaName, tableName)]
109
+
110
+ conn = db.engine.connect()
111
+
112
+ metadata = sa.MetaData(bind=conn)
113
+ self.tableDef = sa.Table(
114
+ tableName,
115
+ metadata,
116
+ schema=schemaName,
117
+ autoload_with=conn,
118
+ )
110
119
  except KeyError:
111
120
  raise KeyError("table {}.{} doesn't exists".format(schemaName, tableName))
112
121
 
@@ -272,7 +281,7 @@ class GenericQuery:
272
281
  nb_result_without_filter = q.count()
273
282
 
274
283
  q = self.raw_query(process_filter=True)
275
- total_filtered = q.count() if self.filters else nb_result_without_filter
284
+ total_filtered = q.limit(None).count() if self.filters else nb_result_without_filter
276
285
 
277
286
  data = q.all()
278
287
 
@@ -9,7 +9,6 @@ import os, os.path
9
9
 
10
10
  from ..utils import remote_file
11
11
 
12
-
13
12
  logger = logging.getLogger("alembic.runtime.migration")
14
13
 
15
14
  """
@@ -11,7 +11,6 @@ import importlib.resources
11
11
  from alembic import op
12
12
  import sqlalchemy as sa
13
13
 
14
-
15
14
  # revision identifiers, used by Alembic.
16
15
  revision = "3842a6d800a0"
17
16
  down_revision = None
@@ -20,8 +19,7 @@ depends_on = None
20
19
 
21
20
 
22
21
  def upgrade():
23
- op.execute(
24
- """
22
+ op.execute("""
25
23
  CREATE OR REPLACE FUNCTION public.fct_trg_meta_dates_change()
26
24
  RETURNS trigger AS
27
25
  $BODY$
@@ -39,13 +37,10 @@ CREATE OR REPLACE FUNCTION public.fct_trg_meta_dates_change()
39
37
  $BODY$
40
38
  LANGUAGE plpgsql VOLATILE
41
39
  COST 100;
42
- """
43
- )
40
+ """)
44
41
 
45
42
 
46
43
  def downgrade():
47
- op.execute(
48
- """
44
+ op.execute("""
49
45
  DROP FUNCTION public.fct_trg_meta_dates_change();
50
- """
51
- )
46
+ """)
@@ -9,7 +9,6 @@ Create Date: 2022-05-02 14:00:09.987246
9
9
  from alembic import op
10
10
  import sqlalchemy as sa
11
11
 
12
-
13
12
  # revision identifiers, used by Alembic.
14
13
  revision = "ba207b468e31"
15
14
  down_revision = "3842a6d800a0"
@@ -18,16 +17,12 @@ depends_on = None
18
17
 
19
18
 
20
19
  def upgrade():
21
- op.execute(
22
- """
20
+ op.execute("""
23
21
  CREATE COLLATION fr_numeric (provider = icu, locale = 'fr_FR.UTF-8@colNumeric=yes')
24
- """
25
- )
22
+ """)
26
23
 
27
24
 
28
25
  def downgrade():
29
- op.execute(
30
- """
26
+ op.execute("""
31
27
  DROP COLLATION fr_numeric
32
- """
33
- )
28
+ """)
@@ -1,7 +1,6 @@
1
1
  import pytest
2
2
  from sqlalchemy.event import listen, remove
3
3
 
4
-
5
4
  """
6
5
  We open a nested transaction at each scope, and this nested transaction is rollback at teardown,
7
6
  removing all db changes introduced by fixtures at this level.
@@ -24,7 +24,6 @@ from werkzeug.exceptions import BadRequest
24
24
 
25
25
  from utils_flask_sqla.db import ordered
26
26
 
27
-
28
27
  db = SQLAlchemy()
29
28
 
30
29
 
@@ -6,7 +6,6 @@ from flask_sqlalchemy import SQLAlchemy
6
6
 
7
7
  from utils_flask_sqla.models import qfilter
8
8
 
9
-
10
9
  db = SQLAlchemy()
11
10
 
12
11
 
@@ -10,7 +10,6 @@ from flask_sqlalchemy import SQLAlchemy
10
10
 
11
11
  from utils_flask_sqla.schema import SmartRelationshipsMixin
12
12
 
13
-
14
13
  db = SQLAlchemy()
15
14
 
16
15
 
@@ -14,7 +14,6 @@ from geoalchemy2 import Geometry
14
14
 
15
15
  from utils_flask_sqla.serializers import serializable
16
16
 
17
-
18
17
  db = SQLAlchemy()
19
18
 
20
19
 
@@ -4,7 +4,6 @@ import pytest
4
4
  from flask import Flask
5
5
  from flask_sqlalchemy import SQLAlchemy
6
6
 
7
-
8
7
  db = SQLAlchemy()
9
8
 
10
9
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: utils-flask-sqlalchemy
3
- Version: 0.4.2
3
+ Version: 0.4.4
4
4
  Summary: Python lib of tools for Flask and SQLAlchemy
5
5
  Home-page: https://github.com/PnX-SI/Utils-Flask-SQLAlchemy
6
6
  Maintainer: Parcs nationaux des Écrins et des Cévennes
@@ -9,6 +9,7 @@ tox.ini
9
9
  src/utils_flask_sqla/__init__.py
10
10
  src/utils_flask_sqla/commands.py
11
11
  src/utils_flask_sqla/db.py
12
+ src/utils_flask_sqla/env.py
12
13
  src/utils_flask_sqla/errors.py
13
14
  src/utils_flask_sqla/generic.py
14
15
  src/utils_flask_sqla/models.py
@@ -1 +0,0 @@
1
- 0.4.2