mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Use HassKey in backup (#127546)
* Use HassKey in backup * Use DATA_MANAGER
This commit is contained in:
parent
79de27544c
commit
8bbbaae290
@ -5,7 +5,7 @@ from homeassistant.core import HomeAssistant, ServiceCall
|
||||
from homeassistant.helpers import config_validation as cv
|
||||
from homeassistant.helpers.typing import ConfigType
|
||||
|
||||
from .const import DOMAIN, LOGGER
|
||||
from .const import DATA_MANAGER, DOMAIN, LOGGER
|
||||
from .http import async_register_http_views
|
||||
from .manager import BackupManager
|
||||
from .websocket import async_register_websocket_handlers
|
||||
@ -16,7 +16,7 @@ CONFIG_SCHEMA = cv.empty_config_schema(DOMAIN)
|
||||
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
||||
"""Set up the Backup integration."""
|
||||
backup_manager = BackupManager(hass)
|
||||
hass.data[DOMAIN] = backup_manager
|
||||
hass.data[DATA_MANAGER] = backup_manager
|
||||
|
||||
with_hassio = is_hassio(hass)
|
||||
|
||||
|
@ -1,8 +1,17 @@
|
||||
"""Constants for the Backup integration."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from logging import getLogger
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from homeassistant.util.hass_dict import HassKey
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .manager import BackupManager
|
||||
|
||||
DOMAIN = "backup"
|
||||
DATA_MANAGER: HassKey[BackupManager] = HassKey(DOMAIN)
|
||||
LOGGER = getLogger(__package__)
|
||||
|
||||
EXCLUDE_FROM_BACKUP = [
|
||||
|
@ -7,8 +7,7 @@ import voluptuous as vol
|
||||
from homeassistant.components import websocket_api
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
|
||||
from .const import DOMAIN, LOGGER
|
||||
from .manager import BackupManager
|
||||
from .const import DATA_MANAGER, LOGGER
|
||||
|
||||
|
||||
@callback
|
||||
@ -33,7 +32,7 @@ async def handle_info(
|
||||
msg: dict[str, Any],
|
||||
) -> None:
|
||||
"""List all stored backups."""
|
||||
manager: BackupManager = hass.data[DOMAIN]
|
||||
manager = hass.data[DATA_MANAGER]
|
||||
backups = await manager.get_backups()
|
||||
connection.send_result(
|
||||
msg["id"],
|
||||
@ -58,8 +57,7 @@ async def handle_remove(
|
||||
msg: dict[str, Any],
|
||||
) -> None:
|
||||
"""Remove a backup."""
|
||||
manager: BackupManager = hass.data[DOMAIN]
|
||||
await manager.remove_backup(msg["slug"])
|
||||
await hass.data[DATA_MANAGER].remove_backup(msg["slug"])
|
||||
connection.send_result(msg["id"])
|
||||
|
||||
|
||||
@ -72,8 +70,7 @@ async def handle_create(
|
||||
msg: dict[str, Any],
|
||||
) -> None:
|
||||
"""Generate a backup."""
|
||||
manager: BackupManager = hass.data[DOMAIN]
|
||||
backup = await manager.generate_backup()
|
||||
backup = await hass.data[DATA_MANAGER].generate_backup()
|
||||
connection.send_result(msg["id"], backup)
|
||||
|
||||
|
||||
@ -86,7 +83,7 @@ async def handle_backup_start(
|
||||
msg: dict[str, Any],
|
||||
) -> None:
|
||||
"""Backup start notification."""
|
||||
manager: BackupManager = hass.data[DOMAIN]
|
||||
manager = hass.data[DATA_MANAGER]
|
||||
manager.backing_up = True
|
||||
LOGGER.debug("Backup start notification")
|
||||
|
||||
@ -108,7 +105,7 @@ async def handle_backup_end(
|
||||
msg: dict[str, Any],
|
||||
) -> None:
|
||||
"""Backup end notification."""
|
||||
manager: BackupManager = hass.data[DOMAIN]
|
||||
manager = hass.data[DATA_MANAGER]
|
||||
manager.backing_up = False
|
||||
LOGGER.debug("Backup end notification")
|
||||
|
||||
|
@ -23,7 +23,7 @@ async def test_downloading_backup(
|
||||
|
||||
with (
|
||||
patch(
|
||||
"homeassistant.components.backup.http.BackupManager.get_backup",
|
||||
"homeassistant.components.backup.manager.BackupManager.get_backup",
|
||||
return_value=TEST_BACKUP,
|
||||
),
|
||||
patch("pathlib.Path.exists", return_value=True),
|
||||
|
@ -33,7 +33,7 @@ async def test_create_service(
|
||||
await setup_backup_integration(hass)
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.backup.websocket.BackupManager.generate_backup",
|
||||
"homeassistant.components.backup.manager.BackupManager.generate_backup",
|
||||
) as generate_backup:
|
||||
await hass.services.async_call(
|
||||
DOMAIN,
|
||||
|
@ -45,7 +45,7 @@ async def test_info(
|
||||
await hass.async_block_till_done()
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.backup.websocket.BackupManager.get_backups",
|
||||
"homeassistant.components.backup.manager.BackupManager.get_backups",
|
||||
return_value={TEST_BACKUP.slug: TEST_BACKUP},
|
||||
):
|
||||
await client.send_json_auto_id({"type": "backup/info"})
|
||||
@ -72,7 +72,7 @@ async def test_remove(
|
||||
await hass.async_block_till_done()
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.backup.websocket.BackupManager.remove_backup",
|
||||
"homeassistant.components.backup.manager.BackupManager.remove_backup",
|
||||
):
|
||||
await client.send_json_auto_id({"type": "backup/remove", "slug": "abc123"})
|
||||
assert snapshot == await client.receive_json()
|
||||
@ -98,7 +98,7 @@ async def test_generate(
|
||||
await hass.async_block_till_done()
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.backup.websocket.BackupManager.generate_backup",
|
||||
"homeassistant.components.backup.manager.BackupManager.generate_backup",
|
||||
return_value=TEST_BACKUP,
|
||||
):
|
||||
await client.send_json_auto_id({"type": "backup/generate"})
|
||||
@ -132,7 +132,7 @@ async def test_backup_end(
|
||||
await hass.async_block_till_done()
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.backup.websocket.BackupManager.post_backup_actions",
|
||||
"homeassistant.components.backup.manager.BackupManager.post_backup_actions",
|
||||
):
|
||||
await client.send_json_auto_id({"type": "backup/end"})
|
||||
assert snapshot == await client.receive_json()
|
||||
@ -165,7 +165,7 @@ async def test_backup_start(
|
||||
await hass.async_block_till_done()
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.backup.websocket.BackupManager.pre_backup_actions",
|
||||
"homeassistant.components.backup.manager.BackupManager.pre_backup_actions",
|
||||
):
|
||||
await client.send_json_auto_id({"type": "backup/start"})
|
||||
assert snapshot == await client.receive_json()
|
||||
@ -193,7 +193,7 @@ async def test_backup_end_excepion(
|
||||
await hass.async_block_till_done()
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.backup.websocket.BackupManager.post_backup_actions",
|
||||
"homeassistant.components.backup.manager.BackupManager.post_backup_actions",
|
||||
side_effect=exception,
|
||||
):
|
||||
await client.send_json_auto_id({"type": "backup/end"})
|
||||
@ -222,7 +222,7 @@ async def test_backup_start_excepion(
|
||||
await hass.async_block_till_done()
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.backup.websocket.BackupManager.pre_backup_actions",
|
||||
"homeassistant.components.backup.manager.BackupManager.pre_backup_actions",
|
||||
side_effect=exception,
|
||||
):
|
||||
await client.send_json_auto_id({"type": "backup/start"})
|
||||
|
Loading…
x
Reference in New Issue
Block a user