Zero plugin - catalognum not added on import even though it's included in keep_fields
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 31
Description
Running an import with the zero plugin enabled and a whitelist specified in the config file. Even though catalognum is included under keep_fields, it's not being populated.
If the zero plugin is disabled then it does get populated.
Running this command:
```sh
beet import -L -w artist:1st Quote
```
### Setup
beets version 2.3.1
Python version 3.13.5
plugins: alternatives, bandcamp, convert, discogs, duplicates, edit, extrafiles, fetchart, fromfilename, unimported, web, zero
```yaml
plugins: fetchart convert web discogs fromfilename edit bandcamp extrafiles alternatives duplicates unimported zero
directory: ""
library: ""
import:
copy: no
write: no
incremental: yes
log: ""
discogs:
token:
fetchart:
auto: yes
cautious: yes
sources: discogs filesystem cover_art_url
bandcamp:
include_digital_only_tracks: false
search_max: 2
art: yes
comments_separator: "\n---\n"
truncate_comments: no
exclude_extra_fields: []
musicbrainz:
source_weight: 0.5
enabled: no
replaygain:
auto: no
scrub:
auto: no
unimported:
ignore_extensions: jpg png log cue m3u nfo sfv jpeg DS_Store CUE txt
ignore_subdirectories: temp
convert:
copy_album_art: yes
album_art_maxwidth: 600
embed: no
never_convert_lossy_files: yes
format: mp3
formats:
mp3:
command: ffmpeg -i $source -y -c:a libmp3lame -q:a 0 $dest
alternatives:
ipod:
directory:
formats: mp3
query: "ipod:true"
removable: false
paths:
default: $path
zero:
keep_fields: title artist album year track genre images comment albumartist label catalognum cover_art_url ipod alt.ipod comp discogs_albumid discogs_artistid discogs_labelid media
replace:
'^\.': _
'[\x00-\x1f]': _
'[<>:"\?\*\|]': _
'[\xE8-\xEB]': e
'[\xEC-\xEF]': i
'[\xE2-\xE6]': a
'[\xF2-\xF6]': o
'[\xF8]': o
'\.$': _
'\s+$': ''
```
Contributor guide
Research direction
Start by reproducing the issue through the `beet import -L -w artist:1st Quote` entry point with the `zero` plugin enabled and the shown `keep_fields` configuration. Trace how the zero plugin handles `catalognum` during import; done means `catalognum` remains populated with the plugin enabled, matching behavior when it is disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100