'year': 2007,
})
# ---
-# name: test_parse_albums[spec.album]
+# name: test_parse_albums[no-version.album]
dict({
'album_type': 'unknown',
'artists': list([
'year': 2007,
})
# ---
-# name: test_parse_albums[spec.album].1
+# name: test_parse_albums[no-version.album].1
dict({
'album_type': 'unknown',
'artists': list([
'year': 2007,
})
# ---
-# name: test_parse_artists[no-sort-name.artist]
+# name: test_parse_albums[spec.album]
dict({
+ 'album_type': 'unknown',
+ 'artists': list([
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': '91c3901ac465b9efc439e4be4270c2b6',
+ 'media_type': 'artist',
+ 'name': 'pornophonique',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'pornophonique',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/91c3901ac465b9efc439e4be4270c2b6',
+ 'version': '',
+ 'year': None,
+ }),
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'ar-1',
+ 'media_type': 'artist',
+ 'name': 'Artist 1',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'artist 1',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/ar-1',
+ 'version': '',
+ 'year': None,
+ }),
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'ar-2',
+ 'media_type': 'artist',
+ 'name': 'Artist 2',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'artist 2',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/ar-2',
+ 'version': '',
+ 'year': None,
+ }),
+ ]),
'date_added': None,
'external_ids': list([
list([
- 'musicbrainz_artistid',
+ 'musicbrainz_albumid',
'189002e7-3285-4e2e-92a3-7f6c30d407a2',
]),
]),
'favorite': True,
'is_playable': True,
- 'item_id': '37ec820ca7193e17040c98f7da7c4b51',
- 'media_type': 'artist',
+ 'item_id': 'ad0f112b6dcf83de5e9cae85d07f0d35',
+ 'media_type': 'album',
'metadata': dict({
'chapters': None,
'copyright': None,
'description': None,
'explicit': None,
- 'genres': None,
+ 'genres': list([
+ 'East coast',
+ 'Hip-Hop',
+ ]),
'grouping': None,
'images': list([
dict({
- 'path': 'https://demo.org/image.jpg',
- 'provider': 'xx-instance-id-xx',
- 'remotely_accessible': True,
- 'type': 'thumb',
- }),
- dict({
- 'path': 'ar-37ec820ca7193e17040c98f7da7c4b51_0',
+ 'path': 'al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8',
'provider': 'xx-instance-id-xx',
'remotely_accessible': False,
'type': 'thumb',
'links': None,
'lrc_lyrics': None,
'lyrics': None,
- 'mood': None,
+ 'mood': 'slow',
'performers': None,
'popularity': None,
'preview': None,
'review': None,
'style': None,
}),
- 'name': '2 Mello',
+ 'name': '8-bit lagerfeuer',
'position': None,
'provider': 'opensubsonic',
'provider_mappings': list([
'details': None,
'in_library': None,
'is_unique': None,
- 'item_id': '37ec820ca7193e17040c98f7da7c4b51',
+ 'item_id': 'ad0f112b6dcf83de5e9cae85d07f0d35',
'provider_domain': 'opensubsonic',
'provider_instance': 'xx-instance-id-xx',
'url': None,
}),
]),
- 'sort_name': '2 mello',
+ 'sort_name': 'lagerfeuer (8-bit)',
'translation_key': None,
- 'uri': 'opensubsonic://artist/37ec820ca7193e17040c98f7da7c4b51',
- 'version': '',
+ 'uri': 'opensubsonic://album/ad0f112b6dcf83de5e9cae85d07f0d35',
+ 'version': 'Deluxe Edition',
+ 'year': 2007,
})
# ---
-# name: test_parse_artists[no-sort-name.artist].1
+# name: test_parse_albums[spec.album].1
dict({
+ 'album_type': 'unknown',
+ 'artists': list([
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': '91c3901ac465b9efc439e4be4270c2b6',
+ 'media_type': 'artist',
+ 'name': 'pornophonique',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'pornophonique',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/91c3901ac465b9efc439e4be4270c2b6',
+ 'version': '',
+ 'year': None,
+ }),
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'ar-1',
+ 'media_type': 'artist',
+ 'name': 'Artist 1',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'artist 1',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/ar-1',
+ 'version': '',
+ 'year': None,
+ }),
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'ar-2',
+ 'media_type': 'artist',
+ 'name': 'Artist 2',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'artist 2',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/ar-2',
+ 'version': '',
+ 'year': None,
+ }),
+ ]),
'date_added': None,
'external_ids': list([
list([
- 'musicbrainz_artistid',
+ 'musicbrainz_albumid',
'189002e7-3285-4e2e-92a3-7f6c30d407a2',
]),
]),
'favorite': True,
'is_playable': True,
- 'item_id': '37ec820ca7193e17040c98f7da7c4b51',
- 'media_type': 'artist',
+ 'item_id': 'ad0f112b6dcf83de5e9cae85d07f0d35',
+ 'media_type': 'album',
'metadata': dict({
'chapters': None,
'copyright': None,
- 'description': 'Empty biography',
+ 'description': 'Download the full release here (creative commons). These cripsy beats are ripe with thumping funk and techno influences, sample wizardry and daring shuffles. Composed with the help of unique sound plugins which were especially programmed to measure Comfort Fit’s needs and wishes, we think the chances aren’t bad that you’ll fall for the unique sound signature, bounce and elegance of this unusual Hip Hop production. Ltj bukem / Good looking Rec., UK: "Really love this music." Velanche / XLR8R, UK: "Awesome job he\'s done... overall production is dope." Kwesi / BBE Music, UK: "Wooooooowwwww... WHAT THE FUCK! THIS IS WHAT',
'explicit': None,
- 'genres': None,
+ 'genres': list([
+ 'East coast',
+ 'Hip-Hop',
+ ]),
'grouping': None,
'images': list([
dict({
- 'path': 'https://demo.org/image.jpg',
- 'provider': 'xx-instance-id-xx',
- 'remotely_accessible': True,
- 'type': 'thumb',
- }),
- dict({
- 'path': 'ar-37ec820ca7193e17040c98f7da7c4b51_0',
+ 'path': 'al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8',
'provider': 'xx-instance-id-xx',
'remotely_accessible': False,
'type': 'thumb',
}),
dict({
- 'path': 'http://localhost:8989/play/art/f20070e8e11611cc53542a38801d60fa/artist/2/thumb34.jpg',
+ 'path': 'http://localhost:8989/play/art/0f8c3cbd6b0b22c3b5402141351ac812/album/21/thumb34.jpg',
'provider': 'xx-instance-id-xx',
'remotely_accessible': True,
'type': 'thumb',
'links': None,
'lrc_lyrics': None,
'lyrics': None,
- 'mood': None,
+ 'mood': 'slow',
'performers': None,
'popularity': None,
'preview': None,
'review': None,
'style': None,
}),
- 'name': '2 Mello',
+ 'name': '8-bit lagerfeuer',
'position': None,
'provider': 'opensubsonic',
'provider_mappings': list([
'details': None,
'in_library': None,
'is_unique': None,
- 'item_id': '37ec820ca7193e17040c98f7da7c4b51',
+ 'item_id': 'ad0f112b6dcf83de5e9cae85d07f0d35',
'provider_domain': 'opensubsonic',
'provider_instance': 'xx-instance-id-xx',
'url': None,
}),
]),
- 'sort_name': '2 mello',
+ 'sort_name': 'lagerfeuer (8-bit)',
'translation_key': None,
- 'uri': 'opensubsonic://artist/37ec820ca7193e17040c98f7da7c4b51',
- 'version': '',
+ 'uri': 'opensubsonic://album/ad0f112b6dcf83de5e9cae85d07f0d35',
+ 'version': 'Deluxe Edition',
+ 'year': 2007,
})
# ---
-# name: test_parse_artists[spec-artistid3.artist]
+# name: test_parse_artists[no-sort-name.artist]
dict({
'date_added': None,
'external_ids': list([
'url': None,
}),
]),
- 'sort_name': 'Mello (2)',
+ 'sort_name': '2 mello',
'translation_key': None,
'uri': 'opensubsonic://artist/37ec820ca7193e17040c98f7da7c4b51',
'version': '',
})
# ---
-# name: test_parse_artists[spec-artistid3.artist].1
+# name: test_parse_artists[no-sort-name.artist].1
dict({
'date_added': None,
'external_ids': list([
'url': None,
}),
]),
- 'sort_name': 'Mello (2)',
+ 'sort_name': '2 mello',
'translation_key': None,
'uri': 'opensubsonic://artist/37ec820ca7193e17040c98f7da7c4b51',
'version': '',
})
# ---
-# name: test_parse_artists[spec-sample.artist]
+# name: test_parse_artists[spec-artistid3.artist]
dict({
'date_added': None,
'external_ids': list([
+ list([
+ 'musicbrainz_artistid',
+ '189002e7-3285-4e2e-92a3-7f6c30d407a2',
+ ]),
]),
'favorite': True,
'is_playable': True,
- 'item_id': '100000002',
+ 'item_id': '37ec820ca7193e17040c98f7da7c4b51',
'media_type': 'artist',
'metadata': dict({
'chapters': None,
'grouping': None,
'images': list([
dict({
- 'path': 'ar-100000002',
+ 'path': 'https://demo.org/image.jpg',
+ 'provider': 'xx-instance-id-xx',
+ 'remotely_accessible': True,
+ 'type': 'thumb',
+ }),
+ dict({
+ 'path': 'ar-37ec820ca7193e17040c98f7da7c4b51_0',
'provider': 'xx-instance-id-xx',
'remotely_accessible': False,
'type': 'thumb',
'review': None,
'style': None,
}),
- 'name': 'Synthetic',
+ 'name': '2 Mello',
'position': None,
'provider': 'opensubsonic',
'provider_mappings': list([
'details': None,
'in_library': None,
'is_unique': None,
- 'item_id': '100000002',
+ 'item_id': '37ec820ca7193e17040c98f7da7c4b51',
'provider_domain': 'opensubsonic',
'provider_instance': 'xx-instance-id-xx',
'url': None,
}),
]),
- 'sort_name': 'synthetic',
+ 'sort_name': 'Mello (2)',
'translation_key': None,
- 'uri': 'opensubsonic://artist/100000002',
+ 'uri': 'opensubsonic://artist/37ec820ca7193e17040c98f7da7c4b51',
'version': '',
})
# ---
-# name: test_parse_artists[spec-sample.artist].1
+# name: test_parse_artists[spec-artistid3.artist].1
dict({
'date_added': None,
'external_ids': list([
+ list([
+ 'musicbrainz_artistid',
+ '189002e7-3285-4e2e-92a3-7f6c30d407a2',
+ ]),
]),
'favorite': True,
'is_playable': True,
- 'item_id': '100000002',
+ 'item_id': '37ec820ca7193e17040c98f7da7c4b51',
'media_type': 'artist',
'metadata': dict({
'chapters': None,
'grouping': None,
'images': list([
dict({
- 'path': 'ar-100000002',
+ 'path': 'https://demo.org/image.jpg',
+ 'provider': 'xx-instance-id-xx',
+ 'remotely_accessible': True,
+ 'type': 'thumb',
+ }),
+ dict({
+ 'path': 'ar-37ec820ca7193e17040c98f7da7c4b51_0',
'provider': 'xx-instance-id-xx',
'remotely_accessible': False,
'type': 'thumb',
'review': None,
'style': None,
}),
- 'name': 'Synthetic',
+ 'name': '2 Mello',
'position': None,
'provider': 'opensubsonic',
'provider_mappings': list([
'details': None,
'in_library': None,
'is_unique': None,
- 'item_id': '100000002',
+ 'item_id': '37ec820ca7193e17040c98f7da7c4b51',
'provider_domain': 'opensubsonic',
'provider_instance': 'xx-instance-id-xx',
'url': None,
}),
]),
- 'sort_name': 'synthetic',
+ 'sort_name': 'Mello (2)',
'translation_key': None,
- 'uri': 'opensubsonic://artist/100000002',
+ 'uri': 'opensubsonic://artist/37ec820ca7193e17040c98f7da7c4b51',
'version': '',
})
# ---
-# name: test_parse_episode[gonic-sample.episode]
+# name: test_parse_artists[spec-sample.artist]
dict({
'date_added': None,
- 'duration': 1878,
'external_ids': list([
]),
- 'favorite': False,
- 'fully_played': None,
+ 'favorite': True,
'is_playable': True,
- 'item_id': 'pd-5$!$pe-1860',
- 'media_type': 'podcast_episode',
+ 'item_id': '100000002',
+ 'media_type': 'artist',
'metadata': dict({
'chapters': None,
'copyright': None,
- 'description': 'The history of The History of Rome...Why the Western Empire Fell when it did...Some thoughts on the future...Thank you, goodnight.',
+ 'description': None,
'explicit': None,
'genres': None,
'grouping': None,
'images': list([
dict({
- 'path': 'pd-5',
+ 'path': 'ar-100000002',
'provider': 'xx-instance-id-xx',
'remotely_accessible': False,
'type': 'thumb',
'performers': None,
'popularity': None,
'preview': None,
- 'release_date': '2012-05-06T18:18:38+00:00',
+ 'release_date': None,
'review': None,
'style': None,
}),
- 'name': '179- The End',
- 'podcast': dict({
- 'date_added': None,
- 'external_ids': list([
- ]),
- 'favorite': False,
- 'is_playable': True,
- 'item_id': 'pd-5',
- 'media_type': 'podcast',
- 'metadata': dict({
+ 'name': 'Synthetic',
+ 'position': None,
+ 'provider': 'opensubsonic',
+ 'provider_mappings': list([
+ dict({
+ 'audio_format': dict({
+ 'bit_depth': 16,
+ 'bit_rate': 0,
+ 'channels': 2,
+ 'codec_type': '?',
+ 'content_type': '?',
+ 'output_format_str': '?',
+ 'sample_rate': 44100,
+ }),
+ 'available': True,
+ 'details': None,
+ 'in_library': None,
+ 'is_unique': None,
+ 'item_id': '100000002',
+ 'provider_domain': 'opensubsonic',
+ 'provider_instance': 'xx-instance-id-xx',
+ 'url': None,
+ }),
+ ]),
+ 'sort_name': 'synthetic',
+ 'translation_key': None,
+ 'uri': 'opensubsonic://artist/100000002',
+ 'version': '',
+ })
+# ---
+# name: test_parse_artists[spec-sample.artist].1
+ dict({
+ 'date_added': None,
+ 'external_ids': list([
+ ]),
+ 'favorite': True,
+ 'is_playable': True,
+ 'item_id': '100000002',
+ 'media_type': 'artist',
+ 'metadata': dict({
+ 'chapters': None,
+ 'copyright': None,
+ 'description': 'Empty biography',
+ 'explicit': None,
+ 'genres': None,
+ 'grouping': None,
+ 'images': list([
+ dict({
+ 'path': 'ar-100000002',
+ 'provider': 'xx-instance-id-xx',
+ 'remotely_accessible': False,
+ 'type': 'thumb',
+ }),
+ dict({
+ 'path': 'http://localhost:8989/play/art/f20070e8e11611cc53542a38801d60fa/artist/2/thumb34.jpg',
+ 'provider': 'xx-instance-id-xx',
+ 'remotely_accessible': True,
+ 'type': 'thumb',
+ }),
+ ]),
+ 'label': None,
+ 'languages': None,
+ 'last_refresh': None,
+ 'links': None,
+ 'lrc_lyrics': None,
+ 'lyrics': None,
+ 'mood': None,
+ 'performers': None,
+ 'popularity': None,
+ 'preview': None,
+ 'release_date': None,
+ 'review': None,
+ 'style': None,
+ }),
+ 'name': 'Synthetic',
+ 'position': None,
+ 'provider': 'opensubsonic',
+ 'provider_mappings': list([
+ dict({
+ 'audio_format': dict({
+ 'bit_depth': 16,
+ 'bit_rate': 0,
+ 'channels': 2,
+ 'codec_type': '?',
+ 'content_type': '?',
+ 'output_format_str': '?',
+ 'sample_rate': 44100,
+ }),
+ 'available': True,
+ 'details': None,
+ 'in_library': None,
+ 'is_unique': None,
+ 'item_id': '100000002',
+ 'provider_domain': 'opensubsonic',
+ 'provider_instance': 'xx-instance-id-xx',
+ 'url': None,
+ }),
+ ]),
+ 'sort_name': 'synthetic',
+ 'translation_key': None,
+ 'uri': 'opensubsonic://artist/100000002',
+ 'version': '',
+ })
+# ---
+# name: test_parse_episode[gonic-sample.episode]
+ dict({
+ 'date_added': None,
+ 'duration': 1878,
+ 'external_ids': list([
+ ]),
+ 'favorite': False,
+ 'fully_played': None,
+ 'is_playable': True,
+ 'item_id': 'pd-5$!$pe-1860',
+ 'media_type': 'podcast_episode',
+ 'metadata': dict({
+ 'chapters': None,
+ 'copyright': None,
+ 'description': 'The history of The History of Rome...Why the Western Empire Fell when it did...Some thoughts on the future...Thank you, goodnight.',
+ 'explicit': None,
+ 'genres': None,
+ 'grouping': None,
+ 'images': list([
+ dict({
+ 'path': 'pd-5',
+ 'provider': 'xx-instance-id-xx',
+ 'remotely_accessible': False,
+ 'type': 'thumb',
+ }),
+ ]),
+ 'label': None,
+ 'languages': None,
+ 'last_refresh': None,
+ 'links': None,
+ 'lrc_lyrics': None,
+ 'lyrics': None,
+ 'mood': None,
+ 'performers': None,
+ 'popularity': None,
+ 'preview': None,
+ 'release_date': '2012-05-06T18:18:38+00:00',
+ 'review': None,
+ 'style': None,
+ }),
+ 'name': '179- The End',
+ 'podcast': dict({
+ 'date_added': None,
+ 'external_ids': list([
+ ]),
+ 'favorite': False,
+ 'is_playable': True,
+ 'item_id': 'pd-5',
+ 'media_type': 'podcast',
+ 'metadata': dict({
'chapters': None,
'copyright': None,
'description': 'A weekly podcast tracing the rise, decline and fall of the Roman Empire. Now complete!',
'version': '',
})
# ---
+# name: test_parse_track[no-version.track]
+ dict({
+ 'album': dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'e8a0685e3f3ec6f251649af2b58b8617',
+ 'media_type': 'album',
+ 'name': 'Live at The Casbah - 2005-04-29',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'live at the casbah - 2005-04-29',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://album/e8a0685e3f3ec6f251649af2b58b8617',
+ 'version': '',
+ 'year': None,
+ }),
+ 'artists': list([
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': '97e0398acf63f9fb930d7d4ce209a52b',
+ 'media_type': 'artist',
+ 'name': 'The New Deal',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'new deal, the',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/97e0398acf63f9fb930d7d4ce209a52b',
+ 'version': '',
+ 'year': None,
+ }),
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'ar-1',
+ 'media_type': 'artist',
+ 'name': 'Artist 1',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'artist 1',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/ar-1',
+ 'version': '',
+ 'year': None,
+ }),
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'ar-2',
+ 'media_type': 'artist',
+ 'name': 'Artist 2',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'artist 2',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/ar-2',
+ 'version': '',
+ 'year': None,
+ }),
+ ]),
+ 'date_added': None,
+ 'disc_number': 1,
+ 'duration': 178,
+ 'external_ids': list([
+ list([
+ 'musicbrainz_recordingid',
+ '189002e7-3285-4e2e-92a3-7f6c30d407a2',
+ ]),
+ ]),
+ 'favorite': True,
+ 'is_playable': True,
+ 'item_id': '082f435a363c32c57d5edb6a678a28d4',
+ 'last_played': 0,
+ 'media_type': 'track',
+ 'metadata': dict({
+ 'chapters': None,
+ 'copyright': None,
+ 'description': None,
+ 'explicit': True,
+ 'genres': list([
+ 'East coast',
+ 'Hip-Hop',
+ ]),
+ 'grouping': None,
+ 'images': None,
+ 'label': None,
+ 'languages': None,
+ 'last_refresh': None,
+ 'links': None,
+ 'lrc_lyrics': None,
+ 'lyrics': None,
+ 'mood': 'slow',
+ 'performers': list([
+ 'Artist 3',
+ 'Artist 4',
+ 'Artist 5',
+ ]),
+ 'popularity': None,
+ 'preview': None,
+ 'release_date': None,
+ 'review': None,
+ 'style': None,
+ }),
+ 'name': '"polar expedition"',
+ 'position': None,
+ 'provider': 'xx-instance-id-xx',
+ 'provider_mappings': list([
+ dict({
+ 'audio_format': dict({
+ 'bit_depth': 16,
+ 'bit_rate': 880,
+ 'channels': 2,
+ 'codec_type': '?',
+ 'content_type': 'flac',
+ 'output_format_str': 'flac',
+ 'sample_rate': 44100,
+ }),
+ 'available': True,
+ 'details': None,
+ 'in_library': None,
+ 'is_unique': None,
+ 'item_id': '082f435a363c32c57d5edb6a678a28d4',
+ 'provider_domain': 'opensubsonic',
+ 'provider_instance': 'xx-instance-id-xx',
+ 'url': None,
+ }),
+ ]),
+ 'sort_name': 'Polar expedition',
+ 'track_number': 4,
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://track/082f435a363c32c57d5edb6a678a28d4',
+ 'version': '',
+ })
+# ---
+# name: test_parse_track[no-version.track].1
+ dict({
+ 'album': dict({
+ 'artist': 'pornophonique',
+ 'artistId': '97e0398acf63f9fb930d7d4ce209a52b',
+ 'artists': list([
+ dict({
+ 'id': 'ar-1',
+ 'name': 'Artist 1',
+ }),
+ dict({
+ 'id': 'ar-2',
+ 'name': 'Artist 2',
+ }),
+ ]),
+ 'coverArt': 'al-ad0f112b6dcf83de5e9cae85d07f0d35_640a93a8',
+ 'created': '2023-03-10T02:19:35.784818075Z',
+ 'discTitles': list([
+ dict({
+ 'disc': 0,
+ 'title': 'Disc 0 title',
+ }),
+ dict({
+ 'disc': 2,
+ 'title': 'Disc 1 title',
+ }),
+ ]),
+ 'displayArtist': 'Artist 1 feat. Artist 2',
+ 'duration': 1954,
+ 'explicitStatus': 'explicit',
+ 'genre': 'Hip-Hop',
+ 'genres': list([
+ dict({
+ 'name': 'Hip-Hop',
+ }),
+ dict({
+ 'name': 'East coast',
+ }),
+ ]),
+ 'id': 'e8a0685e3f3ec6f251649af2b58b8617',
+ 'isCompilation': False,
+ 'moods': list([
+ 'slow',
+ 'cool',
+ ]),
+ 'musicBrainzId': '189002e7-3285-4e2e-92a3-7f6c30d407a2',
+ 'name': 'Live at The Casbah - 2005-04-29',
+ 'originalReleaseDate': dict({
+ 'day': 10,
+ 'month': 3,
+ 'year': 2001,
+ }),
+ 'playCount': 97,
+ 'played': '2023-03-28T00:45:13Z',
+ 'releaseDate': dict({
+ 'day': 10,
+ 'month': 3,
+ 'year': 2001,
+ }),
+ 'releaseTypes': list([
+ 'Album',
+ 'Remixes',
+ ]),
+ 'songCount': 8,
+ 'sortName': 'lagerfeuer (8-bit)',
+ 'starred': '2023-03-22T01:51:06Z',
+ 'userRating': 4,
+ 'year': 2007,
+ }),
+ 'artists': list([
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': '97e0398acf63f9fb930d7d4ce209a52b',
+ 'media_type': 'artist',
+ 'name': 'The New Deal',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'new deal, the',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/97e0398acf63f9fb930d7d4ce209a52b',
+ 'version': '',
+ 'year': None,
+ }),
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'ar-1',
+ 'media_type': 'artist',
+ 'name': 'Artist 1',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'artist 1',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/ar-1',
+ 'version': '',
+ 'year': None,
+ }),
+ dict({
+ 'available': True,
+ 'external_ids': list([
+ ]),
+ 'image': None,
+ 'is_playable': True,
+ 'item_id': 'ar-2',
+ 'media_type': 'artist',
+ 'name': 'Artist 2',
+ 'provider': 'xx-instance-id-xx',
+ 'sort_name': 'artist 2',
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://artist/ar-2',
+ 'version': '',
+ 'year': None,
+ }),
+ ]),
+ 'date_added': None,
+ 'disc_number': 1,
+ 'duration': 178,
+ 'external_ids': list([
+ list([
+ 'musicbrainz_recordingid',
+ '189002e7-3285-4e2e-92a3-7f6c30d407a2',
+ ]),
+ ]),
+ 'favorite': True,
+ 'is_playable': True,
+ 'item_id': '082f435a363c32c57d5edb6a678a28d4',
+ 'last_played': 0,
+ 'media_type': 'track',
+ 'metadata': dict({
+ 'chapters': None,
+ 'copyright': None,
+ 'description': None,
+ 'explicit': True,
+ 'genres': list([
+ 'East coast',
+ 'Hip-Hop',
+ ]),
+ 'grouping': None,
+ 'images': None,
+ 'label': None,
+ 'languages': None,
+ 'last_refresh': None,
+ 'links': None,
+ 'lrc_lyrics': None,
+ 'lyrics': None,
+ 'mood': 'slow',
+ 'performers': list([
+ 'Artist 3',
+ 'Artist 4',
+ 'Artist 5',
+ ]),
+ 'popularity': None,
+ 'preview': None,
+ 'release_date': None,
+ 'review': None,
+ 'style': None,
+ }),
+ 'name': '"polar expedition"',
+ 'position': None,
+ 'provider': 'xx-instance-id-xx',
+ 'provider_mappings': list([
+ dict({
+ 'audio_format': dict({
+ 'bit_depth': 16,
+ 'bit_rate': 880,
+ 'channels': 2,
+ 'codec_type': '?',
+ 'content_type': 'flac',
+ 'output_format_str': 'flac',
+ 'sample_rate': 44100,
+ }),
+ 'available': True,
+ 'details': None,
+ 'in_library': None,
+ 'is_unique': None,
+ 'item_id': '082f435a363c32c57d5edb6a678a28d4',
+ 'provider_domain': 'opensubsonic',
+ 'provider_instance': 'xx-instance-id-xx',
+ 'url': None,
+ }),
+ ]),
+ 'sort_name': 'Polar expedition',
+ 'track_number': 4,
+ 'translation_key': None,
+ 'uri': 'xx-instance-id-xx://track/082f435a363c32c57d5edb6a678a28d4',
+ 'version': '',
+ })
+# ---
# name: test_parse_track[spec-child.track]
dict({
'album': dict({