Skip to content

Normalize digital media in Discogs searches - #6980

Open
sindreruud wants to merge 1 commit into
beetbox:masterfrom
sindreruud:fix-discogs-digital-media-search
Open

sindreruud wants to merge 1 commit into
beetbox:masterfrom
sindreruud:fix-discogs-digital-media-search

Conversation

@sindreruud

@sindreruud sindreruud commented Sep 2, 2026

Copy link
Copy Markdown

The Discogs plugin supports media as an extra_tags search filter and maps it to Discogs' format parameter.

Discogs uses the word File to describe digital releases. MusicBrainz on the other hand uses something different, Digital Media

If you have music previously tagged against MusicBrainz, the metadata will usually say Digital Media. I have also seen WEB being quite common.

As a result, enabling media in discogs.extra_tags can negatively impact the search accuracy, while in reality it should not.

This PR normalizes Digital Media and WEB to File when constructing the Discogs search filter.

PS, this is my first PR in this project. So please let me know if there is something I need to correct. I tried following all the documentation to the best of my knowledge.

  • [✓] Documentation
  • [✓] Changelog
  • [✓] Tests

@sindreruud
sindreruud requested a review from a team as a code owner September 2, 2026 19:35
@github-actions github-actions Bot added the discogs discogs plugin label Sep 2, 2026
@codecov

codecov Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.85%. Comparing base (a750105) to head (1be6d74).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6980   +/-   ##
=======================================
  Coverage   76.85%   76.85%           
=======================================
  Files         163      163           
  Lines       21627    21629    +2     
  Branches     3344     3345    +1     
=======================================
+ Hits        16621    16623    +2     
  Misses       4190     4190           
  Partials      816      816           
Files with missing lines Coverage Δ
beetsplug/discogs/__init__.py 69.66% <100.00%> (+0.18%) ⬆️
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@snejus snejus left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! Could you normalize the media values before passing them to util.plurality()?

Currently, Digital Media and WEB are counted separately. For example, two tracks with Digital Media, two with WEB, and three with Vinyl would select Vinyl, even though the normalized plurality should be File.

Would you mind adding a regression test with multiple items covering this case as well?

Also, please rebase this on master to resolve the current conflict.

Comment on lines +290 to +291
"digital media",
"web",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's worth defining this as a constant at the top of the module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

discogs discogs plugin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants