1
mirror of https://github.com/home-assistant/core synced 2024-09-15 17:29:45 +02:00

Move imports in apple_tv component (#27356)

* Move imports in apple_tv component

* Fix pylint
This commit is contained in:
Quentame 2019-10-10 20:39:09 +02:00 committed by Paulus Schoutsen
parent 77490a3246
commit 7e91677362
2 changed files with 22 additions and 23 deletions

View File

@ -3,13 +3,15 @@ import asyncio
import logging
from typing import Sequence, TypeVar, Union
from pyatv import AppleTVDevice, connect_to_apple_tv, scan_for_apple_tvs
from pyatv.exceptions import DeviceAuthenticationError
import voluptuous as vol
import homeassistant.helpers.config_validation as cv
from homeassistant.components.discovery import SERVICE_APPLE_TV
from homeassistant.const import ATTR_ENTITY_ID, CONF_HOST, CONF_NAME
from homeassistant.helpers import discovery
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
_LOGGER = logging.getLogger(__name__)
@ -80,7 +82,6 @@ def request_configuration(hass, config, atv, credentials):
async def configuration_callback(callback_data):
"""Handle the submitted configuration."""
from pyatv import exceptions
pin = callback_data.get("pin")
@ -93,7 +94,7 @@ def request_configuration(hass, config, atv, credentials):
title=NOTIFICATION_AUTH_TITLE,
notification_id=NOTIFICATION_AUTH_ID,
)
except exceptions.DeviceAuthenticationError as ex:
except DeviceAuthenticationError as ex:
hass.components.persistent_notification.async_create(
"Authentication failed! Did you enter correct PIN?<br /><br />"
"Details: {0}".format(ex),
@ -112,11 +113,10 @@ def request_configuration(hass, config, atv, credentials):
)
async def scan_for_apple_tvs(hass):
async def scan_apple_tvs(hass):
"""Scan for devices and present a notification of the ones found."""
import pyatv
atvs = await pyatv.scan_for_apple_tvs(hass.loop, timeout=3)
atvs = await scan_for_apple_tvs(hass.loop, timeout=3)
devices = []
for atv in atvs:
@ -149,7 +149,7 @@ async def async_setup(hass, config):
entity_ids = service.data.get(ATTR_ENTITY_ID)
if service.service == SERVICE_SCAN:
hass.async_add_job(scan_for_apple_tvs, hass)
hass.async_add_job(scan_apple_tvs, hass)
return
if entity_ids:
@ -207,7 +207,6 @@ async def async_setup(hass, config):
async def _setup_atv(hass, hass_config, atv_config):
"""Set up an Apple TV."""
import pyatv
name = atv_config.get(CONF_NAME)
host = atv_config.get(CONF_HOST)
@ -218,9 +217,9 @@ async def _setup_atv(hass, hass_config, atv_config):
if host in hass.data[DATA_APPLE_TV]:
return
details = pyatv.AppleTVDevice(name, host, login_id)
details = AppleTVDevice(name, host, login_id)
session = async_get_clientsession(hass)
atv = pyatv.connect_to_apple_tv(details, hass.loop, session=session)
atv = connect_to_apple_tv(details, hass.loop, session=session)
if credentials:
await atv.airplay.load_credentials(credentials)

View File

@ -1,6 +1,8 @@
"""Support for Apple TV media player."""
import logging
import pyatv.const as atv_const
from homeassistant.components.media_player import MediaPlayerDevice
from homeassistant.components.media_player.const import (
MEDIA_TYPE_MUSIC,
@ -112,22 +114,21 @@ class AppleTvDevice(MediaPlayerDevice):
return STATE_OFF
if self._playing:
from pyatv import const
state = self._playing.play_state
if state in (
const.PLAY_STATE_IDLE,
const.PLAY_STATE_NO_MEDIA,
const.PLAY_STATE_LOADING,
atv_const.PLAY_STATE_IDLE,
atv_const.PLAY_STATE_NO_MEDIA,
atv_const.PLAY_STATE_LOADING,
):
return STATE_IDLE
if state == const.PLAY_STATE_PLAYING:
if state == atv_const.PLAY_STATE_PLAYING:
return STATE_PLAYING
if state in (
const.PLAY_STATE_PAUSED,
const.PLAY_STATE_FAST_FORWARD,
const.PLAY_STATE_FAST_BACKWARD,
const.PLAY_STATE_STOPPED,
atv_const.PLAY_STATE_PAUSED,
atv_const.PLAY_STATE_FAST_FORWARD,
atv_const.PLAY_STATE_FAST_BACKWARD,
atv_const.PLAY_STATE_STOPPED,
):
# Catch fast forward/backward here so "play" is default action
return STATE_PAUSED
@ -156,14 +157,13 @@ class AppleTvDevice(MediaPlayerDevice):
def media_content_type(self):
"""Content type of current playing media."""
if self._playing:
from pyatv import const
media_type = self._playing.media_type
if media_type == const.MEDIA_TYPE_VIDEO:
if media_type == atv_const.MEDIA_TYPE_VIDEO:
return MEDIA_TYPE_VIDEO
if media_type == const.MEDIA_TYPE_MUSIC:
if media_type == atv_const.MEDIA_TYPE_MUSIC:
return MEDIA_TYPE_MUSIC
if media_type == const.MEDIA_TYPE_TV:
if media_type == atv_const.MEDIA_TYPE_TV:
return MEDIA_TYPE_TVSHOW
@property