Skip to content

Embedded art extraction for fetchart plugin#1

Draft
overhacked wants to merge 9 commits into
overhacked/fetchart_asisfrom
overhacked/fetchart_embedded
Draft

Embedded art extraction for fetchart plugin#1
overhacked wants to merge 9 commits into
overhacked/fetchart_asisfrom
overhacked/fetchart_embedded

Conversation

@overhacked

Copy link
Copy Markdown
Owner

Description

Add embedded source to extract embedded art from files. Add
skip_embedded option to detect embedded art and skip fetching from
other sources (if extracting isn't the desired end state).

If skip_embedded=yes, then files with embedded art are considered "done" and
skipped by FetchArt. If the embedded source is enabled, then embedded
artwork is always extracted. The two settings are independent of each
other.

Fixes beetbox#1130.
Stacked PR on beetbox#6815.

To Do

  • Documentation.
  • Changelog.
  • Tests.

Enable fetching art for imports even when as-is is selected as the
metadata source. Allows for the case when files with good metadata
but without album art are being imported (e.g. digital download store).

Signed-off-by: Ross Williams <ross@ross-williams.net>
Signed-off-by: Ross Williams <ross@ross-williams.net>
Test whether fetchart is run during the import phase and, specifically,
whether the `fetch_for_asis` setting is honored.

Signed-off-by: Ross Williams <ross@ross-williams.net>
Signed-off-by: Ross Williams <ross@ross-williams.net>
Signed-off-by: Ross Williams <ross@ross-williams.net>
Move mocks down the call tree so that the mock boundary is between
`FetchArtPlugin` and `ArtSource`, an already-existing internal API boundary,
instead of testing `FetchArtPlugin`'s implementation of selecting local
versus remote sources.
Add `embedded` source to extract embedded art from files. Add
`skip_embedded` option to detect embedded art and skip fetching from
other sources (if extracting isn't the desired end state).

If `skip_embedded=yes`, then files with embedded art are considered "done" and
skipped by FetchArt. If the `embedded` source is enabled, then embedded
artwork is always extracted. The two settings are independent of each
other.

Fix variable shadowing lint due to added import of `_utils.art`.

Signed-off-by: Ross Williams <ross@ross-williams.net>
Add unit tests for Embedded source of FetchArt plugin.
Add integration tests for FetchArt plugin's handling of files with
embedded artwork.

Signed-off-by: Ross Williams <ross@ross-williams.net>
Signed-off-by: Ross Williams <ross@ross-williams.net>
@overhacked overhacked force-pushed the overhacked/fetchart_asis branch from 3b66c19 to 6afc0f2 Compare July 10, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant