"""Helper for Netatmo integration."""
from __future__ import annotations

from dataclasses import dataclass
from uuid import UUID, uuid4

import pyatmo


@dataclass
class NetatmoArea:
    """Class for keeping track of an area."""

    area_name: str
    lat_ne: float
    lon_ne: float
    lat_sw: float
    lon_sw: float
    mode: str
    show_on_map: bool
    uuid: UUID = uuid4()


def get_all_home_ids(home_data: pyatmo.HomeData | None) -> list[str]:
    """Get all the home ids returned by NetAtmo API."""
    if home_data is None:
        return []
    return [
        home_data.homes[home_id]["id"]
        for home_id in home_data.homes
        if "modules" in home_data.homes[home_id]
    ]


def update_climate_schedules(home_ids: list[str], schedules: dict) -> dict:
    """Get updated list of all climate schedules."""
    return {
        home_id: {
            schedule_id: schedule_data.get("name")
            for schedule_id, schedule_data in schedules[home_id].items()
        }
        for home_id in home_ids
    }

"""Helper for Netatmo integration."""
from __future__ import annotations

from dataclasses import dataclass
from uuid import UUID, uuid4

import pyatmo


@dataclass
class NetatmoArea:
    """Class for keeping track of an area."""

    area_name: str
    lat_ne: float
    lon_ne: float
    lat_sw: float
    lon_sw: float
    mode: str
    show_on_map: bool
    uuid: UUID = uuid4()


def get_all_home_ids(home_data: pyatmo.HomeData | None) -> list[str]:
    """Get all the home ids returned by NetAtmo API."""
    if home_data is None:
        return []
    return [
        home_data.homes[home_id]["id"]
        for home_id in home_data.homes
        if "modules" in home_data.homes[home_id]
    ]


def update_climate_schedules(home_ids: list[str], schedules: dict) -> dict:
    """Get updated list of all climate schedules."""
    return {
        home_id: {
            schedule_id: schedule_data.get("name")
            for schedule_id, schedule_data in schedules[home_id].items()
        }
        for home_id in home_ids
    }

Helper for Netatmo integration. Class for keeping track of an area. Get all the home ids returned by NetAtmo API. Get updated list of all climate schedules.