Fix issues with old protection flag (#3521)

* Fix issues with old protection flag

* fix typing
This commit is contained in:
Pascal Vizeli 2022-03-16 13:15:56 +01:00 committed by GitHub
parent d93def7f22
commit c67317571c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 1 deletions

View File

@ -67,6 +67,13 @@ def v1_folderlist(folder_data: list[str]) -> list[str]:
return folder_data
def v1_protected(protected: bool | str) -> bool:
"""Cleanup old protected handling."""
if isinstance(protected, bool):
return protected
return True
# pylint: disable=no-value-for-parameter
SCHEMA_BACKUP = vol.Schema(
{
@ -76,7 +83,9 @@ SCHEMA_BACKUP = vol.Schema(
vol.Required(ATTR_NAME): str,
vol.Required(ATTR_DATE): str,
vol.Optional(ATTR_COMPRESSED, default=True): vol.Boolean(),
vol.Optional(ATTR_PROTECTED, default=False): vol.Boolean(),
vol.Optional(ATTR_PROTECTED, default=False): vol.All(
v1_protected, vol.Boolean()
),
vol.Optional(ATTR_CRYPTO, default=None): vol.Maybe(CRYPTO_AES128),
vol.Optional(ATTR_HOMEASSISTANT, default=None): vol.All(
v1_homeassistant,

View File

@ -41,3 +41,18 @@ def test_v1_folder_migration():
)
assert data[validate.ATTR_FOLDERS] == [validate.FOLDER_ADDONS]
def test_v1_protected():
"""Test v1 protection migration."""
data = validate.SCHEMA_BACKUP(
{
**VALID_DEFAULT,
**{
validate.ATTR_PROTECTED: "8",
validate.ATTR_TYPE: validate.BackupType.FULL,
},
}
)
assert data[validate.ATTR_PROTECTED] is True