rekordbox-edit 0.4.0.dev34__tar.gz → 0.4.0.dev36__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.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/CHANGELOG.md +4 -1
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/PKG-INFO +1 -1
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/pyproject.toml +1 -1
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/display.py +7 -1
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/test_display.py +16 -3
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/uv.lock +20 -20
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.agent-style/RULES.md +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.agent-style/claude-code.md +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/actions/commitizen-bump/action.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/actions/commitizen-bump/commitizen-bump.sh +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/actions/install/action.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/actions/lint/action.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/actions/test/action.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/workflows/cd.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/workflows/ci.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/workflows/publish.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/workflows/release.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.gitignore +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.pre-commit-config.yaml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/AGENTS.md +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/CLAUDE.md +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/CONTRIBUTING.md +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/LICENSE +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/Makefile +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/README.md +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/codecov.yml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/__init__.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/_click.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/cli.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/commands/__init__.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/commands/convert.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/commands/edit.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/commands/search.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/logger.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/query.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/utils.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/renovate.json5 +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/ruff.toml +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/__init__.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/commands/__init__.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/commands/test_convert.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/commands/test_edit.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/commands/test_search.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/conftest.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/test_logger.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/test_query.py +0 -0
- {rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
## v0.4.0.
|
|
1
|
+
## v0.4.0.dev36 (2026-06-05)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
- chore(deps): update linters to v0.0.42 (#58)
|
|
5
|
+
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
6
|
+
- fix(display): Don't crash on unknown file type during print_track_info
|
|
4
7
|
- chore(deps): update commit tooling to v4.16.3 (#54)
|
|
5
8
|
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
6
9
|
- chore(deps): update pre-commit hooks to v4.16.3 (#55)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rekordbox-edit
|
|
3
|
-
Version: 0.4.0.
|
|
3
|
+
Version: 0.4.0.dev36
|
|
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.4.0.
|
|
7
|
+
version = "0.4.0.dev36"
|
|
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"
|
|
@@ -61,7 +61,13 @@ def _cell_value(content: DjmdContent, column: PrintableField) -> str:
|
|
|
61
61
|
if column is PrintableField.ID:
|
|
62
62
|
return str(content.ID)
|
|
63
63
|
if column is PrintableField.FileType:
|
|
64
|
-
|
|
64
|
+
try:
|
|
65
|
+
return get_file_type_name(content.FileType)
|
|
66
|
+
except ValueError:
|
|
67
|
+
logger.warning(
|
|
68
|
+
f"Unexpected FileType [{content.FileType}] for track ID [{content.ID}]"
|
|
69
|
+
)
|
|
70
|
+
return "UNKNOWN"
|
|
65
71
|
if column is PrintableField.FolderPath:
|
|
66
72
|
return os.path.dirname(content.FolderPath or "")
|
|
67
73
|
value = getattr(content, column.value)
|
|
@@ -106,9 +106,7 @@ class TestPrintTrackInfo:
|
|
|
106
106
|
mock_content = make_djmd_content_item()
|
|
107
107
|
|
|
108
108
|
with pytest.raises(ValueError, match="must be provided together"):
|
|
109
|
-
print_track_info(
|
|
110
|
-
[mock_content], changed_field=PrintableField.Title
|
|
111
|
-
)
|
|
109
|
+
print_track_info([mock_content], changed_field=PrintableField.Title)
|
|
112
110
|
|
|
113
111
|
with pytest.raises(ValueError, match="must be provided together"):
|
|
114
112
|
print_track_info([mock_content], new_values=["x"])
|
|
@@ -147,3 +145,18 @@ class TestPrintTrackInfo:
|
|
|
147
145
|
assert "track2.mp3" in captured.out
|
|
148
146
|
assert "FLAC" in captured.out
|
|
149
147
|
assert "MP3" in captured.out
|
|
148
|
+
|
|
149
|
+
def test_track_with_unknown_file_type(
|
|
150
|
+
self, capsys, wide_console, make_djmd_content_item
|
|
151
|
+
):
|
|
152
|
+
"""Test printing track with unknown file type."""
|
|
153
|
+
# Setup mock content with zero values
|
|
154
|
+
mock_content = make_djmd_content_item(
|
|
155
|
+
ID=123,
|
|
156
|
+
FileType=6,
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
print_track_info([mock_content], self.TEST_PRINT_COLUMNS)
|
|
160
|
+
|
|
161
|
+
captured = capsys.readouterr()
|
|
162
|
+
assert "UNKNOWN" in captured.out
|
|
@@ -1010,7 +1010,7 @@ wheels = [
|
|
|
1010
1010
|
|
|
1011
1011
|
[[package]]
|
|
1012
1012
|
name = "rekordbox-edit"
|
|
1013
|
-
version = "0.4.0.
|
|
1013
|
+
version = "0.4.0.dev36"
|
|
1014
1014
|
source = { editable = "." }
|
|
1015
1015
|
dependencies = [
|
|
1016
1016
|
{ name = "click" },
|
|
@@ -1340,27 +1340,27 @@ wheels = [
|
|
|
1340
1340
|
|
|
1341
1341
|
[[package]]
|
|
1342
1342
|
name = "ty"
|
|
1343
|
-
version = "0.0.
|
|
1343
|
+
version = "0.0.42"
|
|
1344
1344
|
source = { registry = "https://pypi.org/simple" }
|
|
1345
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1345
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d8/91/5b5ec4ed8721c18be8d9611778d7c07723cd755676f03b41bf0ea0caa5d3/ty-0.0.42.tar.gz", hash = "sha256:70f5553ac678fc63558d4d77b08a18a68a228f44be2a2fe1afc3f5988db662e7", size = 5769116, upload-time = "2026-06-01T19:40:32.869Z" }
|
|
1346
1346
|
wheels = [
|
|
1347
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1348
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1349
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1350
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1351
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1352
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1353
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1354
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1355
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1356
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1357
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1358
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1359
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1360
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1361
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1362
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1363
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1347
|
+
{ url = "https://files.pythonhosted.org/packages/d4/7c/2df5136ad7c0db69a3973b0b19da8f52bfacdc453c7dffc832d1bf7d23ff/ty-0.0.42-py3-none-linux_armv6l.whl", hash = "sha256:c08a0066610c13627b7d7ad758adb96ca99685791e641eb26837e20803851c53", size = 11544141, upload-time = "2026-06-01T19:40:41.065Z" },
|
|
1348
|
+
{ url = "https://files.pythonhosted.org/packages/0a/82/96cf406d39d8976e825361a27e332224445812793060ac9506d8a5d32b39/ty-0.0.42-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3e944ee4e3d5cdaf70e4ea87f9dd474cc3db612837b50a3ce57afa8da400ecc2", size = 11283538, upload-time = "2026-06-01T19:40:26.758Z" },
|
|
1349
|
+
{ url = "https://files.pythonhosted.org/packages/dc/fe/813b60b9332df835c16c05859ff5aac1896593d01b638ba0e461ede415ac/ty-0.0.42-py3-none-macosx_11_0_arm64.whl", hash = "sha256:603085306e4aac2ce592b39119a4b49ebf8b780cd394e2cfc7dbf3fd8228f954", size = 10711874, upload-time = "2026-06-01T19:40:28.77Z" },
|
|
1350
|
+
{ url = "https://files.pythonhosted.org/packages/07/64/1f609265be0302ce0f51aa03a27636d018947a76100ff1405258d8445e6c/ty-0.0.42-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a58f17834d7f078c49326a01111a5aac16c979a774b98cdfd8e2350068316676", size = 11213021, upload-time = "2026-06-01T19:40:45.01Z" },
|
|
1351
|
+
{ url = "https://files.pythonhosted.org/packages/88/c0/f147b2fde7cd01b5f77682937e85a5cdfe35f48b3f1d0f41021024cbd927/ty-0.0.42-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e6ed1027f313202c5c74e376007d1eb5d214494299beb0ea047078b8ad307d40", size = 11321604, upload-time = "2026-06-01T19:40:55.164Z" },
|
|
1352
|
+
{ url = "https://files.pythonhosted.org/packages/a9/72/74a5e68a9bd194681f15c4aac7a0dfab378e76e7a107e8ecd93971a22377/ty-0.0.42-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:063838d2360c1d2c065b45ca76a56ecd6df07fff6570813e74183236559e16d9", size = 11802178, upload-time = "2026-06-01T19:40:19.558Z" },
|
|
1353
|
+
{ url = "https://files.pythonhosted.org/packages/3c/9f/06a31dc9cc91faa2cb8a4bf2f0ba5f7a9a96a4828fb8434338682954ca86/ty-0.0.42-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3f9ed508dfae4cbc943d7766324dd9c57ac8302c8543505fc29cae8ed425fe9", size = 12358436, upload-time = "2026-06-01T19:40:48.968Z" },
|
|
1354
|
+
{ url = "https://files.pythonhosted.org/packages/06/33/a5bb1afcb671e0b9197f007264682b22f1063bf0e83c151eeaf9958f9047/ty-0.0.42-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fe1eb7d98472ac56ac19fec51c6ed8fe56d86ea0d232a11a127e8c62c882a66", size = 11997849, upload-time = "2026-06-01T19:40:42.951Z" },
|
|
1355
|
+
{ url = "https://files.pythonhosted.org/packages/ee/8d/560e4ec4c2f69e68fa094bb93cd19b5eb92c9732d2e0f5e7cc3accde84c4/ty-0.0.42-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de75f9e78bfa81209f2f297528758977cfd4518ba35ef45a0acb516c892a27a5", size = 11869087, upload-time = "2026-06-01T19:40:24.38Z" },
|
|
1356
|
+
{ url = "https://files.pythonhosted.org/packages/b2/dd/3794db15199c03eda60961690046a56c4fbf5d8ef073c82fe2402c851b8c/ty-0.0.42-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:c63281f2f1d4df339117fcd4a6dfe17cb999f84eafe707b30e9ebbe26f0bb54a", size = 12059000, upload-time = "2026-06-01T19:40:34.982Z" },
|
|
1357
|
+
{ url = "https://files.pythonhosted.org/packages/98/9a/02b61cc65ecbd90f18bd02178845c5b756c78fb92643571e77df52c6eed8/ty-0.0.42-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:19e3856477f25255f772851fa7f16f5356c4e1927324d074d49c7bc9a9b211e1", size = 11195698, upload-time = "2026-06-01T19:40:37.109Z" },
|
|
1358
|
+
{ url = "https://files.pythonhosted.org/packages/7b/d6/3927335c956b06a806269dcd2e5b46bc4284b0a95ecc6b0246094a1de28c/ty-0.0.42-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2f0f4acac9028264cee5ea0b88229df0b9b2586fc917dbadb6ee35a0e99e8b06", size = 11353487, upload-time = "2026-06-01T19:40:47.035Z" },
|
|
1359
|
+
{ url = "https://files.pythonhosted.org/packages/d6/87/79e7ae4f5f9fb3bea5f3cfac2b4f8c60e905f13962e3c0d97f8b51a5bff6/ty-0.0.42-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ae244c84e30fdf2bb1a3cbf2b973da8aa535e57c701f12db44b2939604586c04", size = 11463474, upload-time = "2026-06-01T19:40:30.812Z" },
|
|
1360
|
+
{ url = "https://files.pythonhosted.org/packages/49/f9/73305ead1b3ccc3d79c04258877db2cd7908c6a6c2060d4e598deca384d2/ty-0.0.42-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:2430434f4a52bec0da552ff6a061dcc1c5d11973259248679a1146d776c12f37", size = 11961710, upload-time = "2026-06-01T19:40:39.056Z" },
|
|
1361
|
+
{ url = "https://files.pythonhosted.org/packages/e1/04/52b7325dad8d1a86653f90240208f3e3657bed5e3c8144eed367a0f736b0/ty-0.0.42-py3-none-win32.whl", hash = "sha256:984a55c2fe63b40dac03f5a144b99033c7ed720eb7611787e3f0bd49af8dcf12", size = 10783897, upload-time = "2026-06-01T19:40:22.189Z" },
|
|
1362
|
+
{ url = "https://files.pythonhosted.org/packages/94/d2/3d2d61255c76c0843766f00b39290115c23cc1cd4fcb0471d84a48f482f1/ty-0.0.42-py3-none-win_amd64.whl", hash = "sha256:f7afd81b10b377d9d4ce6aad355a4f47fd37d47f443118c01ca6e79d46fe6608", size = 11878640, upload-time = "2026-06-01T19:40:50.903Z" },
|
|
1363
|
+
{ url = "https://files.pythonhosted.org/packages/b4/91/1eb0c1e3d558707ead7424f8bfd89b58f42e576714cbed7ad46dcceef34a/ty-0.0.42-py3-none-win_arm64.whl", hash = "sha256:4068c24b0b264fc9f1901e06b97988a041fcaa36c90f18d7747f05124701c7b3", size = 11202335, upload-time = "2026-06-01T19:40:53.155Z" },
|
|
1364
1364
|
]
|
|
1365
1365
|
|
|
1366
1366
|
[[package]]
|
|
File without changes
|
|
File without changes
|
{rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.github/actions/commitizen-bump/action.yml
RENAMED
|
File without changes
|
|
File without changes
|
{rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/.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
|
{rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/commands/__init__.py
RENAMED
|
File without changes
|
{rekordbox_edit-0.4.0.dev34 → rekordbox_edit-0.4.0.dev36}/rekordbox_edit/commands/convert.py
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
|