1 """Diagnostics support for the GitHub integration."""
3 from __future__
import annotations
7 from aiogithubapi
import GitHubAPI, GitHubException
14 async_get_clientsession,
20 config_entry: ConfigEntry,
22 """Return diagnostics for a config entry."""
23 data = {
"options": {**config_entry.options}}
25 token=config_entry.data[CONF_ACCESS_TOKEN],
27 client_name=SERVER_SOFTWARE,
31 rate_limit_response = await client.rate_limit()
32 except GitHubException
as err:
33 data[
"rate_limit"] = {
"error":
str(err)}
35 data[
"rate_limit"] = rate_limit_response.data.as_dict
37 repositories = config_entry.runtime_data
38 data[
"repositories"] = {}
40 for repository, coordinator
in repositories.items():
41 data[
"repositories"][repository] = coordinator.data
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, ConfigEntry config_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)