1
mirror of https://github.com/home-assistant/core synced 2024-08-02 23:40:32 +02:00

Some media source things (#64954)

Co-authored-by: Franck Nijhof <git@frenck.dev>
This commit is contained in:
Paulus Schoutsen 2022-01-26 00:49:33 -08:00 committed by GitHub
parent 0a223f2f62
commit 07c239643a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 11 deletions

View File

@ -7,10 +7,9 @@ from typing import Any, cast
from homeassistant.components.media_player import BrowseMedia from homeassistant.components.media_player import BrowseMedia
from homeassistant.components.media_player.const import ( from homeassistant.components.media_player.const import (
MEDIA_CLASS_CHANNEL, MEDIA_CLASS_APP,
MEDIA_CLASS_DIRECTORY, MEDIA_TYPE_APP,
MEDIA_TYPE_CHANNEL, MEDIA_TYPE_APPS,
MEDIA_TYPE_CHANNELS,
) )
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
@ -58,19 +57,20 @@ class MediaSourceItem:
base = BrowseMediaSource( base = BrowseMediaSource(
domain=None, domain=None,
identifier=None, identifier=None,
media_class=MEDIA_CLASS_DIRECTORY, media_class=MEDIA_CLASS_APP,
media_content_type=MEDIA_TYPE_CHANNELS, media_content_type=MEDIA_TYPE_APPS,
title="Media Sources", title="Media Sources",
can_play=False, can_play=False,
can_expand=True, can_expand=True,
children_media_class=MEDIA_CLASS_CHANNEL, children_media_class=MEDIA_CLASS_APP,
) )
base.children = [ base.children = [
BrowseMediaSource( BrowseMediaSource(
domain=source.domain, domain=source.domain,
identifier=None, identifier=None,
media_class=MEDIA_CLASS_CHANNEL, media_class=MEDIA_CLASS_APP,
media_content_type=MEDIA_TYPE_CHANNEL, media_content_type=MEDIA_TYPE_APP,
thumbnail=f"https://brands.home-assistant.io/_/{source.domain}/logo.png",
title=source.name, title=source.name,
can_play=False, can_play=False,
can_expand=True, can_expand=True,

View File

@ -263,7 +263,7 @@ async def root_payload(
media_class=MEDIA_CLASS_DIRECTORY, media_class=MEDIA_CLASS_DIRECTORY,
media_content_id="", media_content_id="",
media_content_type="spotify", media_content_type="spotify",
thumbnail="https://brands.home-assistant.io/spotify/icon.png", thumbnail="https://brands.home-assistant.io/spotify/logo.png",
can_play=False, can_play=False,
can_expand=True, can_expand=True,
) )

View File

@ -64,6 +64,7 @@ async def async_browse_media(
return await async_browse_media_internal( return await async_browse_media_internal(
hass, hass,
info[DATA_SPOTIFY_CLIENT], info[DATA_SPOTIFY_CLIENT],
info[DATA_SPOTIFY_SESSION],
info[DATA_SPOTIFY_ME], info[DATA_SPOTIFY_ME],
media_content_type, media_content_type,
media_content_id, media_content_id,

View File

@ -524,13 +524,19 @@ class SpotifyMediaPlayer(MediaPlayerEntity):
raise NotImplementedError raise NotImplementedError
return await async_browse_media_internal( return await async_browse_media_internal(
self.hass, self._spotify, self._me, media_content_type, media_content_id self.hass,
self._spotify,
self._session,
self._me,
media_content_type,
media_content_id,
) )
async def async_browse_media_internal( async def async_browse_media_internal(
hass, hass,
spotify, spotify,
session,
current_user, current_user,
media_content_type, media_content_type,
media_content_id, media_content_id,
@ -543,6 +549,8 @@ async def async_browse_media_internal(
partial(library_payload, can_play_artist=can_play_artist) partial(library_payload, can_play_artist=can_play_artist)
) )
await session.async_ensure_token_valid()
# Strip prefix # Strip prefix
media_content_type = media_content_type[len(MEDIA_PLAYER_PREFIX) :] media_content_type = media_content_type[len(MEDIA_PLAYER_PREFIX) :]