31 lines
794 B
Python
31 lines
794 B
Python
"""Assembles the full signature catalog from the category data modules."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from . import (
|
|
air,
|
|
cars,
|
|
garden,
|
|
heating,
|
|
home_it,
|
|
kitchen,
|
|
locks,
|
|
personal,
|
|
pets,
|
|
printers,
|
|
transports,
|
|
vacuums,
|
|
wallboxes,
|
|
xiaomi,
|
|
)
|
|
from ._model import IntegrationSignature
|
|
|
|
_MODULES = (air, cars, garden, heating, home_it, kitchen, locks, personal, pets, printers, transports, vacuums, wallboxes, xiaomi)
|
|
|
|
SIGNATURES: dict[str, IntegrationSignature] = {}
|
|
for _mod in _MODULES:
|
|
for _domain, _sig in _mod.SIGNATURES.items():
|
|
if _domain in SIGNATURES: # pragma: no cover — tripwired
|
|
raise ValueError(f"duplicate signature domain {_domain!r} in {_mod.__name__}")
|
|
SIGNATURES[_domain] = _sig
|