From e3dc8a1ff2f5b613c2d2c5f7c1d7702deab72105 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Wed, 29 Jul 2020 23:46:14 +0200 Subject: [PATCH] Bump pychromecast to 7.2.0 (#38351) --- homeassistant/components/cast/config_flow.py | 13 +++++++++++-- homeassistant/components/cast/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- tests/components/cast/test_init.py | 12 +++++------- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/homeassistant/components/cast/config_flow.py b/homeassistant/components/cast/config_flow.py index 5c2b6dca932..80d4abc9796 100644 --- a/homeassistant/components/cast/config_flow.py +++ b/homeassistant/components/cast/config_flow.py @@ -1,16 +1,25 @@ """Config flow for Cast.""" -from pychromecast.discovery import discover_chromecasts +import functools + +from pychromecast.discovery import discover_chromecasts, stop_discovery from homeassistant import config_entries from homeassistant.helpers import config_entry_flow from .const import DOMAIN +from .helpers import ChromeCastZeroconf async def _async_has_devices(hass): """Return if there are devices that can be discovered.""" - return await hass.async_add_executor_job(discover_chromecasts) + casts, browser = await hass.async_add_executor_job( + functools.partial( + discover_chromecasts, zeroconf_instance=ChromeCastZeroconf.get_zeroconf() + ) + ) + stop_discovery(browser) + return casts config_entry_flow.register_discovery_flow( diff --git a/homeassistant/components/cast/manifest.json b/homeassistant/components/cast/manifest.json index 5d807525226..1187887e864 100644 --- a/homeassistant/components/cast/manifest.json +++ b/homeassistant/components/cast/manifest.json @@ -3,7 +3,7 @@ "name": "Google Cast", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/cast", - "requirements": ["pychromecast==7.1.2"], + "requirements": ["pychromecast==7.2.0"], "after_dependencies": ["cloud","zeroconf"], "zeroconf": ["_googlecast._tcp.local."], "codeowners": ["@emontnemery"] diff --git a/requirements_all.txt b/requirements_all.txt index d04788d5a52..3f623fd3867 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1253,7 +1253,7 @@ pycfdns==0.0.1 pychannels==1.0.0 # homeassistant.components.cast -pychromecast==7.1.2 +pychromecast==7.2.0 # homeassistant.components.cmus pycmus==0.1.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 5d2a206b058..8eb00a4bc36 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -589,7 +589,7 @@ pyblackbird==0.5 pybotvac==0.0.17 # homeassistant.components.cast -pychromecast==7.1.2 +pychromecast==7.2.0 # homeassistant.components.coolmaster pycoolmasternet==0.0.4 diff --git a/tests/components/cast/test_init.py b/tests/components/cast/test_init.py index 8f194668e56..24be4d53ee6 100644 --- a/tests/components/cast/test_init.py +++ b/tests/components/cast/test_init.py @@ -13,7 +13,9 @@ async def test_creating_entry_sets_up_media_player(hass): "homeassistant.components.cast.media_player.async_setup_entry", return_value=True, ) as mock_setup, patch( - "pychromecast.discovery.discover_chromecasts", return_value=True + "pychromecast.discovery.discover_chromecasts", return_value=(True, None) + ), patch( + "pychromecast.discovery.stop_discovery" ): result = await hass.config_entries.flow.async_init( cast.DOMAIN, context={"source": config_entries.SOURCE_USER} @@ -34,9 +36,7 @@ async def test_configuring_cast_creates_entry(hass): """Test that specifying config will create an entry.""" with patch( "homeassistant.components.cast.async_setup_entry", return_value=True - ) as mock_setup, patch( - "pychromecast.discovery.discover_chromecasts", return_value=True - ): + ) as mock_setup: await async_setup_component( hass, cast.DOMAIN, {"cast": {"some_config": "to_trigger_import"}} ) @@ -49,9 +49,7 @@ async def test_not_configuring_cast_not_creates_entry(hass): """Test that no config will not create an entry.""" with patch( "homeassistant.components.cast.async_setup_entry", return_value=True - ) as mock_setup, patch( - "pychromecast.discovery.discover_chromecasts", return_value=True - ): + ) as mock_setup: await async_setup_component(hass, cast.DOMAIN, {}) await hass.async_block_till_done()