mirror of
https://github.com/beetbox/beets.git
synced 2025-12-29 12:02:44 +01:00
Merge pull request #4834 from Bobo1239/master
Handle missing release-relation-list field during pseudo-release lookup
This commit is contained in:
commit
5bc0786f51
2 changed files with 42 additions and 2 deletions
|
|
@ -678,7 +678,10 @@ def _is_translation(r):
|
|||
|
||||
def _find_actual_release_from_pseudo_release(pseudo_rel: Dict) \
|
||||
-> Optional[Dict]:
|
||||
relations = pseudo_rel['release']["release-relation-list"]
|
||||
try:
|
||||
relations = pseudo_rel['release']["release-relation-list"]
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
# currently we only support trans(liter)ation's
|
||||
translations = [r for r in relations if _is_translation(r)]
|
||||
|
|
|
|||
|
|
@ -724,7 +724,7 @@ class MBLibraryTest(unittest.TestCase):
|
|||
album = mb.album_for_id('d2a6f856-b553-40a0-ac54-a321e8e2da02')
|
||||
self.assertEqual(album.country, 'COUNTRY')
|
||||
|
||||
def test_pseudo_releases_without_links(self):
|
||||
def test_pseudo_releases_with_empty_links(self):
|
||||
side_effect = [{
|
||||
'release': {
|
||||
'title': 'pseudo',
|
||||
|
|
@ -762,6 +762,43 @@ class MBLibraryTest(unittest.TestCase):
|
|||
album = mb.album_for_id('d2a6f856-b553-40a0-ac54-a321e8e2da02')
|
||||
self.assertEqual(album.country, None)
|
||||
|
||||
def test_pseudo_releases_without_links(self):
|
||||
side_effect = [{
|
||||
'release': {
|
||||
'title': 'pseudo',
|
||||
'id': 'd2a6f856-b553-40a0-ac54-a321e8e2da02',
|
||||
'status': 'Pseudo-Release',
|
||||
'medium-list': [{
|
||||
'track-list': [{
|
||||
'id': 'baz',
|
||||
'recording': {
|
||||
'title': 'translated title',
|
||||
'id': 'bar',
|
||||
'length': 42,
|
||||
},
|
||||
'position': 9,
|
||||
'number': 'A1',
|
||||
}],
|
||||
'position': 5,
|
||||
}],
|
||||
'artist-credit': [{
|
||||
'artist': {
|
||||
'name': 'some-artist',
|
||||
'id': 'some-id',
|
||||
},
|
||||
}],
|
||||
'release-group': {
|
||||
'id': 'another-id',
|
||||
},
|
||||
}
|
||||
},
|
||||
]
|
||||
|
||||
with mock.patch('musicbrainzngs.get_release_by_id') as gp:
|
||||
gp.side_effect = side_effect
|
||||
album = mb.album_for_id('d2a6f856-b553-40a0-ac54-a321e8e2da02')
|
||||
self.assertEqual(album.country, None)
|
||||
|
||||
def test_pseudo_releases_with_unsupported_links(self):
|
||||
side_effect = [
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue