Skip to content

mbpseudo: Type 'dict' is not supported. #6448

@DigitalStarSys

Description

@DigitalStarSys

When attempting to tag a JP -> EN pseudo-release with mbpseudo, the importer fails with error "type 'dict' is not supported".

Problem

Running this command in verbose (-vv) mode:

$ beet -vv import /Users/digistarsys/Desktop/beets_test/intake

Led to this problem:

Looking up: /Users/digistarsys/Desktop/beets_test/intake/Leo_need/Leo_need SEKAI ALBUM vol.1
Tagging Leo/need - Leo/need SEKAI ALBUM vol.1
No album ID found.
Search terms: Leo/need - Leo/need SEKAI ALBUM vol.1
Album might be VA: False
Searching for MusicBrainz releases with: 'release:(leo\\/need sekai album vol.1) artist:(leo\\/need)'
Sending event: import_task_created
Sending event: import_task_created
Sending event: import_task_created
Skipped 2 paths.
mbpseudo: Requesting MusicBrainz release 5025be08-155c-4dce-8023-e64af1f6a03b
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
mbpseudo: Adding pseudo-release 426ed83b-e698-43f9-b0e5-2d57d8575eee for main release 5025be08-155c-4dce-8023-e64af1f6a03b
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Computing track assignment...
...done.
Computing track assignment...
...done.
mbpseudo: Using official release for distance calculations for album 426ed83b-e698-43f9-b0e5-2d57d8575eee
Sending event: albuminfo_received
Candidate: Leo/need - Leo/need SEKAI ALBUM vol.1 (426ed83b-e698-43f9-b0e5-2d57d8575eee)
Computing track assignment...
...done.
Success. Distance: 0.00
Sending event: album_matched
mbpseudo: Switching 426ed83b-e698-43f9-b0e5-2d57d8575eee to pseudo-release source for final proposal
Computing track assignment...
...done.
Sending event: albuminfo_received
Candidate: Leo/need - Leo/need SEKAI ALBUM vol.1 (5025be08-155c-4dce-8023-e64af1f6a03b)
Computing track assignment...
...done.
Success. Distance: 0.00
Sending event: album_matched
mbpseudo: Requesting MusicBrainz release 426ed83b-e698-43f9-b0e5-2d57d8575eee
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
mbpseudo: Adding pseudo-release 426ed83b-e698-43f9-b0e5-2d57d8575eee for main release 5025be08-155c-4dce-8023-e64af1f6a03b
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Leo/need - Leo/need SEKAI ALBUM vol.1 (426ed83b-e698-43f9-b0e5-2d57d8575eee)
Duplicate.
Sending event: album_matched
mbpseudo: Switching 426ed83b-e698-43f9-b0e5-2d57d8575eee to pseudo-release source for final proposal
Computing track assignment...
...done.
mbpseudo: Requesting MusicBrainz release 60f77eeb-2f24-4c09-9bcb-cef8e3411db1
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Leo/need - Leo/need SEKAI ALBUM vol.1 (60f77eeb-2f24-4c09-9bcb-cef8e3411db1)
Computing track assignment...
...done.
Success. Distance: 0.00
Sending event: album_matched
mbpseudo: Requesting MusicBrainz release 6941d15d-41dc-4c29-beb4-36f654dd9b45
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
mbpseudo: Adding pseudo-release 6941d15d-41dc-4c29-beb4-36f654dd9b45 for main release ac34d743-25b6-4c1d-b0da-c7e34040528c
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Leo/need - Leo/need SEKAI ALBUM vol.2 (6941d15d-41dc-4c29-beb4-36f654dd9b45)
Computing track assignment...
...done.
Success. Distance: 0.44
Sending event: album_matched
mbpseudo: Requesting MusicBrainz release 911c0915-8cbd-40c3-9e38-bdf8fb2e8f6b
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Leo/need - Leo/need SEKAI ALBUM vol.3 (911c0915-8cbd-40c3-9e38-bdf8fb2e8f6b)
Computing track assignment...
...done.
Success. Distance: 0.49
Sending event: album_matched
Evaluating 5 candidates.
Sending event: import_task_start
Looking up: /Users/digistarsys/Desktop/beets_test/intake/Porter Robinson/Worlds
Tagging Porter Robinson - Worlds
Searching for discovered album ID: cff6442b-951f-4a1a-b146-d436aace16de
mbpseudo: Requesting MusicBrainz release cff6442b-951f-4a1a-b146-d436aace16de

/Users/digistarsys/Desktop/beets_test/intake/Leo_need/Leo_need SEKAI ALBUM vol.1 (12 items)
Sending event: import_task_before_choice
Sending event: before_choose_candidate

  Match (100.0%):
  Leo/need - Leo/need SEKAI ALBUM vol.1
  MusicBrainz, CD, 2022, JP, BUSHIROAD MUSIC, BRMM-10497, VocaDB romanized track titles
  https://musicbrainz.org/release/426ed83b-e698-43f9-b0e5-2d57d8575eee
  * Artist: Leo/need
  * Album: Leo/need SEKAI ALBUM vol.1
