Improve entity type hints [p] (#77871)
This commit is contained in:
parent
6f564e4f51
commit
474844744b
22 changed files with 130 additions and 107 deletions
|
@ -4,7 +4,7 @@ from __future__ import annotations
|
|||
from collections.abc import Callable
|
||||
from functools import wraps
|
||||
import logging
|
||||
from typing import TypeVar
|
||||
from typing import Any, TypeVar
|
||||
|
||||
import plexapi.exceptions
|
||||
import requests.exceptions
|
||||
|
@ -15,6 +15,7 @@ from homeassistant.components.media_player import (
|
|||
MediaPlayerEntity,
|
||||
MediaPlayerEntityFeature,
|
||||
)
|
||||
from homeassistant.components.media_player.browse_media import BrowseMedia
|
||||
from homeassistant.components.media_player.const import MEDIA_TYPE_MUSIC
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import STATE_IDLE, STATE_PAUSED, STATE_PLAYING
|
||||
|
@ -147,7 +148,7 @@ class PlexMediaPlayer(MediaPlayerEntity):
|
|||
# Initializes other attributes
|
||||
self.session = session
|
||||
|
||||
async def async_added_to_hass(self):
|
||||
async def async_added_to_hass(self) -> None:
|
||||
"""Run when about to be added to hass."""
|
||||
_LOGGER.debug("Added %s [%s]", self.entity_id, self.unique_id)
|
||||
self.async_on_remove(
|
||||
|
@ -408,7 +409,7 @@ class PlexMediaPlayer(MediaPlayerEntity):
|
|||
MediaPlayerEntityFeature.BROWSE_MEDIA | MediaPlayerEntityFeature.PLAY_MEDIA
|
||||
)
|
||||
|
||||
def set_volume_level(self, volume):
|
||||
def set_volume_level(self, volume: float) -> None:
|
||||
"""Set volume level, range 0..1."""
|
||||
if self.device and "playback" in self._device_protocol_capabilities:
|
||||
self.device.setVolume(int(volume * 100), self._active_media_plexapi_type)
|
||||
|
@ -432,7 +433,7 @@ class PlexMediaPlayer(MediaPlayerEntity):
|
|||
return self._volume_muted
|
||||
return None
|
||||
|
||||
def mute_volume(self, mute):
|
||||
def mute_volume(self, mute: bool) -> None:
|
||||
"""Mute the volume.
|
||||
|
||||
Since we can't actually mute, we'll:
|
||||
|
@ -449,37 +450,37 @@ class PlexMediaPlayer(MediaPlayerEntity):
|
|||
else:
|
||||
self.set_volume_level(self._previous_volume_level)
|
||||
|
||||
def media_play(self):
|
||||
def media_play(self) -> None:
|
||||
"""Send play command."""
|
||||
if self.device and "playback" in self._device_protocol_capabilities:
|
||||
self.device.play(self._active_media_plexapi_type)
|
||||
|
||||
def media_pause(self):
|
||||
def media_pause(self) -> None:
|
||||
"""Send pause command."""
|
||||
if self.device and "playback" in self._device_protocol_capabilities:
|
||||
self.device.pause(self._active_media_plexapi_type)
|
||||
|
||||
def media_stop(self):
|
||||
def media_stop(self) -> None:
|
||||
"""Send stop command."""
|
||||
if self.device and "playback" in self._device_protocol_capabilities:
|
||||
self.device.stop(self._active_media_plexapi_type)
|
||||
|
||||
def media_seek(self, position):
|
||||
def media_seek(self, position: float) -> None:
|
||||
"""Send the seek command."""
|
||||
if self.device and "playback" in self._device_protocol_capabilities:
|
||||
self.device.seekTo(position * 1000, self._active_media_plexapi_type)
|
||||
|
||||
def media_next_track(self):
|
||||
def media_next_track(self) -> None:
|
||||
"""Send next track command."""
|
||||
if self.device and "playback" in self._device_protocol_capabilities:
|
||||
self.device.skipNext(self._active_media_plexapi_type)
|
||||
|
||||
def media_previous_track(self):
|
||||
def media_previous_track(self) -> None:
|
||||
"""Send previous track command."""
|
||||
if self.device and "playback" in self._device_protocol_capabilities:
|
||||
self.device.skipPrevious(self._active_media_plexapi_type)
|
||||
|
||||
def play_media(self, media_type, media_id, **kwargs):
|
||||
def play_media(self, media_type: str, media_id: str, **kwargs: Any) -> None:
|
||||
"""Play a piece of media."""
|
||||
if not (self.device and "playback" in self._device_protocol_capabilities):
|
||||
raise HomeAssistantError(
|
||||
|
@ -538,7 +539,9 @@ class PlexMediaPlayer(MediaPlayerEntity):
|
|||
via_device=(PLEX_DOMAIN, self.plex_server.machine_identifier),
|
||||
)
|
||||
|
||||
async def async_browse_media(self, media_content_type=None, media_content_id=None):
|
||||
async def async_browse_media(
|
||||
self, media_content_type: str | None = None, media_content_id: str | None = None
|
||||
) -> BrowseMedia:
|
||||
"""Implement the websocket media browsing helper."""
|
||||
is_internal = is_internal_request(self.hass)
|
||||
return await self.hass.async_add_executor_job(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue