Clean up spotify media browser dict access (#39764)

This commit is contained in:
Martin Hjelmare 2020-09-07 22:17:10 +02:00 committed by GitHub
parent 72b392e853
commit c3ee79e4db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -425,8 +425,8 @@ class SpotifyMediaPlayer(MediaPlayerEntity):
def build_item_response(spotify, user, payload): def build_item_response(spotify, user, payload):
"""Create response payload for the provided media query.""" """Create response payload for the provided media query."""
media_content_type = payload.get("media_content_type") media_content_type = payload["media_content_type"]
media_content_id = payload.get("media_content_id") media_content_id = payload["media_content_id"]
title = None title = None
image = None image = None
if media_content_type == "current_user_playlists": if media_content_type == "current_user_playlists":
@ -507,7 +507,7 @@ def build_item_response(spotify, user, payload):
children=[ children=[
BrowseMedia( BrowseMedia(
title=item.get("name"), title=item.get("name"),
media_content_id=item.get("id"), media_content_id=item["id"],
media_content_type="category_playlists", media_content_type="category_playlists",
thumbnail=fetch_image_url(item, key="icons"), thumbnail=fetch_image_url(item, key="icons"),
can_play=False, can_play=False,
@ -547,25 +547,24 @@ def item_payload(item):
Used by async_browse_media. Used by async_browse_media.
""" """
if MEDIA_TYPE_TRACK in item: if MEDIA_TYPE_TRACK in item:
item = item.get(MEDIA_TYPE_TRACK) item = item[MEDIA_TYPE_TRACK]
elif MEDIA_TYPE_SHOW in item: elif MEDIA_TYPE_SHOW in item:
item = item.get(MEDIA_TYPE_SHOW) item = item[MEDIA_TYPE_SHOW]
elif MEDIA_TYPE_ARTIST in item: elif MEDIA_TYPE_ARTIST in item:
item = item.get(MEDIA_TYPE_ARTIST) item = item[MEDIA_TYPE_ARTIST]
elif MEDIA_TYPE_ALBUM in item and item.get("type") != MEDIA_TYPE_TRACK: elif MEDIA_TYPE_ALBUM in item and item["type"] != MEDIA_TYPE_TRACK:
item = item.get(MEDIA_TYPE_ALBUM) item = item[MEDIA_TYPE_ALBUM]
can_expand = item.get("type") not in [ can_expand = item["type"] not in [
None,
MEDIA_TYPE_TRACK, MEDIA_TYPE_TRACK,
MEDIA_TYPE_EPISODE, MEDIA_TYPE_EPISODE,
] ]
payload = { payload = {
"title": item.get("name"), "title": item.get("name"),
"media_content_id": item.get("uri"), "media_content_id": item["uri"],
"media_content_type": item.get("type"), "media_content_type": item["type"],
"can_play": item.get("type") in PLAYABLE_MEDIA_TYPES, "can_play": item["type"] in PLAYABLE_MEDIA_TYPES,
"can_expand": can_expand, "can_expand": can_expand,
} }