musicbrainz-scripts
musicbrainz-scripts copied to clipboard
Batch-edit entities
Collection of ideas for my Batch-edit release groups userscript.
Please be aware that I do not recommend you to use the script in its current version because the usage is not self-explanatory and it is possible to cause a lot of damage with it!
Overall goal: Extend the script from release groups to (all) other entities, especially releases
Unstructured notes
- [x] Rate limiter (requests per second and/or pending requests)
- [ ] Safely extract edit source data for all entity types. ~Attention, the embedding has been changed on test.mb.org!~ (using
ws/jsfor simplicity and compatibility with *.mb.org) - [ ] Extract error messages from the asynchronously fetched result pages and display them
- [ ] Abort unnecessary page loads after redirects (for successful edits)
- [ ] Search and replace with RegEx and/or conditions (e.g. language == eng => script = latin)
- [ ] Validate edit data and preview non-trivial changes
- [ ] Select-menu and textbox based UI
- Select for Field & Action (Set to, Condition, Search & Replace), Input for Search/Condition & Replace/Value
- Restrict values for certain fields with select (e.g. RG types, multi-select for secondary types)
- Button to add/remove actions/conditions
- Allow JSON for advanced fields (e.g. artist credits, arrays) until there is a better solution
- [ ] Hidden feature: Code injection, e.g.
(data) => (data.name + data.comment), usingeval()or safer alternatives? - [ ] Automatically generate a description for the edit note ("Set x to y if z", MB Batch-edit 2021.m.d on mb.org/artist/mbid)
- [ ] Propagate recording name to selected tracks (make name of current entity available as variable?)
- Related idea: Use recording titles as track titles (from inside the release editor)