mirror of
https://github.com/beetbox/beets.git
synced 2026-02-17 21:03:04 +01:00
Merge branch 'master' into patch-1
This commit is contained in:
commit
e7dfbc96b1
3 changed files with 21 additions and 2 deletions
|
|
@ -477,7 +477,7 @@ class MusicBrainzPlugin(MusicBrainzAPIMixin, MetadataSourcePlugin):
|
|||
release["artist-credit"], include_join_phrase=False
|
||||
)
|
||||
|
||||
ntracks = sum(len(m["tracks"]) for m in release["media"])
|
||||
ntracks = sum(len(m.get("tracks", [])) for m in release["media"])
|
||||
|
||||
# The MusicBrainz API omits 'relations'
|
||||
# when the release has more than 500 tracks. So we use browse_recordings
|
||||
|
|
@ -512,7 +512,7 @@ class MusicBrainzPlugin(MusicBrainzAPIMixin, MetadataSourcePlugin):
|
|||
if format in config["match"]["ignored_media"].as_str_seq():
|
||||
continue
|
||||
|
||||
all_tracks = medium["tracks"]
|
||||
all_tracks = medium.get("tracks", [])
|
||||
if (
|
||||
"data-tracks" in medium
|
||||
and not config["match"]["ignore_data_tracks"]
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ Unreleased
|
|||
Bug fixes
|
||||
~~~~~~~~~
|
||||
|
||||
- :doc:`plugins/musicbrainz`: Fix crash when release mediums lack the ``tracks``
|
||||
key. :bug:`6302`
|
||||
- :doc:`plugins/musicbrainz`: Fix search terms escaping. :bug:`6347`
|
||||
- :doc:`plugins/musicbrainz`: Fix support for ``alias`` and ``tracks``
|
||||
:conf:`plugins.musicbrainz:extra_tags`.
|
||||
|
|
|
|||
|
|
@ -691,6 +691,23 @@ class MBAlbumInfoTest(MusicBrainzTestCase):
|
|||
assert t[0].trackdisambig is None
|
||||
assert t[1].trackdisambig == "SECOND TRACK"
|
||||
|
||||
def test_missing_tracks(self):
|
||||
tracks = [
|
||||
self._make_track("TITLE ONE", "ID ONE", 100.0 * 1000.0),
|
||||
self._make_track(
|
||||
"TITLE TWO",
|
||||
"ID TWO",
|
||||
200.0 * 1000.0,
|
||||
disambiguation="SECOND TRACK",
|
||||
),
|
||||
]
|
||||
release = self._make_release(tracks=tracks)
|
||||
release["media"].append(release["media"][0])
|
||||
del release["media"][0]["tracks"]
|
||||
del release["media"][0]["data-tracks"]
|
||||
d = self.mb.album_info(release)
|
||||
assert d.mediums == 2
|
||||
|
||||
|
||||
class ArtistFlatteningTest(unittest.TestCase):
|
||||
def _credit_dict(self, suffix=""):
|
||||
|
|
|
|||
Loading…
Reference in a new issue