1
0
mirror of https://github.com/home-assistant/core.git synced 2026-07-10 00:05:13 +01:00
Files
core/homeassistant/components/github/diagnostics.py
T
Joost Lekkerkerker cf0b5c6e51 Migrate GitHub to subentries (#160564)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2026-04-23 14:23:47 +02:00

45 lines
1.2 KiB
Python

"""Diagnostics support for the GitHub integration."""
from __future__ import annotations
from typing import Any
from aiogithubapi import GitHubAPI, GitHubException
from homeassistant.const import CONF_ACCESS_TOKEN
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import (
SERVER_SOFTWARE,
async_get_clientsession,
)
from .coordinator import GithubConfigEntry
async def async_get_config_entry_diagnostics(
hass: HomeAssistant,
config_entry: GithubConfigEntry,
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
data: dict[str, Any] = {}
client = GitHubAPI(
token=config_entry.data[CONF_ACCESS_TOKEN],
session=async_get_clientsession(hass),
client_name=SERVER_SOFTWARE,
)
try:
rate_limit_response = await client.rate_limit()
except GitHubException as err:
data["rate_limit"] = {"error": str(err)}
else:
data["rate_limit"] = rate_limit_response.data.as_dict
repositories = config_entry.runtime_data
data["repositories"] = {}
for coordinator in repositories.values():
data["repositories"][coordinator.data["full_name"]] = coordinator.data
return data