rekordbox-edit 0.6.0.dev12__tar.gz → 0.6.0.dev13__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.
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/CHANGELOG.md +2 -1
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/PKG-INFO +1 -1
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/pyproject.toml +1 -1
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/query.py +2 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/test_query.py +13 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/uv.lock +1 -1
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.agent-style/RULES.md +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.agent-style/claude-code.md +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/actions/build-release-notes/action.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/actions/commitizen-bump/action.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/actions/commitizen-bump/commitizen-bump.sh +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/actions/install/action.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/actions/lint/action.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/actions/test/action.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/workflows/cd.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/workflows/ci.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/workflows/publish.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/workflows/release.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.gitignore +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.pre-commit-config.yaml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.python-version +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/AGENTS.md +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/CLAUDE.md +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/CONTRIBUTING.md +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/LICENSE +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/Makefile +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/README.md +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/codecov.yml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/__init__.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/_click.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/api/__init__.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/api/_utils.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/api/convert.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/api/edit.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/api/search.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/cli/__init__.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/cli/_utils.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/cli/convert.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/cli/edit.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/cli/main.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/cli/search.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/display.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/logger.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/models.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/rekordbox_edit/utils.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/renovate.json5 +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/ruff.toml +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/__init__.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/api/__init__.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/api/test_convert.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/api/test_edit.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/api/test_search.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/api/test_utils.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/cli/__init__.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/cli/test_convert.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/cli/test_edit.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/cli/test_main.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/cli/test_search.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/cli/test_utils.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/conftest.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/test_display.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/test_logger.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/test_models.py +0 -0
- {rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
## v0.6.0.
|
|
1
|
+
## v0.6.0.dev13 (2026-06-09)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
- fix(query): order results by folder, then ID, for stable output
|
|
4
5
|
- feat: adds global --database-path argument
|
|
5
6
|
- chore(deps): update linters to v0.0.44 (#79)
|
|
6
7
|
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rekordbox-edit
|
|
3
|
-
Version: 0.6.0.
|
|
3
|
+
Version: 0.6.0.dev13
|
|
4
4
|
Summary: Tools for managing and modifying a RekordBox library en-masse
|
|
5
5
|
Project-URL: Homepage, https://github.com/jviall/rekordbox-edit
|
|
6
6
|
Project-URL: Repository, https://github.com/jviall/rekordbox-edit
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "rekordbox-edit"
|
|
7
|
-
version = "0.6.0.
|
|
7
|
+
version = "0.6.0.dev13"
|
|
8
8
|
description = "Tools for managing and modifying a RekordBox library en-masse"
|
|
9
9
|
authors = [{ name = "James Viall", email= "jamesviall@pm.me"}]
|
|
10
10
|
license = "MIT"
|
|
@@ -240,6 +240,8 @@ class CollectionQuery:
|
|
|
240
240
|
combined_condition = or_(*self._conditions)
|
|
241
241
|
stmt = stmt.where(combined_condition)
|
|
242
242
|
|
|
243
|
+
stmt = stmt.order_by(DjmdContent.FolderPath.asc(), DjmdContent.ID.asc())
|
|
244
|
+
|
|
243
245
|
if self._limit_count is not None:
|
|
244
246
|
logger.debug(f"Query limit: {self._limit_count}")
|
|
245
247
|
stmt = stmt.limit(self._limit_count)
|
|
@@ -410,6 +410,19 @@ class TestCollectionQuery:
|
|
|
410
410
|
stmt_str = str(query._get_full_statement()).lower()
|
|
411
411
|
assert "where" not in stmt_str
|
|
412
412
|
|
|
413
|
+
def test_get_full_statement_orders_by_folder_then_id(self):
|
|
414
|
+
"""Every statement orders by FolderPath then ID ascending. FolderPath
|
|
415
|
+
groups tracks by directory for readable search output; ID is the
|
|
416
|
+
tiebreaker that keeps results deterministic (snapshot/pipe contracts
|
|
417
|
+
depend on this)."""
|
|
418
|
+
unfiltered = str(CollectionQuery()._get_full_statement()).lower()
|
|
419
|
+
filtered = str(CollectionQuery().by_title("A")._get_full_statement()).lower()
|
|
420
|
+
for stmt_str in (unfiltered, filtered):
|
|
421
|
+
assert "order by" in stmt_str
|
|
422
|
+
assert '"djmdcontent"."folderpath" asc' in stmt_str
|
|
423
|
+
assert '"djmdcontent"."id" asc' in stmt_str
|
|
424
|
+
assert stmt_str.index('"folderpath"') < stmt_str.rindex('"id" asc')
|
|
425
|
+
|
|
413
426
|
def test_get_full_statement_or_logic(self):
|
|
414
427
|
"""Multiple conditions with default OR logic produces OR in the WHERE clause."""
|
|
415
428
|
query = CollectionQuery().by_title("A").by_title("B")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/actions/commitizen-bump/action.yml
RENAMED
|
File without changes
|
|
File without changes
|
{rekordbox_edit-0.6.0.dev12 → rekordbox_edit-0.6.0.dev13}/.github/actions/install/action.yml
RENAMED
|
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
|