python-general-be-lib 0.5.4__tar.gz → 0.5.5__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 (36) hide show
  1. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/PKG-INFO +1 -1
  2. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/metadata/crud_metadata.py +6 -2
  3. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/crud_repository.py +2 -1
  4. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/pyproject.toml +1 -1
  5. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/python_general_be_lib.egg-info/PKG-INFO +1 -1
  6. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/setup.py +1 -1
  7. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/LICENSE +0 -0
  8. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/README.md +0 -0
  9. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/__init__.py +0 -0
  10. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/exception/__init__.py +0 -0
  11. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/exception/access_exceptions.py +0 -0
  12. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/exception/crud_exceptions.py +0 -0
  13. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/exception/exception_interface.py +0 -0
  14. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/base/__init__.py +0 -0
  15. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/base/base_model.py +0 -0
  16. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/base/declarative_base.py +0 -0
  17. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/metadata/__init__.py +0 -0
  18. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/metadata/geom_metadata.py +0 -0
  19. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/__init__.py +0 -0
  20. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/geometry_repository.py +0 -0
  21. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/handler/__init__.py +0 -0
  22. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/handler/base_handler.py +0 -0
  23. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/handler/ilike_handler.py +0 -0
  24. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/handler/interval_handler.py +0 -0
  25. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/handler/json_handler.py +0 -0
  26. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/handler/json_ilike_handler.py +0 -0
  27. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/handler/statement_manager.py +0 -0
  28. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/many_to_many_repository.py +0 -0
  29. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/interface/repository/view_repository.py +0 -0
  30. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/logger.py +0 -0
  31. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/general/paginator_dto.py +0 -0
  32. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/python_general_be_lib.egg-info/SOURCES.txt +0 -0
  33. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/python_general_be_lib.egg-info/dependency_links.txt +0 -0
  34. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/python_general_be_lib.egg-info/requires.txt +0 -0
  35. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/python_general_be_lib.egg-info/top_level.txt +0 -0
  36. {python_general_be_lib-0.5.4 → python_general_be_lib-0.5.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-general-be-lib
3
- Version: 0.5.4
3
+ Version: 0.5.5
4
4
  Summary: General purpose backend library — SQLAlchemy CRUD/Geometry repositories, FastAPI exceptions, Pydantic base models, logger utilities.
5
5
  Author-email: Andrea Di Placido <a.diplacido@arpes.it>, "Arpes S.r.l." <it.admin@arpes.it>
6
6
  License: MIT
@@ -5,8 +5,9 @@ from typing import Optional, Any, Type, Iterable, Sequence
5
5
 
6
6
  from pydantic import BaseModel
7
7
  from sqlalchemy import MetaData, Engine, Column, Table, inspect, Connection, select, RowMapping, CursorResult, not_
8
+ from sqlalchemy.exc import NoSuchTableError
8
9
 
9
- from ...exception.crud_exceptions import HasNoAttributeException
10
+ from ...exception.crud_exceptions import HasNoAttributeException, InternalServerException
10
11
 
11
12
 
12
13
  class CrudMetadata:
@@ -158,7 +159,10 @@ class CrudMetadata:
158
159
  def get_table(self, name: str) -> Optional[Table]:
159
160
  table = self._get_table(name=name)
160
161
  if table is None:
161
- table = Table(name, self.metadata, schema=self.schema, autoload_with=self.engine)
162
+ try:
163
+ table = Table(name, self.metadata, schema=self.schema, autoload_with=self.engine)
164
+ except NoSuchTableError:
165
+ raise InternalServerException(f"No such table {name}")
162
166
  return table
163
167
 
164
168
  def has_table(self, name: str):
@@ -509,7 +509,8 @@ class CrudRepository[Entity: Base | Type[Base]]:
509
509
  """
510
510
  pk = self.entity.primary_key()[0]
511
511
  stmt = select(count(pk))
512
- stmt = stmt.where(where)
512
+ if where is not None:
513
+ stmt = stmt.where(where)
513
514
  result = session.execute(stmt).all()[0]
514
515
  return result[0]
515
516
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.backends.legacy:build"
4
4
 
5
5
  [project]
6
6
  name = "python-general-be-lib"
7
- version = "0.5.4"
7
+ version = "0.5.5"
8
8
  description = "General purpose backend library — SQLAlchemy CRUD/Geometry repositories, FastAPI exceptions, Pydantic base models, logger utilities."
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-general-be-lib
3
- Version: 0.5.4
3
+ Version: 0.5.5
4
4
  Summary: General purpose backend library — SQLAlchemy CRUD/Geometry repositories, FastAPI exceptions, Pydantic base models, logger utilities.
5
5
  Author-email: Andrea Di Placido <a.diplacido@arpes.it>, "Arpes S.r.l." <it.admin@arpes.it>
6
6
  License: MIT
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="python-general-be-lib",
5
- version="0.5.4",
5
+ version="0.5.5",
6
6
  packages=find_packages(include=["general*"]),
7
7
  python_requires=">=3.12",
8
8
  install_requires=[