Skip to content

Deezer candidate import fails with AttributeError: 'AlbumInfo' object has no attribute 'raw_data' in 2.8.0 #6503

@benzo8

Description

@benzo8

Problem

This occurs specifically when selecting a Deezer match during import.

Example Deezer candidate:

https://www.deezer.com/album/942658291

Reproduction steps:

  1. Run beet -vv import <albumdir>
  2. When prompted, select a Deezer candidate
  3. Crash occurs when applying metadata

Additional observations:

  • Non-Deezer matches (e.g. MusicBrainz) do not trigger this issue
  • The problem occurs after candidate selection, during metadata application
  • The same import works on beets 2.7.1, so this appears to be a regression in 2.8.0

Running this command in verbose (-vv) mode:

$ beet -vv import /path/to/Everything\ But\ The\ Girl-Eden-Reissue\ Deluxe\ Edition-WEB-2026-MARR

Led to this problem:

Traceback (most recent call last):
  File "/home/john/.local/bin/beet", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/ui/__init__.py", line 1013, in main
    _raw_main(args)
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/ui/__init__.py", line 992, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/ui/commands/import_/__init__.py", line 131, in import_func
    import_files(lib, byte_paths, query)
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/ui/commands/import_/__init__.py", line 75, in import_files
    session.run()
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/importer/session.py", line 237, in run
    pl.run_parallel(QUEUE_SIZE)
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/util/pipeline.py", line 471, in run_parallel
    raise exc_info[1].with_traceback(exc_info[2])
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/util/pipeline.py", line 336, in run
    out = self.coro.send(msg)
          ^^^^^^^^^^^^^^^^^^^
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/util/pipeline.py", line 195, in coro
    task = func(*args, task)
           ^^^^^^^^^^^^^^^^^
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/importer/stages.py", line 217, in user_query
    _apply_choice(session, task)
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/importer/stages.py", line 323, in _apply_choice
    task.apply_metadata()
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/importer/tasks.py", line 262, in apply_metadata
    self.match.apply_metadata()
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/autotag/hooks.py", line 573, in apply_metadata
    for item, data in self.merged_pairs:
                      ^^^^^^^^^^^^^^^^^
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/autotag/hooks.py", line 567, in merged_pairs
    (i, ti.merge_with_album(self.info))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/autotag/hooks.py", line 446, in merge_with_album
    album = album_info.raw_data
            ^^^^^^^^^^^^^^^^^^^
  File "/home/john/.local/share/uv/tools/beets/lib/python3.12/site-packages/beets/autotag/hooks.py", line 111, in __getattr__
    raise AttributeError(
AttributeError: 'AlbumInfo' object has no attribute 'raw_data'

Here's a link to the music files that trigger the bug (if relevant):

(Not publicly shareable, but standard WEB release; happy to provide more details if needed)

Setup

  • OS: Ubuntu (22.04-based)
  • Python version: 3.12.10
  • beets version: 2.8.0
  • Turning off plugins made problem go away (yes/no): Yes - turning of Deezer plugin avoids crash

My configuration (output of beet config) is:

# (full config omitted for brevity — issue also reproduces with minimal config)

plugins: [deezer, musicbrainz, fromfilename, inline, the]

deezer:
  data_source_mismatch_penalty: 0.7

musicbrainz:
  data_source_mismatch_penalty: 0.0
  search_limit: 5

Metadata

Metadata

Assignees

No one assigned

    Labels

    deezerdeezer plugin

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions