Skip to content
Snippets Groups Projects
Unverified Commit c69cec28 authored by Maciej Bieniek's avatar Maciej Bieniek Committed by GitHub
Browse files

Bump `gios` to version 6.0.0 (#139832)

* Fix the code

* Fix tests

* Bump version

* Use https for configuration URL
parent 61e0b938
No related branches found
No related tags found
No related merge requests found
...@@ -4,9 +4,14 @@ from __future__ import annotations ...@@ -4,9 +4,14 @@ from __future__ import annotations
import logging import logging
from aiohttp.client_exceptions import ClientConnectorError
from gios import Gios
from gios.exceptions import GiosError
from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM
from homeassistant.const import Platform from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import device_registry as dr, entity_registry as er
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
...@@ -36,8 +41,12 @@ async def async_setup_entry(hass: HomeAssistant, entry: GiosConfigEntry) -> bool ...@@ -36,8 +41,12 @@ async def async_setup_entry(hass: HomeAssistant, entry: GiosConfigEntry) -> bool
device_registry.async_update_device(device_entry.id, new_identifiers={new_ids}) device_registry.async_update_device(device_entry.id, new_identifiers={new_ids})
websession = async_get_clientsession(hass) websession = async_get_clientsession(hass)
try:
gios = await Gios.create(websession, station_id)
except (GiosError, ConnectionError, ClientConnectorError) as err:
raise ConfigEntryNotReady from err
coordinator = GiosDataUpdateCoordinator(hass, entry, websession, station_id) coordinator = GiosDataUpdateCoordinator(hass, entry, gios)
await coordinator.async_config_entry_first_refresh() await coordinator.async_config_entry_first_refresh()
entry.runtime_data = GiosData(coordinator) entry.runtime_data = GiosData(coordinator)
......
...@@ -37,7 +37,7 @@ class GiosFlowHandler(ConfigFlow, domain=DOMAIN): ...@@ -37,7 +37,7 @@ class GiosFlowHandler(ConfigFlow, domain=DOMAIN):
websession = async_get_clientsession(self.hass) websession = async_get_clientsession(self.hass)
async with asyncio.timeout(API_TIMEOUT): async with asyncio.timeout(API_TIMEOUT):
gios = Gios(user_input[CONF_STATION_ID], websession) gios = await Gios.create(websession, user_input[CONF_STATION_ID])
await gios.async_update() await gios.async_update()
assert gios.station_name is not None assert gios.station_name is not None
......
...@@ -13,7 +13,7 @@ SCAN_INTERVAL: Final = timedelta(minutes=30) ...@@ -13,7 +13,7 @@ SCAN_INTERVAL: Final = timedelta(minutes=30)
DOMAIN: Final = "gios" DOMAIN: Final = "gios"
MANUFACTURER: Final = "Główny Inspektorat Ochrony Środowiska" MANUFACTURER: Final = "Główny Inspektorat Ochrony Środowiska"
URL = "http://powietrze.gios.gov.pl/pjp/current/station_details/info/{station_id}" URL = "https://powietrze.gios.gov.pl/pjp/current/station_details/info/{station_id}"
API_TIMEOUT: Final = 30 API_TIMEOUT: Final = 30
......
...@@ -6,7 +6,6 @@ import asyncio ...@@ -6,7 +6,6 @@ import asyncio
from dataclasses import dataclass from dataclasses import dataclass
import logging import logging
from aiohttp import ClientSession
from aiohttp.client_exceptions import ClientConnectorError from aiohttp.client_exceptions import ClientConnectorError
from gios import Gios from gios import Gios
from gios.exceptions import GiosError from gios.exceptions import GiosError
...@@ -39,11 +38,10 @@ class GiosDataUpdateCoordinator(DataUpdateCoordinator[GiosSensors]): ...@@ -39,11 +38,10 @@ class GiosDataUpdateCoordinator(DataUpdateCoordinator[GiosSensors]):
self, self,
hass: HomeAssistant, hass: HomeAssistant,
config_entry: GiosConfigEntry, config_entry: GiosConfigEntry,
session: ClientSession, gios: Gios,
station_id: int,
) -> None: ) -> None:
"""Class to manage fetching GIOS data API.""" """Class to manage fetching GIOS data API."""
self.gios = Gios(station_id, session) self.gios = gios
super().__init__( super().__init__(
hass, hass,
......
...@@ -7,5 +7,5 @@ ...@@ -7,5 +7,5 @@
"integration_type": "service", "integration_type": "service",
"iot_class": "cloud_polling", "iot_class": "cloud_polling",
"loggers": ["dacite", "gios"], "loggers": ["dacite", "gios"],
"requirements": ["gios==5.0.0"] "requirements": ["gios==6.0.0"]
} }
...@@ -1008,7 +1008,7 @@ georss-qld-bushfire-alert-client==0.8 ...@@ -1008,7 +1008,7 @@ georss-qld-bushfire-alert-client==0.8
getmac==0.9.5 getmac==0.9.5
# homeassistant.components.gios # homeassistant.components.gios
gios==5.0.0 gios==6.0.0
# homeassistant.components.gitter # homeassistant.components.gitter
gitterpy==0.1.7 gitterpy==0.1.7
......
...@@ -861,7 +861,7 @@ georss-qld-bushfire-alert-client==0.8 ...@@ -861,7 +861,7 @@ georss-qld-bushfire-alert-client==0.8
getmac==0.9.5 getmac==0.9.5
# homeassistant.components.gios # homeassistant.components.gios
gios==5.0.0 gios==6.0.0
# homeassistant.components.glances # homeassistant.components.glances
glances-api==0.8.0 glances-api==0.8.0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment