Merge pull request #5134 from InvisibleFunction/fix-media-headers

Fix Media Headers on Import
This commit is contained in:
J0J0 Todos 2024-03-17 00:48:39 +01:00 committed by GitHub
commit b09806e0df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 6 deletions

View file

@ -595,8 +595,12 @@ def album_info(release: Dict) -> beets.autotag.hooks.AlbumInfo:
# Media (format).
if release["medium-list"]:
first_medium = release["medium-list"][0]
info.media = first_medium.get("format")
# If all media are the same, use that medium name
if len(set([m.get("format") for m in release["medium-list"]])) == 1:
info.media = release["medium-list"][0].get("format")
# Otherwise, let's just call it "Media"
else:
info.media = "Media"
if config["musicbrainz"]["genres"]:
sources = [

View file

@ -453,14 +453,16 @@ class ChangeRepresentation(object):
def make_medium_info_line(self, track_info):
"""Construct a line with the current medium's info."""
media = self.match.info.media or "Media"
track_media = track_info.get("media", "Media")
# Build output string.
if self.match.info.mediums > 1 and track_info.disctitle:
return f"* {media} {track_info.medium}: {track_info.disctitle}"
return (
f"* {track_media} {track_info.medium}: {track_info.disctitle}"
)
elif self.match.info.mediums > 1:
return f"* {media} {track_info.medium}"
return f"* {track_media} {track_info.medium}"
elif track_info.disctitle:
return f"* {media}: {track_info.disctitle}"
return f"* {track_media}: {track_info.disctitle}"
else:
return ""

View file

@ -292,6 +292,9 @@ Bug fixes:
and caching in `zsh`.
:bug:`3546`
* Remove unused functions :bug:`5103`
* Fix bug where all media types are reported as the first media type when
importing with MusicBrainz as the data source
:bug:`4947`
For plugin developers: