export plugin `--include-keys` option does not work with glob as documented
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 31
Description
Based on [the documentation](https://beets.readthedocs.io/en/stable/plugins/export.html#command-line-options), I expected to be able to pass `-i` or `--include-keys` with a value of `mb*` to get all the fields that start with `mb`, which it isn't doing:
```sh
$ beet -vv export -i 'title,mb*' beatles
user configuration: /config/config.yaml
data directory: /config
plugin paths: /config/.local/lib/python3.9/site-packages/beetsplug
Sending event: pluginload
library database: /config/musiclibrary.blb
library directory: /music
Sending event: library_opened
Parsed query: AndQuery([AnyFieldQuery('beatles', ('artist', 'title', 'comments', 'album', 'albumartist', 'genre'), SubstringQuery)])
Parsed sort: NullSort()
[
{
"mb*": null,
"title": "Sgt. Pepper’s Lonely Hearts Club Band"
},
{
"mb*": null,
"title": "With a Little Help From My Friends"
},
{
"mb*": null,
"title": "Lucy in the Sky With Diamonds"
},
{
"mb*": null,
"title": "Getting Better"
},
{
"mb*": null,
"title": "Fixing a Hole"
},
{
"mb*": null,
"title": "She’s Leaving Home"
},
{
"mb*": null,
"title": "Being for the Benefit of Mr. Kite!"
},
{
"mb*": null,
"title": "Within You Without You"
},
{
"mb*": null,
"title": "When I’m Sixty-Four"
},
{
"mb*": null,
"title": "Lovely Rita"
},
{
"mb*": null,
"title": "Good Morning Good Morning"
},
{
"mb*": null,
"title": "Sgt. Pepper’s Lonely Hearts Club Band (reprise)"
},
{
"mb*": null,
"title": "A Day in the Life"
}
]
Sending event: cli_exit
```
* OS: docker container running on Unraid, linux kernel 6.1.99
* Python version: 3.11.6
* beets version: 1.6.1
* Turning off plugins made problem go away (yes/no): no - all plugins except `export` disabled
```
$ beet --version
beets version 1.6.1
Python version 3.11.6
plugins: export
```
My configuration (output of `beet config`) is:
```yaml
# --------------- Plugins ---------------
plugins: export
pluginpath: [/config/.local/lib/python3.9/site-packages/beetsplug]
directory: /music
# --------------- Main ---------------
library: /config/musiclibrary.blb
art_filename: cover
# --------------- Performance ---------------
threaded: yes
original_date: no
# --------------- Tagging ---------------
per_disc_numbering: no
match:
strong_rec_thresh: 0.11
paths:
default: $albumartist%if{$mb_albumartistid, [mb-$mb_albumartistid]}/$album ($year)%if{$media, [$media]}%if{$mb_albumid, [mb-$mb_albumid]}%aunique{}/$track - $title [$samplerate%if{$media, $media} $format]
singleton: Non-Album/$artist - $title ($year) [$samplerate%if{$media, $media} $format]
comp: Compilations/$album ($year)%if{$media, [$media]}%if{$mb_albumid, [mb-$mb_albumid]}%aunique{}/$track - $title [$samplerate%if{$media, $media} $format]
albumtype_soundtrack: Soundtracks/$album ($year)%if{$media, [$media]}%aunique{}/$track - $title [$samplerate%if{$media, $media} $format]
import:
write: yes
copy: yes
move: no
resume: ask
incremental: no
quiet_fallback: skip
timid: no
log: /config/beet.log
acousticbrainz:
auto: no
lyrics:
auto: no
embedart:
auto: yes
maxwidth: 1000
fetchart:
auto: yes
high_resolution: yes
replaygain:
auto: yes
backend: ffmpeg
scrub:
auto: yes
permissions:
file: 664
dir: 775
replace:
^\.: _
'[\x00-\x1f]': _
'[<>:"\?\*\|]': _
'[\xE8-\xEB]': e
'[\xEC-\xEF]': i
'[\xE2-\xE6]': a
'[\xF2-\xF6]': o
'[\xF8]': o
\.$: _
\s+$: ''
plex:
host: 192.168.1.2
port: 32400
token: x
web:
host: 0.0.0.0
port: 8337
rewrite:
albumartist ^Tycho ?(&|and|ft|feat|\+)\.? ?.*$: Tycho
albumartist ^Burial ?(&|and|ft|feat|\+)\.? ?.*$: Burial
albumartist ^Kieran Hebden.+$: Kieran Hebden
albumartist ^Jamie xx.+$: Jamie xx
albumartist ^Four Tet.+$: Four Tet
albumartist ^Floating Points.+$: Floating Points
albumartist ^[Dd]eadmau[5s].+$: deadmau5
albumartist ^King Gizzard (&|and|And|\+) (the|The) Lizard Wizard.+$: King Gizzard & the Lizard Wizard
export:
default_format: json
json:
formatting:
ensure_ascii: no
indent: 4
separators: &id001 [',', ': ']
sort_keys: yes
jsonlines:
formatting:
ensure_ascii: no
separators: *id001
sort_keys: yes
csv:
formatting:
delimiter: ','
dialect: excel
xml:
formatting: {}
```
Contributor guide
Assessment
This issue has not been assessed yet.