mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-27 02:56:31 +00:00
Handle new AddFileError where atomic_contents_add is used
This commit is contained in:
parent
765e17942a
commit
958a0e31d1
@ -20,7 +20,7 @@ from typing import Any, Final
|
|||||||
import aiohttp
|
import aiohttp
|
||||||
from awesomeversion import AwesomeVersionCompareException
|
from awesomeversion import AwesomeVersionCompareException
|
||||||
from deepmerge import Merger
|
from deepmerge import Merger
|
||||||
from securetar import atomic_contents_add, secure_path
|
from securetar import AddFileError, atomic_contents_add, secure_path
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
from voluptuous.humanize import humanize_error
|
from voluptuous.humanize import humanize_error
|
||||||
|
|
||||||
@ -1327,7 +1327,7 @@ class Addon(AddonModel):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
_LOGGER.info("Finish backup for addon %s", self.slug)
|
_LOGGER.info("Finish backup for addon %s", self.slug)
|
||||||
except (tarfile.TarError, OSError) as err:
|
except (tarfile.TarError, OSError, AddFileError) as err:
|
||||||
raise AddonsError(
|
raise AddonsError(
|
||||||
f"Can't write tarfile {tar_file}: {err}", _LOGGER.error
|
f"Can't write tarfile {tar_file}: {err}", _LOGGER.error
|
||||||
) from err
|
) from err
|
||||||
|
@ -19,7 +19,7 @@ from typing import Any, Self
|
|||||||
from awesomeversion import AwesomeVersion, AwesomeVersionCompareException
|
from awesomeversion import AwesomeVersion, AwesomeVersionCompareException
|
||||||
from cryptography.hazmat.backends import default_backend
|
from cryptography.hazmat.backends import default_backend
|
||||||
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
|
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
|
||||||
from securetar import SecureTarFile, atomic_contents_add, secure_path
|
from securetar import AddFileError, SecureTarFile, atomic_contents_add, secure_path
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
from voluptuous.humanize import humanize_error
|
from voluptuous.humanize import humanize_error
|
||||||
|
|
||||||
@ -741,7 +741,7 @@ class Backup(JobGroup):
|
|||||||
try:
|
try:
|
||||||
if await self.sys_run_in_executor(_save):
|
if await self.sys_run_in_executor(_save):
|
||||||
self._data[ATTR_FOLDERS].append(name)
|
self._data[ATTR_FOLDERS].append(name)
|
||||||
except (tarfile.TarError, OSError) as err:
|
except (tarfile.TarError, OSError, AddFileError) as err:
|
||||||
raise BackupError(
|
raise BackupError(
|
||||||
f"Can't backup folder {name}: {str(err)}", _LOGGER.error
|
f"Can't backup folder {name}: {str(err)}", _LOGGER.error
|
||||||
) from err
|
) from err
|
||||||
|
@ -13,7 +13,7 @@ from typing import Any
|
|||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
|
|
||||||
from awesomeversion import AwesomeVersion, AwesomeVersionException
|
from awesomeversion import AwesomeVersion, AwesomeVersionException
|
||||||
from securetar import atomic_contents_add, secure_path
|
from securetar import AddFileError, atomic_contents_add, secure_path
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
from voluptuous.humanize import humanize_error
|
from voluptuous.humanize import humanize_error
|
||||||
|
|
||||||
@ -435,7 +435,7 @@ class HomeAssistant(FileConfiguration, CoreSysAttributes):
|
|||||||
file_filter=_is_excluded_by_filter,
|
file_filter=_is_excluded_by_filter,
|
||||||
arcname="data",
|
arcname="data",
|
||||||
)
|
)
|
||||||
except (tarfile.TarError, OSError) as err:
|
except (tarfile.TarError, OSError, AddFileError) as err:
|
||||||
raise HomeAssistantBackupError(
|
raise HomeAssistantBackupError(
|
||||||
f"Can't backup Home Assistant Core config folder: {str(err)}",
|
f"Can't backup Home Assistant Core config folder: {str(err)}",
|
||||||
_LOGGER.error,
|
_LOGGER.error,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user