TypeDAL 3.17.2__tar.gz → 3.17.3__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.
Potentially problematic release.
This version of TypeDAL might be problematic. Click here for more details.
- {typedal-3.17.2 → typedal-3.17.3}/CHANGELOG.md +6 -0
- {typedal-3.17.2 → typedal-3.17.3}/PKG-INFO +1 -1
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/__about__.py +1 -1
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/core.py +1 -1
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_query_builder.py +7 -1
- {typedal-3.17.2 → typedal-3.17.3}/.github/workflows/su6.yml +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/.gitignore +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/.readthedocs.yml +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/README.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/coverage.svg +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/1_getting_started.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/2_defining_tables.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/3_building_queries.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/4_relationships.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/5_py4web.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/6_migrations.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/7_mixins.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/css/code_blocks.css +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/index.md +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/docs/requirements.txt +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/example_new.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/example_old.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/mkdocs.yml +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/pyproject.toml +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/__init__.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/caching.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/cli.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/config.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/fields.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/for_py4web.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/for_web2py.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/helpers.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/mixins.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/py.typed +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/serializers/as_json.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/types.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/src/typedal/web2py_py4web_shared.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/__init__.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/configs/simple.toml +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/configs/valid.env +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/configs/valid.toml +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_cli.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_config.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_docs_examples.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_helpers.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_json.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_main.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_mixins.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_mypy.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_orm.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_py4web.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_relationships.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_row.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_stats.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_table.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_web2py.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/test_xx_others.py +0 -0
- {typedal-3.17.2 → typedal-3.17.3}/tests/timings.py +0 -0
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
<!--next-version-placeholder-->
|
|
4
4
|
|
|
5
|
+
## v3.17.3 (2025-09-30)
|
|
6
|
+
|
|
7
|
+
### Fix
|
|
8
|
+
|
|
9
|
+
* Make `first_or_fail` accept any exception (including BaseException) to support e.g. py4web's HTTP ([`7b42724`](https://github.com/trialandsuccess/TypeDAL/commit/7b42724dbebc8151545c5456cd49fe93ae63157f))
|
|
10
|
+
|
|
5
11
|
## v3.17.2 (2025-09-24)
|
|
6
12
|
|
|
7
13
|
### Fix
|
|
@@ -3343,7 +3343,7 @@ class QueryBuilder(typing.Generic[T_MetaInstance]):
|
|
|
3343
3343
|
def _first(self) -> str:
|
|
3344
3344
|
return self._paginate(page=1, limit=1)
|
|
3345
3345
|
|
|
3346
|
-
def first_or_fail(self, exception: typing.Optional[
|
|
3346
|
+
def first_or_fail(self, exception: typing.Optional[BaseException] = None, verbose: bool = False) -> T_MetaInstance:
|
|
3347
3347
|
"""
|
|
3348
3348
|
Call .first() and raise an error if nothing found.
|
|
3349
3349
|
|
|
@@ -521,9 +521,15 @@ def test_collect_with_extra_fields():
|
|
|
521
521
|
|
|
522
522
|
assert builder.execute()
|
|
523
523
|
|
|
524
|
-
|
|
524
|
+
class HTTP(BaseException):
|
|
525
|
+
...
|
|
526
|
+
|
|
527
|
+
row = builder.first_or_fail(HTTP(404))
|
|
525
528
|
|
|
526
529
|
assert row.id
|
|
527
530
|
assert row.name
|
|
528
531
|
assert row._extra
|
|
529
532
|
assert row[TestRelationship.querytable.count()]
|
|
533
|
+
|
|
534
|
+
with pytest.raises(HTTP):
|
|
535
|
+
TestRelationship.where(TestRelationship.id == 3245892384).first_or_fail(HTTP(404))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|