eDit: Enable album-level field editing during interactive import#6727
eDit: Enable album-level field editing during interactive import#6727arsaboo wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds support for editing album-level fields during interactive album imports by introducing a YAML header section, along with refactoring the edit flow and expanding documentation/tests.
Changes:
- Show
albumfieldsas a YAML header document during interactive album import editing. - Refactor YAML editing into
_edit_yamland extend importer edit logic to handle header + per-track documents. - Add tests and update docs/changelog to describe the new behavior.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
beetsplug/edit.py |
Implements album-header YAML + refactors edit loop into _edit_yaml and new importer edit application logic. |
test/plugins/test_edit.py |
Adds tests for album-header editing during import. |
docs/plugins/edit.rst |
Documents the new album-header behavior during interactive import editing. |
docs/changelog.rst |
Announces the new interactive import album-header feature. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6727 +/- ##
==========================================
- Coverage 74.78% 74.74% -0.05%
==========================================
Files 163 163
Lines 20966 21075 +109
Branches 3302 3326 +24
==========================================
+ Hits 15680 15752 +72
- Misses 4529 4556 +27
- Partials 757 767 +10
🚀 New features to boost your workflow:
|
383b3ea to
e79025a
Compare
| new.write(old_str) | ||
| new.close() | ||
|
|
||
| # Loop until we have parseable data and the user confirms. |
There was a problem hiding this comment.
Before I review, again, please undo the removal of all comments.
There was a problem hiding this comment.
Apologies....restored the explanatory comments and reverted any unrelated changes.
Description
During interactive import, the
editplugin only exposed item-level fields — thealbumfieldsconfiguration was completely ignored inimporter_edit(). Users who wanted to modify album-level fields such asalbumoryearhad to complete the import, then runbeet edit -a QUERYas a separate step.Solution
Updated
importer_edit()to support editing album-level fields during import. Album fields (configured viaalbumfields) are presented as a YAML header section prepended to the per-track documents. Changes to the header are applied to all items in the album, making album-level edits work in both theeDitandedit Candidateschoices.docs/to describe it.)docs/changelog.rstto the bottom of one of the lists near the top of the document.)