plexus-python-common 1.0.68__tar.gz → 1.0.70__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.
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/PKG-INFO +1 -1
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/ormutils.py +28 -26
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/tagutils.py +184 -118
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus_python_common.egg-info/PKG-INFO +1 -1
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/tagutils_test.py +56 -33
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/.editorconfig +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/.github/workflows/pr.yml +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/.github/workflows/push.yml +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/.gitignore +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/MANIFEST.in +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/README.md +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/VERSION +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/pyproject.toml +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/jsonutils/dummy.0.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/jsonutils/dummy.1.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/jsonutils/dummy.2.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/0-dummy +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/1-dummy +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/2-dummy +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.0.0.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.0.0.vol-0.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.0.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.1.1.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.1.1.vol-1.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.1.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.2.2.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.2.2.vol-2.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.2.jsonl +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.csv.part0 +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.csv.part1 +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.csv.part2 +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/pathutils/dummy.txt +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.baz/file.bar.baz +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.baz/file.foo.bar +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.baz/file.foo.baz +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.foo/dir.foo.bar/dir.foo.bar.baz/file.foo.bar.baz +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.bar.baz +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.foo.bar +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.foo.baz +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.foo/file.bar +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.foo/file.baz +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils/dir.foo/file.foo +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils_archive/archive.compressed.zip +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/resources/unittest/s3utils_archive/archive.uncompressed.zip +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/setup.cfg +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/setup.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/carto/OSMFile.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/carto/OSMNode.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/carto/OSMTags.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/carto/OSMWay.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/carto/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/resources/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/resources/tags/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/resources/tags/unittest-1.0.0.tagset.yaml +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/resources/tags/universal-1.0.0.tagset.yaml +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/apiutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/bagutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/config.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/datautils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/dockerutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/gisutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/jsonutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/pathutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/s3utils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/sqlutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/strutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/testutils.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus_python_common.egg-info/SOURCES.txt +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus_python_common.egg-info/dependency_links.txt +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus_python_common.egg-info/not-zip-safe +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus_python_common.egg-info/requires.txt +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus_python_common.egg-info/top_level.txt +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/carto/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/carto/osm_file_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/carto/osm_tags_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/__init__.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/bagutils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/datautils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/dockerutils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/gisutils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/jsonutils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/ormutils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/pathutils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/s3utils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/strutils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/plexus_tests/common/utils/testutils_test.py +0 -0
- {plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/test/testenv.py +0 -0
{plexus_python_common-1.0.68 → plexus_python_common-1.0.70}/src/plexus/common/utils/ormutils.py
RENAMED
|
@@ -1092,12 +1092,12 @@ def db_read_sequence_models[SequenceModelT: SequenceModelMixin](
|
|
|
1092
1092
|
limit: int | None = None,
|
|
1093
1093
|
order_by: list[str] | None = None,
|
|
1094
1094
|
) -> list[SequenceModelT]:
|
|
1095
|
-
|
|
1095
|
+
query_stmt = db.query(model).order_by(*db_make_order_by_clause(model, order_by))
|
|
1096
1096
|
if skip is not None:
|
|
1097
|
-
|
|
1097
|
+
query_stmt = query_stmt.offset(skip)
|
|
1098
1098
|
if limit is not None:
|
|
1099
|
-
|
|
1100
|
-
return
|
|
1099
|
+
query_stmt = query_stmt.limit(limit)
|
|
1100
|
+
return query_stmt.all()
|
|
1101
1101
|
|
|
1102
1102
|
|
|
1103
1103
|
def db_update_sequence_model[SequenceModelT: SequenceModelMixin](
|
|
@@ -1285,7 +1285,7 @@ def db_read_latest_snapshot_models[SnapshotModelT: SnapshotModelMixin](
|
|
|
1285
1285
|
limit: int | None = None,
|
|
1286
1286
|
order_by: list[str] | None = None,
|
|
1287
1287
|
) -> list[SnapshotModelT]:
|
|
1288
|
-
|
|
1288
|
+
subquery_stmt = (
|
|
1289
1289
|
db
|
|
1290
1290
|
.query(model.record_sqn,
|
|
1291
1291
|
sa.func.max(model.created_at).label("max_created_at"))
|
|
@@ -1293,18 +1293,19 @@ def db_read_latest_snapshot_models[SnapshotModelT: SnapshotModelMixin](
|
|
|
1293
1293
|
.subquery()
|
|
1294
1294
|
)
|
|
1295
1295
|
|
|
1296
|
-
|
|
1296
|
+
query_stmt = (
|
|
1297
1297
|
db
|
|
1298
1298
|
.query(model)
|
|
1299
|
-
.join(
|
|
1300
|
-
sa.and_(model.record_sqn ==
|
|
1299
|
+
.join(subquery_stmt,
|
|
1300
|
+
sa.and_(model.record_sqn == subquery_stmt.c.record_sqn,
|
|
1301
|
+
model.created_at == subquery_stmt.c.max_created_at))
|
|
1301
1302
|
.order_by(*db_make_order_by_clause(model, order_by))
|
|
1302
1303
|
)
|
|
1303
1304
|
if skip is not None:
|
|
1304
|
-
|
|
1305
|
+
query_stmt = query_stmt.offset(skip)
|
|
1305
1306
|
if limit is not None:
|
|
1306
|
-
|
|
1307
|
-
return
|
|
1307
|
+
query_stmt = query_stmt.limit(limit)
|
|
1308
|
+
return query_stmt.all()
|
|
1308
1309
|
|
|
1309
1310
|
|
|
1310
1311
|
def db_read_active_snapshot_models[SnapshotModelT: SnapshotModelMixin](
|
|
@@ -1314,12 +1315,12 @@ def db_read_active_snapshot_models[SnapshotModelT: SnapshotModelMixin](
|
|
|
1314
1315
|
limit: int | None = None,
|
|
1315
1316
|
order_by: list[str] | None = None,
|
|
1316
1317
|
) -> list[SnapshotModelT]:
|
|
1317
|
-
|
|
1318
|
+
query_stmt = db.query(model).where(model.expired_at.is_(None)).order_by(*db_make_order_by_clause(model, order_by))
|
|
1318
1319
|
if skip is not None:
|
|
1319
|
-
|
|
1320
|
+
query_stmt = query_stmt.offset(skip)
|
|
1320
1321
|
if limit is not None:
|
|
1321
|
-
|
|
1322
|
-
return
|
|
1322
|
+
query_stmt = query_stmt.limit(limit)
|
|
1323
|
+
return query_stmt.all()
|
|
1323
1324
|
|
|
1324
1325
|
|
|
1325
1326
|
def db_update_snapshot_model[SnapshotModelT: SnapshotModelMixin](
|
|
@@ -1512,7 +1513,7 @@ def db_read_latest_revision_models[RevisionModelT: RevisionModelMixin](
|
|
|
1512
1513
|
limit: int | None = None,
|
|
1513
1514
|
order_by: list[str] | None = None,
|
|
1514
1515
|
) -> list[RevisionModelT]:
|
|
1515
|
-
|
|
1516
|
+
subquery_stmt = (
|
|
1516
1517
|
db
|
|
1517
1518
|
.query(model.record_sqn,
|
|
1518
1519
|
sa.func.max(model.revision).label("max_revision"))
|
|
@@ -1520,18 +1521,19 @@ def db_read_latest_revision_models[RevisionModelT: RevisionModelMixin](
|
|
|
1520
1521
|
.subquery()
|
|
1521
1522
|
)
|
|
1522
1523
|
|
|
1523
|
-
|
|
1524
|
+
query_stmt = (
|
|
1524
1525
|
db
|
|
1525
1526
|
.query(model)
|
|
1526
|
-
.join(
|
|
1527
|
-
sa.and_(model.record_sqn ==
|
|
1527
|
+
.join(subquery_stmt,
|
|
1528
|
+
sa.and_(model.record_sqn == subquery_stmt.c.record_sqn,
|
|
1529
|
+
model.revision == subquery_stmt.c.max_revision))
|
|
1528
1530
|
.order_by(*db_make_order_by_clause(model, order_by))
|
|
1529
1531
|
)
|
|
1530
1532
|
if skip is not None:
|
|
1531
|
-
|
|
1533
|
+
query_stmt = query_stmt.offset(skip)
|
|
1532
1534
|
if limit is not None:
|
|
1533
|
-
|
|
1534
|
-
return
|
|
1535
|
+
query_stmt = query_stmt.limit(limit)
|
|
1536
|
+
return query_stmt.all()
|
|
1535
1537
|
|
|
1536
1538
|
|
|
1537
1539
|
def db_read_active_revision_models[RevisionModelT: RevisionModelMixin](
|
|
@@ -1541,12 +1543,12 @@ def db_read_active_revision_models[RevisionModelT: RevisionModelMixin](
|
|
|
1541
1543
|
limit: int | None = None,
|
|
1542
1544
|
order_by: list[str] | None = None,
|
|
1543
1545
|
) -> list[RevisionModelT]:
|
|
1544
|
-
|
|
1546
|
+
query_stmt = db.query(model).where(model.expired_at.is_(None)).order_by(*db_make_order_by_clause(model, order_by))
|
|
1545
1547
|
if skip is not None:
|
|
1546
|
-
|
|
1548
|
+
query_stmt = query_stmt.offset(skip)
|
|
1547
1549
|
if limit is not None:
|
|
1548
|
-
|
|
1549
|
-
return
|
|
1550
|
+
query_stmt = query_stmt.limit(limit)
|
|
1551
|
+
return query_stmt.all()
|
|
1550
1552
|
|
|
1551
1553
|
|
|
1552
1554
|
def db_update_revision_model[RevisionModelT: RevisionModelMixin](
|