- Point recurrence purity scan at custom_components.nestquest.core.recurrence (P2.1); the shim only re-exports, so the real model was no longer scanned. - Make test_const/test_config_flow/test_dao_matrix module scans recursive (rglob) so custom_components/nestquest/core/ is covered (P2.2, P2.3); const.py name exclusion retained. - Add test_core_isolation: AST-scan every core module for homeassistant imports, relative imports climbing out of core (level > 1), absolute imports reaching custom_components.nestquest.<not core>, and bare 'import core'/'from core' (P2.4). - Drop the private re-export of _month_end/_nth_weekday_of_month from the recurrence shim; those are test-only, so move the two test imports to custom_components.nestquest.core.recurrence (P2.1/P3.1). - Fix shim docstrings and core/__init__.py to reference custom_components.nestquest.core.* instead of the unimportable 'core.*' paths (P3.2). - Note the migrations logger namespace move to custom_components.nestquest.core.migrations in RELEASE_NOTES.md (P3.3).
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
"""Re-export of :mod:`custom_components.nestquest.core.store` for the integration package.
|
|
|
|
The path resolver lives in
|
|
:mod:`custom_components.nestquest.core.store` (extracted in task
|
|
d0b691d8) and is Home-Assistant-free:
|
|
:func:`custom_components.nestquest.core.store.async_get_db_path`
|
|
takes the full database path. This module re-exports it and provides
|
|
the original ``async_get_db_path(hass)`` signature so the integration
|
|
resolves the path from ``hass.config.path`` exactly as before.
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from homeassistant.core import HomeAssistant
|
|
|
|
from .core.const import SQLITE_DB_FILENAME
|
|
from .core.store import async_get_db_path as _core_async_get_db_path
|
|
from .core.store import _ensure_dir
|
|
|
|
__all__ = ["async_get_db_path", "_ensure_dir"]
|
|
|
|
|
|
async def async_get_db_path(hass: HomeAssistant) -> Path:
|
|
"""Return the absolute path to the NestQuest SQLite database file.
|
|
|
|
Resolves the database file from ``hass.config.path`` and delegates to
|
|
:func:`custom_components.nestquest.core.store.async_get_db_path`,
|
|
which ensures the parent directory exists off the event loop via
|
|
:func:`asyncio.to_thread`.
|
|
"""
|
|
return await _core_async_get_db_path(hass.config.path(SQLITE_DB_FILENAME))
|