mirror of
https://github.com/home-assistant/core.git
synced 2025-08-05 13:45:12 +02:00
Remove class backup.BackupUploadMetadata (#130977)
Remove class backup.BackupMetadata
This commit is contained in:
@@ -17,7 +17,7 @@ from .manager import (
|
|||||||
BackupPlatformProtocol,
|
BackupPlatformProtocol,
|
||||||
CoreBackupReaderWriter,
|
CoreBackupReaderWriter,
|
||||||
)
|
)
|
||||||
from .models import BackupUploadMetadata, BaseBackup
|
from .models import BaseBackup
|
||||||
from .websocket import async_register_websocket_handlers
|
from .websocket import async_register_websocket_handlers
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
@@ -25,7 +25,6 @@ __all__ = [
|
|||||||
"BackupAgent",
|
"BackupAgent",
|
||||||
"BackupAgentPlatformProtocol",
|
"BackupAgentPlatformProtocol",
|
||||||
"BackupPlatformProtocol",
|
"BackupPlatformProtocol",
|
||||||
"BackupUploadMetadata",
|
|
||||||
"BaseBackup",
|
"BaseBackup",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ from typing import Any, Protocol
|
|||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
|
|
||||||
from .models import BackupUploadMetadata, BaseBackup
|
from .models import BaseBackup
|
||||||
|
|
||||||
|
|
||||||
class BackupAgentError(HomeAssistantError):
|
class BackupAgentError(HomeAssistantError):
|
||||||
@@ -46,13 +46,15 @@ class BackupAgent(abc.ABC):
|
|||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
path: Path,
|
path: Path,
|
||||||
metadata: BackupUploadMetadata,
|
homeassistant_version: str,
|
||||||
|
backup: BaseBackup,
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Upload a backup.
|
"""Upload a backup.
|
||||||
|
|
||||||
:param path: The full file path to the backup that should be uploaded.
|
:param path: The full file path to the backup that should be uploaded.
|
||||||
:param metadata: Metadata about the backup that should be uploaded.
|
:param backup: Metadata about the backup that should be uploaded.
|
||||||
|
:param homeassistant_version: The version of Home Assistant that created the backup
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
|
@@ -12,7 +12,7 @@ from homeassistant.helpers.hassio import is_hassio
|
|||||||
|
|
||||||
from .agent import BackupAgent, LocalBackupAgent
|
from .agent import BackupAgent, LocalBackupAgent
|
||||||
from .const import LOGGER
|
from .const import LOGGER
|
||||||
from .models import BackupUploadMetadata, BaseBackup
|
from .models import BaseBackup
|
||||||
from .util import read_backup
|
from .util import read_backup
|
||||||
|
|
||||||
|
|
||||||
@@ -78,17 +78,11 @@ class CoreLocalBackupAgent(LocalBackupAgent):
|
|||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
path: Path,
|
path: Path,
|
||||||
metadata: BackupUploadMetadata,
|
backup: BaseBackup,
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Upload a backup."""
|
"""Upload a backup."""
|
||||||
self._backups[metadata.backup_id] = BaseBackup(
|
self._backups[backup.backup_id] = backup
|
||||||
backup_id=metadata.backup_id,
|
|
||||||
date=metadata.date,
|
|
||||||
name=metadata.name,
|
|
||||||
protected=metadata.protected,
|
|
||||||
size=round(path.stat().st_size / 1_048_576, 2),
|
|
||||||
)
|
|
||||||
|
|
||||||
async def async_list_backups(self, **kwargs: Any) -> list[BaseBackup]:
|
async def async_list_backups(self, **kwargs: Any) -> list[BaseBackup]:
|
||||||
"""List backups."""
|
"""List backups."""
|
||||||
|
@@ -43,7 +43,7 @@ from .const import (
|
|||||||
EXCLUDE_FROM_BACKUP,
|
EXCLUDE_FROM_BACKUP,
|
||||||
LOGGER,
|
LOGGER,
|
||||||
)
|
)
|
||||||
from .models import BackupUploadMetadata, BaseBackup
|
from .models import BaseBackup
|
||||||
from .util import read_backup
|
from .util import read_backup
|
||||||
|
|
||||||
|
|
||||||
@@ -226,20 +226,15 @@ class BackupManager:
|
|||||||
path: Path,
|
path: Path,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Upload a backup to selected agents."""
|
"""Upload a backup to selected agents."""
|
||||||
|
LOGGER.warning("Uploading backup %s to agents %s", backup.backup_id, agent_ids)
|
||||||
self.syncing = True
|
self.syncing = True
|
||||||
try:
|
try:
|
||||||
sync_backup_results = await asyncio.gather(
|
sync_backup_results = await asyncio.gather(
|
||||||
*(
|
*(
|
||||||
self.backup_agents[agent_id].async_upload_backup(
|
self.backup_agents[agent_id].async_upload_backup(
|
||||||
path=path,
|
path=path,
|
||||||
metadata=BackupUploadMetadata(
|
backup=backup,
|
||||||
backup_id=backup.backup_id,
|
homeassistant_version=HAVERSION,
|
||||||
date=backup.date,
|
|
||||||
homeassistant=HAVERSION,
|
|
||||||
name=backup.name,
|
|
||||||
protected=backup.protected,
|
|
||||||
size=backup.size,
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
for agent_id in agent_ids
|
for agent_id in agent_ids
|
||||||
),
|
),
|
||||||
|
@@ -16,15 +16,3 @@ class BaseBackup:
|
|||||||
def as_dict(self) -> dict:
|
def as_dict(self) -> dict:
|
||||||
"""Return a dict representation of this backup."""
|
"""Return a dict representation of this backup."""
|
||||||
return asdict(self)
|
return asdict(self)
|
||||||
|
|
||||||
|
|
||||||
@dataclass()
|
|
||||||
class BackupUploadMetadata:
|
|
||||||
"""Backup upload metadata."""
|
|
||||||
|
|
||||||
backup_id: str # The ID of the backup
|
|
||||||
date: str # The date the backup was created
|
|
||||||
homeassistant: str # The version of Home Assistant that created the backup
|
|
||||||
name: str # The name of the backup
|
|
||||||
protected: bool # If the backup is protected
|
|
||||||
size: float # The size of the backup (in bytes)
|
|
||||||
|
@@ -6,11 +6,7 @@ import logging
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from homeassistant.components.backup import (
|
from homeassistant.components.backup import BackupAgent, BaseBackup
|
||||||
BackupAgent,
|
|
||||||
BackupUploadMetadata,
|
|
||||||
BaseBackup,
|
|
||||||
)
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
LOGGER = logging.getLogger(__name__)
|
LOGGER = logging.getLogger(__name__)
|
||||||
@@ -54,20 +50,13 @@ class KitchenSinkBackupAgent(BackupAgent):
|
|||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
path: Path,
|
path: Path,
|
||||||
metadata: BackupUploadMetadata,
|
backup: BaseBackup,
|
||||||
|
homeassistant_version: str,
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Upload a backup."""
|
"""Upload a backup."""
|
||||||
LOGGER.info("Uploading backup %s %s", path.name, metadata)
|
LOGGER.info("Uploading backup %s %s", path.name, backup)
|
||||||
self._uploads.append(
|
self._uploads.append(backup)
|
||||||
BaseBackup(
|
|
||||||
backup_id=metadata.backup_id,
|
|
||||||
date=metadata.date,
|
|
||||||
name=metadata.name,
|
|
||||||
protected=metadata.protected,
|
|
||||||
size=metadata.size,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
async def async_delete_backup(
|
async def async_delete_backup(
|
||||||
self,
|
self,
|
||||||
|
@@ -10,7 +10,6 @@ from homeassistant.components.backup import (
|
|||||||
DOMAIN,
|
DOMAIN,
|
||||||
BackupAgent,
|
BackupAgent,
|
||||||
BackupAgentPlatformProtocol,
|
BackupAgentPlatformProtocol,
|
||||||
BackupUploadMetadata,
|
|
||||||
BaseBackup,
|
BaseBackup,
|
||||||
)
|
)
|
||||||
from homeassistant.components.backup.const import DATA_MANAGER
|
from homeassistant.components.backup.const import DATA_MANAGER
|
||||||
@@ -75,17 +74,12 @@ class BackupAgentTest(BackupAgent):
|
|||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
path: Path,
|
path: Path,
|
||||||
metadata: BackupUploadMetadata,
|
backup: BaseBackup,
|
||||||
|
homeassistant_version: str,
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Upload a backup."""
|
"""Upload a backup."""
|
||||||
self._backups[metadata.backup_id] = BaseBackup(
|
self._backups[backup.backup_id] = backup
|
||||||
backup_id=metadata.backup_id,
|
|
||||||
date=metadata.date,
|
|
||||||
name=metadata.name,
|
|
||||||
protected=metadata.protected,
|
|
||||||
size=metadata.size,
|
|
||||||
)
|
|
||||||
|
|
||||||
async def async_list_backups(self, **kwargs: Any) -> list[BaseBackup]:
|
async def async_list_backups(self, **kwargs: Any) -> list[BaseBackup]:
|
||||||
"""List backups."""
|
"""List backups."""
|
||||||
|
Reference in New Issue
Block a user