beetbox / beetbox/beets

Error trying to merge albums

Open
#2,588 4 comments 0 reactions 1 assignee Claimed by @pedros View on GitHub
bug
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

### Problem

Trying to merge duplicate albums with `beet dup -aM` fails. It seems to be an issue with the tiebreaker. If it matters, the duplicate albums don't use ASCII encoding (written in non-Latin language).

Output:

```
user configuration: /home/amatsu/.config/beets/config.yaml
data directory: /home/amatsu/.config/beets
plugin paths:
Sending event: pluginload
library database: /media/beets-formatted/library.db
library directory: /media/beets-formatted
Sending event: library_opened
Traceback (most recent call last):
File "/usr/bin/beet", line 11, in
load_entry_point('beets==1.4.3', 'console_scripts', 'beet')()
File "/usr/lib/python3.6/site-packages/beets/ui/__init__.py", line 1209, in main
_raw_main(args)
File "/usr/lib/python3.6/site-packages/beets/ui/__init__.py", line 1196, in _raw_main
subcommand.func(lib, suboptions, subargs)
File "/usr/lib/python3.6/site-packages/beetsplug/duplicates.py", line 158, in _dup
merge=merge):
File "/usr/lib/python3.6/site-packages/beetsplug/duplicates.py", line 334, in _duplicates
objs = self._order(objs, tiebreak)
File "/usr/lib/python3.6/site-packages/beetsplug/duplicates.py", line 273, in _order
return sorted(objs, key=key, reverse=True)
File "/usr/lib/python3.6/site-packages/beetsplug/duplicates.py", line 258, in
key = lambda x: tuple(getattr(x, k) for k in tiebreak[kind])
KeyError: 'albums'
```

### Setup

* OS: GNU/Linux
* Python version: 3.6.1
* beets version: 1.4.3
* Turning off plugins made problem go away (yes/no): Probably, but then I can't merge duplicates.

My configuration (output of `beet config`) is:

```yaml
directory: /media/beets-formatted
library: /media/beets-formatted/library.db
plugins: replaygain info embedart fetchart duplicates badfiles the missing
mpdstats smartplaylist mbsubmit lastgenre

# substitution options
replace:
'[\\/]': _ # bask/forward slash
'^\.': _ # leading period
'[\x00-\x1f]': _ # control characters
'[<>:"\?\*\|]': _ # Windows reserved
'\.$': _ # trailing period
'\s+$': '' # consecutive whitespace
'^\s+': '' # leading whitespace
'[“”]': '"' # typographical quotes
# '[\x91\x92\u7e2\u7e3]': "'"

ui:
color: yes

# import
import:
write: yes
copy: yes
resume: ask
incremental: yes
log: /media/beets-formatted/import.log
languages: jp en
match:
preferred:
countries: ['AU', 'US', 'JP']
media: ['CD', 'Digital Media|File', 'Vinyl']
original_year: yes

# naming
paths:
default: %the{$albumartist}/$album/$track $title
singleton: %the{$albumartist}/Other/$title
comp: Compilation/$album/$track $title
albumtype:soundtrack: Soundtracks/$album/$track $title

# replaygain
replaygain:
auto: no
backend: gstreamer

fetchart:
auto: yes
sources: filesystem coverart amazon wikipedia albumart itunes google
embedart:
ifempty: no
auto: yes
thumbnails:
auto: yes
mpd:
host: localhost
port: 6600

duplicates:
tiebreak:
items: [bitrate]
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.