mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Use json_loads_object util in backup (#89895)
* Use json_loads_object util in backup * adjust test
This commit is contained in:
parent
dbebf8c783
commit
138bbd9c28
@ -9,7 +9,7 @@ from pathlib import Path
|
|||||||
import tarfile
|
import tarfile
|
||||||
from tarfile import TarError
|
from tarfile import TarError
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
from typing import Any, Protocol
|
from typing import Any, Protocol, cast
|
||||||
|
|
||||||
from securetar import SecureTarFile, atomic_contents_add
|
from securetar import SecureTarFile, atomic_contents_add
|
||||||
|
|
||||||
@ -19,6 +19,7 @@ from homeassistant.exceptions import HomeAssistantError
|
|||||||
from homeassistant.helpers import integration_platform
|
from homeassistant.helpers import integration_platform
|
||||||
from homeassistant.helpers.json import save_json
|
from homeassistant.helpers.json import save_json
|
||||||
from homeassistant.util import dt
|
from homeassistant.util import dt
|
||||||
|
from homeassistant.util.json import json_loads_object
|
||||||
|
|
||||||
from .const import DOMAIN, EXCLUDE_FROM_BACKUP, LOGGER
|
from .const import DOMAIN, EXCLUDE_FROM_BACKUP, LOGGER
|
||||||
|
|
||||||
@ -100,11 +101,11 @@ class BackupManager:
|
|||||||
try:
|
try:
|
||||||
with tarfile.open(backup_path, "r:") as backup_file:
|
with tarfile.open(backup_path, "r:") as backup_file:
|
||||||
if data_file := backup_file.extractfile("./backup.json"):
|
if data_file := backup_file.extractfile("./backup.json"):
|
||||||
data = json.loads(data_file.read())
|
data = json_loads_object(data_file.read())
|
||||||
backup = Backup(
|
backup = Backup(
|
||||||
slug=data["slug"],
|
slug=cast(str, data["slug"]),
|
||||||
name=data["name"],
|
name=cast(str, data["name"]),
|
||||||
date=data["date"],
|
date=cast(str, data["date"]),
|
||||||
path=backup_path,
|
path=backup_path,
|
||||||
size=round(backup_path.stat().st_size / 1_048_576, 2),
|
size=round(backup_path.stat().st_size / 1_048_576, 2),
|
||||||
)
|
)
|
||||||
|
@ -85,7 +85,7 @@ async def test_load_backups(hass: HomeAssistant) -> None:
|
|||||||
with patch("pathlib.Path.glob", return_value=[TEST_BACKUP.path]), patch(
|
with patch("pathlib.Path.glob", return_value=[TEST_BACKUP.path]), patch(
|
||||||
"tarfile.open", return_value=MagicMock()
|
"tarfile.open", return_value=MagicMock()
|
||||||
), patch(
|
), patch(
|
||||||
"json.loads",
|
"homeassistant.components.backup.manager.json_loads_object",
|
||||||
return_value={
|
return_value={
|
||||||
"slug": TEST_BACKUP.slug,
|
"slug": TEST_BACKUP.slug,
|
||||||
"name": TEST_BACKUP.name,
|
"name": TEST_BACKUP.name,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user