Sending event: import_task_choice
Sending event: import_task_apply
0 of 12 items replaced
Sending event: database_change
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Porter Robinson - Worlds (cff6442b-951f-4a1a-b146-d436aace16de)
Computing track assignment...
...done.
Success. Distance: 0.00
Sending event: album_matched
Album ID match recommendation is 3
ID match.
Traceback (most recent call last):
  File "/Users/digistarsys/Library/Python/3.12/bin/beet", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/ui/__init__.py", line 1633, in main
    _raw_main(args)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/ui/__init__.py", line 1612, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/ui/commands/import_/__init__.py", line 131, in import_func
    import_files(lib, byte_paths, query)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/ui/commands/import_/__init__.py", line 75, in import_files
    session.run()
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/importer/session.py", line 237, in run
    pl.run_parallel(QUEUE_SIZE)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/util/pipeline.py", line 471, in run_parallel
    raise exc_info[1].with_traceback(exc_info[2])
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/util/pipeline.py", line 336, in run
    out = self.coro.send(msg)
          ^^^^^^^^^^^^^^^^^^^
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/util/pipeline.py", line 195, in coro
    task = func(*args, task)
           ^^^^^^^^^^^^^^^^^
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/importer/stages.py", line 217, in user_query
    _apply_choice(session, task)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/importer/stages.py", line 326, in _apply_choice
    task.add(session.lib)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/importer/tasks.py", line 501, in add
    self.album = lib.add_album(self.imported_items())
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/library/library.py", line 79, in add_album
    item.add(self)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/library/models.py", line 82, in add
    super().add(lib)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/dbcore/db.py", line 717, in add
    self.store()
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/library/models.py", line 72, in store
    super().store(fields)
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/dbcore/db.py", line 659, in store
    tx.mutate(
  File "/Users/digistarsys/Library/Python/3.12/lib/python/site-packages/beets/dbcore/db.py", line 1039, in mutate
    return self.db._connection().execute(statement, subvals).lastrowid
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.ProgrammingError: Error binding parameter 3: type 'dict' is not supported

Here's a link to the music files that trigger the bug (if relevant):
N/A. The MusicBrainz release group is here, and the MusicBrainz release is here.

Setup

  • OS: macOS 26.2
  • Python version: 3.12
  • beets version: 2.7.1
  • Turning off plugins made problem go away (yes/no): Sort of; swapping from mbpseudo to musicbrainz fixed it, but then the pseudo-release isn't picked up on correctly

My configuration (output of beet config) is:

directory: ~/Desktop/beets_test/library
# --------------- Main ---------------

library: ~/Desktop/beets_test/library.db

import:
    move: yes
    write: yes
    languages: en

# --------------- Plugins ---------------

plugins:
- mbpseudo
- fetchart
- embedart
- lyrics
- lastgenre
- scrub
mbpseudo:
    scripts: [Latn]
    search_limit: 5
    data_source_mismatch_penalty: 0.5
    genres: no
    genres_tag: genre
    external_ids:
        discogs: no
        bandcamp: no
        spotify: no
        deezer: no
        tidal: no
    extra_tags: []
    custom_tags_only: no
    album_custom_tags:
        album_transl: album
        album_artist_transl: artist
    track_custom_tags:
        title_transl: title
        artist_transl: artist
embedart:
    auto: yes
    compare_threshold: 10
    maxwidth: 0
    ifempty: no
    remove_art_file: no
    quality: 0
    clearart_on_import: no
lyrics:
    sources: [lrclib, google, genius]
    synced: yes
    google_API_key: REDACTED
    auto: yes
    translate:
        api_key: REDACTED
        from_languages: []
        to_language:
    dist_thresh: 0.11
    google_engine_ID: REDACTED
    genius_api_key: REDACTED
    fallback:
    force: no
    local: no
    print: no
disabled_plugins: []
fetchart:
    auto: yes
    minwidth: 0
    maxwidth: 0
    quality: 0
    max_filesize: 0
    enforce_ratio: no
    cautious: no
    cover_names:
    - cover
    - front
    - art
    - album
    - folder
    fallback:
    sources:
    - filesystem
    - coverart
    - itunes
    - amazon
    - albumart
    - cover_art_url
    store_source: no
    high_resolution: no
    deinterlace: no
    cover_format:
    fanarttv_key: REDACTED
    google_key: REDACTED
    google_engine: REDACTED
    lastfm_key: REDACTED
lastgenre:
    whitelist: yes
    min_weight: 10
    count: 1
    fallback:
    canonical: no
    cleanup_existing: no
    source: album
    force: no
    keep_existing: no
    auto: yes
    prefer_specific: no
    title_case: yes
    pretend: no
scrub:
    auto: yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions