rekordbox-edit 0.4.0.dev37__tar.gz → 0.4.0.dev39__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 (47) hide show
  1. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/CHANGELOG.md +3 -1
  2. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/PKG-INFO +1 -1
  3. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/pyproject.toml +1 -1
  4. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/_click.py +40 -0
  5. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/commands/convert.py +2 -16
  6. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/commands/edit.py +8 -18
  7. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/uv.lock +1 -1
  8. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.agent-style/RULES.md +0 -0
  9. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.agent-style/claude-code.md +0 -0
  10. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/actions/commitizen-bump/action.yml +0 -0
  11. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/actions/commitizen-bump/commitizen-bump.sh +0 -0
  12. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/actions/install/action.yml +0 -0
  13. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/actions/lint/action.yml +0 -0
  14. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/actions/test/action.yml +0 -0
  15. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/workflows/cd.yml +0 -0
  16. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/workflows/ci.yml +0 -0
  17. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/workflows/publish.yml +0 -0
  18. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.github/workflows/release.yml +0 -0
  19. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.gitignore +0 -0
  20. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/.pre-commit-config.yaml +0 -0
  21. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/AGENTS.md +0 -0
  22. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/CLAUDE.md +0 -0
  23. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/CONTRIBUTING.md +0 -0
  24. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/LICENSE +0 -0
  25. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/Makefile +0 -0
  26. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/README.md +0 -0
  27. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/codecov.yml +0 -0
  28. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/__init__.py +0 -0
  29. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/cli.py +0 -0
  30. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/commands/__init__.py +0 -0
  31. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/commands/search.py +0 -0
  32. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/display.py +0 -0
  33. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/logger.py +0 -0
  34. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/query.py +0 -0
  35. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/rekordbox_edit/utils.py +0 -0
  36. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/renovate.json5 +0 -0
  37. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/ruff.toml +0 -0
  38. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/__init__.py +0 -0
  39. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/commands/__init__.py +0 -0
  40. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/commands/test_convert.py +0 -0
  41. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/commands/test_edit.py +0 -0
  42. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/commands/test_search.py +0 -0
  43. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/conftest.py +0 -0
  44. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/test_display.py +0 -0
  45. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/test_logger.py +0 -0
  46. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/test_query.py +0 -0
  47. {rekordbox_edit-0.4.0.dev37 → rekordbox_edit-0.4.0.dev39}/tests/test_utils.py +0 -0
@@ -1,6 +1,8 @@
1
- ## v0.4.0.dev37 (2026-06-05)
1
+ ## v0.4.0.dev39 (2026-06-05)
2
2
 
3
3
 
4
+ - refactor(cli): extract convert-specific options into convert_click_options
5
+ - refactor(cli): extract edit-specific options into edit_click_options
4
6
  - refactor(cli): extract shared confirmation flags into global_click_confirmations
5
7
  - chore(deps): update linters to v0.0.42 (#58)
6
8
  - 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.4.0.dev37
3
+ Version: 0.4.0.dev39
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.dev37"
7
+ version = "0.4.0.dev39"
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"
@@ -121,6 +121,46 @@ global_click_confirmations = [
121
121
  ),
122
122
  ]
123
123
 
124
+ edit_click_options = [
125
+ click.option(
126
+ "--replace",
127
+ "replace_value",
128
+ required=True,
129
+ help="The new value to write to the field",
130
+ ),
131
+ click.option(
132
+ "--match",
133
+ "match_pattern",
134
+ default=None,
135
+ metavar="PATTERN",
136
+ help="Find this literal string within the field value and replace only that portion",
137
+ ),
138
+ click.option(
139
+ "--multi",
140
+ is_flag=True,
141
+ help="Allow editing more than one track (required when filters match multiple tracks)",
142
+ ),
143
+ ]
144
+
145
+ convert_click_options = [
146
+ click.option(
147
+ "--delete/--keep",
148
+ default=None,
149
+ help="Delete or keep original files after conversion (default: delete for lossless, keep for MP3)",
150
+ ),
151
+ click.option(
152
+ "--overwrite",
153
+ is_flag=True,
154
+ help="Overwrite existing output files instead of skipping them",
155
+ ),
156
+ click.option(
157
+ "--format-out",
158
+ type=click.Choice(["aiff", "flac", "wav", "alac", "mp3"], case_sensitive=False),
159
+ default="aiff",
160
+ help="Output format (default: aiff)",
161
+ ),
162
+ ]
163
+
124
164
 
125
165
  def add_click_options(options):
126
166
  def _add_options(func):
@@ -16,6 +16,7 @@ from pyrekordbox.utils import get_rekordbox_pid
16
16
  from rekordbox_edit._click import (
17
17
  PrintChoice,
18
18
  add_click_options,
19
+ convert_click_options,
19
20
  global_click_confirmations,
20
21
  global_click_filters,
21
22
  print_option,
@@ -245,26 +246,11 @@ def get_output_path(content, output_format) -> Tuple[str, str, str]:
245
246
  @click.command(
246
247
  epilog=f"Debug logs for each run can be found at:\n{get_debug_file_path().parent}"
247
248
  )
248
- @click.option(
249
- "--delete/--keep",
250
- default=None,
251
- help="Delete or keep original files after conversion (default: delete for lossless, keep for MP3)",
252
- )
253
- @click.option(
254
- "--overwrite",
255
- is_flag=True,
256
- help="Overwrite existing output files instead of skipping them",
257
- )
258
- @click.option(
259
- "--format-out",
260
- type=click.Choice(["aiff", "flac", "wav", "alac", "mp3"], case_sensitive=False),
261
- default="aiff",
262
- help="Output format (default: aiff)",
263
- )
264
249
  @add_click_options(
265
250
  [
266
251
  *global_click_filters,
267
252
  *global_click_confirmations,
253
+ *convert_click_options,
268
254
  print_option,
269
255
  track_ids_argument,
270
256
  ]
@@ -10,6 +10,7 @@ from pyrekordbox import Rekordbox6Database
10
10
  from rekordbox_edit._click import (
11
11
  PrintChoice,
12
12
  add_click_options,
13
+ edit_click_options,
13
14
  global_click_confirmations,
14
15
  global_click_filters,
15
16
  print_option,
@@ -44,24 +45,13 @@ def _compute_new_value(
44
45
  @click.command(
45
46
  epilog=f"Debug logs for each run can be found at:\n{get_debug_file_path().parent}"
46
47
  )
47
- @add_click_options([*global_click_filters, *global_click_confirmations, print_option])
48
- @click.option(
49
- "--replace",
50
- "replace_value",
51
- required=True,
52
- help="The new value to write to the field",
53
- )
54
- @click.option(
55
- "--match",
56
- "match_pattern",
57
- default=None,
58
- metavar="PATTERN",
59
- help="Find this literal string within the field value and replace only that portion",
60
- )
61
- @click.option(
62
- "--multi",
63
- is_flag=True,
64
- help="Allow editing more than one track (required when filters match multiple tracks)",
48
+ @add_click_options(
49
+ [
50
+ *global_click_filters,
51
+ *global_click_confirmations,
52
+ *edit_click_options,
53
+ print_option,
54
+ ]
65
55
  )
66
56
  @track_ids_argument
67
57
  @click.argument(
@@ -1010,7 +1010,7 @@ wheels = [
1010
1010
 
1011
1011
  [[package]]
1012
1012
  name = "rekordbox-edit"
1013
- version = "0.4.0.dev37"
1013
+ version = "0.4.0.dev39"
1014
1014
  source = { editable = "." }
1015
1015
  dependencies = [
1016
1016
  { name = "click" },