chore: initial baseline before refactoring
Initial snapshot of Home Assistant config (HAOS 2026.4.4)
prior to dashboard restructuring and helper YAML migration.
Pre-commit cleanup applied:
- Removed blueprints/switch_manager/ (9.4 MB stale, component already gone)
- Removed .storage/switch_manager
- Removed home-assistant.log.{1,old,fault}
- Removed zigbee2mqtt/configuration_backup_v{1..4}.yaml
- Removed zigbee2mqtt/database.db.tmp.2024-09-27 (1.5y old)
- Created empty themes/ to satisfy configuration.yaml include
.gitignore uses allowlist strategy for .storage/ to keep
all tokens, keys, and PINs out of version control.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import importlib
|
||||
import os
|
||||
import pkgutil
|
||||
from typing import Any
|
||||
|
||||
|
||||
def _import_modules(file_dir: str, package: str) -> None:
|
||||
pkg_dir = os.path.dirname(file_dir)
|
||||
for _, name, ispkg in pkgutil.iter_modules([pkg_dir]):
|
||||
if ispkg:
|
||||
_import_modules(pkg_dir + "/" + name + "/__init__.py", package + "." + name)
|
||||
else:
|
||||
importlib.import_module("." + name, package)
|
||||
|
||||
|
||||
def _all_subclasses(cls: type[Any]) -> list[type[Any]]:
|
||||
return list(
|
||||
set(type.__subclasses__(cls)).union(
|
||||
[s for c in type.__subclasses__(cls) for s in _all_subclasses(c)]
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def get_classes(file_: str, package_: str, class_: type[Any]) -> list[type[Any]]:
|
||||
_import_modules(file_, package_)
|
||||
subclasses = _all_subclasses(class_)
|
||||
subclasses = [cls_ for cls_ in subclasses if f"{package_}." in cls_.__module__]
|
||||
return subclasses
|
||||
|
||||
|
||||
def get_instances(file_: str, package_: str, class_: type[Any]) -> list[Any]:
|
||||
classes = get_classes(file_, package_, class_)
|
||||
return [cls_() for cls_ in classes]
|
||||
Reference in New Issue
Block a user