Remove class backup.BackupUploadMetadata (#130977)

Remove class backup.BackupMetadata
This commit is contained in:
Erik Montnemery
2024-11-19 21:53:22 +01:00
committed by GitHub
parent b447476bcc
commit e08fe57bf3
7 changed files with 21 additions and 60 deletions

View File

@@ -17,7 +17,7 @@ from .manager import (
BackupPlatformProtocol,
CoreBackupReaderWriter,
)
from .models import BackupUploadMetadata, BaseBackup
from .models import BaseBackup
from .websocket import async_register_websocket_handlers
__all__ = [
@@ -25,7 +25,6 @@ __all__ = [
"BackupAgent",
"BackupAgentPlatformProtocol",
"BackupPlatformProtocol",
"BackupUploadMetadata",
"BaseBackup",
]

View File

@@ -9,7 +9,7 @@ from typing import Any, Protocol
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError
from .models import BackupUploadMetadata, BaseBackup
from .models import BaseBackup
class BackupAgentError(HomeAssistantError):
@@ -46,13 +46,15 @@ class BackupAgent(abc.ABC):
self,
*,
path: Path,
metadata: BackupUploadMetadata,
homeassistant_version: str,
backup: BaseBackup,
**kwargs: Any,
) -> None:
"""Upload a backup.
: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

View File

@@ -12,7 +12,7 @@ from homeassistant.helpers.hassio import is_hassio
from .agent import BackupAgent, LocalBackupAgent
from .const import LOGGER
from .models import BackupUploadMetadata, BaseBackup
from .models import BaseBackup
from .util import read_backup
@@ -78,17 +78,11 @@ class CoreLocalBackupAgent(LocalBackupAgent):
self,
*,
path: Path,
metadata: BackupUploadMetadata,
backup: BaseBackup,
**kwargs: Any,
) -> None:
"""Upload a backup."""
self._backups[metadata.backup_id] = BaseBackup(
backup_id=metadata.backup_id,
date=metadata.date,
name=metadata.name,
protected=metadata.protected,
size=round(path.stat().st_size / 1_048_576, 2),
)
self._backups[backup.backup_id] = backup
async def async_list_backups(self, **kwargs: Any) -> list[BaseBackup]:
"""List backups."""

View File

@@ -43,7 +43,7 @@ from .const import (
EXCLUDE_FROM_BACKUP,
LOGGER,
)
from .models import BackupUploadMetadata, BaseBackup
from .models import BaseBackup
from .util import read_backup
@@ -226,20 +226,15 @@ class BackupManager:
path: Path,
) -> None:
"""Upload a backup to selected agents."""
LOGGER.warning("Uploading backup %s to agents %s", backup.backup_id, agent_ids)
self.syncing = True
try:
sync_backup_results = await asyncio.gather(
*(
self.backup_agents[agent_id].async_upload_backup(
path=path,
metadata=BackupUploadMetadata(
backup_id=backup.backup_id,
date=backup.date,
homeassistant=HAVERSION,
name=backup.name,
protected=backup.protected,
size=backup.size,
),
backup=backup,
homeassistant_version=HAVERSION,
)
for agent_id in agent_ids
),

View File

@@ -16,15 +16,3 @@ class BaseBackup:
def as_dict(self) -> dict:
"""Return a dict representation of this backup."""
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)

View File

@@ -6,11 +6,7 @@ import logging
from pathlib import Path
from typing import Any
from homeassistant.components.backup import (
BackupAgent,
BackupUploadMetadata,
BaseBackup,
)
from homeassistant.components.backup import BackupAgent, BaseBackup
from homeassistant.core import HomeAssistant
LOGGER = logging.getLogger(__name__)
@@ -54,20 +50,13 @@ class KitchenSinkBackupAgent(BackupAgent):
self,
*,
path: Path,
metadata: BackupUploadMetadata,
backup: BaseBackup,
homeassistant_version: str,
**kwargs: Any,
) -> None:
"""Upload a backup."""
LOGGER.info("Uploading backup %s %s", path.name, metadata)
self._uploads.append(
BaseBackup(
backup_id=metadata.backup_id,
date=metadata.date,
name=metadata.name,
protected=metadata.protected,
size=metadata.size,
)
)
LOGGER.info("Uploading backup %s %s", path.name, backup)
self._uploads.append(backup)
async def async_delete_backup(
self,

View File

@@ -10,7 +10,6 @@ from homeassistant.components.backup import (
DOMAIN,
BackupAgent,
BackupAgentPlatformProtocol,
BackupUploadMetadata,
BaseBackup,
)
from homeassistant.components.backup.const import DATA_MANAGER
@@ -75,17 +74,12 @@ class BackupAgentTest(BackupAgent):
self,
*,
path: Path,
metadata: BackupUploadMetadata,
backup: BaseBackup,
homeassistant_version: str,
**kwargs: Any,
) -> None:
"""Upload a backup."""
self._backups[metadata.backup_id] = BaseBackup(
backup_id=metadata.backup_id,
date=metadata.date,
name=metadata.name,
protected=metadata.protected,
size=metadata.size,
)
self._backups[backup.backup_id] = backup
async def async_list_backups(self, **kwargs: Any) -> list[BaseBackup]:
"""List backups."""