1 """The Vulcan component."""
3 from aiohttp
import ClientConnectorError
4 from vulcan
import Account, Keystore, UnauthorizedCertificateException, Vulcan
12 from .const
import DOMAIN
14 PLATFORMS = [Platform.CALENDAR]
18 """Set up Uonet+ Vulcan integration."""
19 hass.data.setdefault(DOMAIN, {})
21 keystore = Keystore.load(entry.data[
"keystore"])
22 account = Account.load(entry.data[
"account"])
24 await client.select_student()
25 students = await client.get_students()
26 for student
in students:
27 if str(student.pupil.id) ==
str(entry.data[
"student_id"]):
28 client.student = student
30 except UnauthorizedCertificateException
as err:
32 except ClientConnectorError
as err:
34 f
"Connection error - please check your internet connection: {err}"
36 hass.data[DOMAIN][entry.entry_id] = client
38 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
44 """Unload a config entry."""
45 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
46 hass.data[DOMAIN].pop(entry.entry_id)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
aiohttp.ClientSession async_get_clientsession(HomeAssistant hass, bool verify_ssl=True, socket.AddressFamily family=socket.AF_UNSPEC, ssl_util.SSLCipherList ssl_cipher=ssl_util.SSLCipherList.PYTHON_DEFAULT)