beets icon indicating copy to clipboard operation
beets copied to clipboard

Re-importing with fetchart creates two album art files (regression)

Open vganin opened this issue 3 months ago • 0 comments

Problem

Looks the same as ancient bug https://github.com/beetbox/beets/issues/1264, still not fixed for me.

If I import already existing album, and choose to replace it, beets always creates the duplicate cover with index added. The more I import the same album with replace option, the more duplicate covers beets will create.

Image

Setup

  • OS: Linux
  • Python version 3.11.12
  • beets version 2.3.1
  • Turning off plugins made problem go away (yes/no): yes, disabling fetchart plugin fixes the issue

My configuration (output of beet config) is:

fetchart:
    fanarttv_key: REDACTED
    lastfm_key: REDACTED
    cautious: yes
    store_source: yes
    high_resolution: yes
    maxwidth: 2048
    sources:
    - cover_art_url
    - filesystem
    - fanarttv
    - itunes
    - amazon
    - coverart
    - albumart
    - lastfm
    auto: yes
    minwidth: 0
    quality: 0
    max_filesize: 0
    enforce_ratio: no
    cover_names:
    - cover
    - front
    - art
    - album
    - folder
    deinterlace: no
    cover_format:
    google_key: REDACTED
    google_engine: REDACTED
subsonic:
    user: REDACTED
    pass: REDACTED
    auth: token
    url: REDACTED
directory: /music
include: [/run/secrets/beets-secret-config]
pluginpath: [/beetsplug]

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

plugins:
- web
- inline
- fetchart
- lastgenre
- edit
- zero
- scrub
- duplicates
- rewrite
- unimported
- info
- mbsync
- subsonicupdate
- badfiles
- importreplace
- lyrics
- fetcharturl

# --------------- Search ---------------

format_item: $albumartist/($year) $album%aunique{}/%if{$multidisc,$disc.}$track. $title
format_album: $albumartist/($year) $album%aunique{}
original_date: yes
artist_credit: yes

# --------------- Tagging ---------------

per_disc_numbering: yes

# --------------- Import ---------------

clutter: .pdf .bmp .png .jpg .jpeg .tif .gif .sfv .nfo .m3u .log .DS_Store Thumbs.DB Thumbs.db

import:
    move: no
    copy: yes
    write: yes
    incremental: yes
    incremental_skip_later: yes
    duplicate_action: ask
    duplicate_verbose_prompt: yes
    bell: yes

aunique:
    keys: albumartist year album
    disambiguators: albumtype year label catalognum albumdisambig releasegroupdisambig
    bracket: '[]'
paths:
    default: $albumartist/($year) $album%aunique{}/%if{$multidisc,$disc.}$track. $title
    singleton: No Album/$artist/$title
    comp: Various Artists/($year) $album%aunique{}/%if{$multidisc,$disc.}$track. $title
item_fields:
    multidisc: 1 if disctotal > 1 else 0
musicbrainz:
    enabled: yes
lastgenre:
    count: 3
    separator: ;
    prefer_specific: yes
    force: yes
    keep_existing: no
    whitelist: yes
    min_weight: 10
    fallback:
    canonical: no
    source: album
    auto: yes
    title_case: yes
    extended_debug: no
zero:
    fields: images comments
    update_database: yes
    auto: yes
    keep_fields: []
duplicates:
    action: ask
    path: yes
    tiebreak:
        bitrate: max
        format: flac
    album: no
    checksum: ''
    copy: ''
    count: no
    delete: no
    format: ''
    full: no
    keys: []
    merge: no
    move: ''
    strict: no
    tag: ''
rewrite:
    REDACTED
importreplace:
    replacements: [{item_fields: title artist artist_sort artist_credit, album_fields: album artist artist_sort artist_credit, replace: {'[\u2018-\u201B]': '''', '[\u201C-\u201F]': '"', '[\u2010-\u2015]': '-', "\u2026": '...', '\[untitled\]': Untitled}}]
badfiles:
    check_on_import: yes
lyrics:
    auto: no
    translate:
        api_key: REDACTED
        from_languages: []
        to_language:
    dist_thresh: 0.11
    google_API_key: REDACTED
    google_engine_ID: REDACTED
    genius_api_key: REDACTED
    fallback:
    force: no
    local: no
    print: no
    synced: no
    sources:
    - lrclib
    - google
    - genius
    - tekstowo
unimported:
    ignore_extensions: []
    ignore_subdirectories: []
scrub:
    auto: yes
edit:
    albumfields: album albumartist
    itemfields: track title artist album
    ignore_fields: id path
pathfields: {}
album_fields: {}
web:
    host: 127.0.0.1
    port: 8337
    cors: ''
    cors_supports_credentials: no
    reverse_proxy: no
    include_paths: no
    readonly: yes

vganin avatar Dec 06 '25 16:12 vganin