From f07193dc3c6520f763e1b31a8106cd80e4d3b6dc Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 22 Oct 2021 10:48:53 +0200 Subject: [PATCH] Handle empty Add-on backup properly (#3253) * Handle empty Add-on backup properly Check if the data directory exist in the backup. If not, make sure a directory gets created so the options.json can be written afterwards. * Remove unrelated change --- supervisor/addons/addon.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/supervisor/addons/addon.py b/supervisor/addons/addon.py index 557dc3ec6..3d6e14156 100644 --- a/supervisor/addons/addon.py +++ b/supervisor/addons/addon.py @@ -859,7 +859,11 @@ class Addon(AddonModel): # Restore data def _restore_data(): """Restore data.""" - shutil.copytree(Path(temp, "data"), self.path_data, symlinks=True) + temp_data = Path(temp, "data") + if temp_data.is_dir(): + shutil.copytree(temp_data, self.path_data, symlinks=True) + else: + self.path_data.mkdir() _LOGGER.info("Restoring data for addon %s", self.slug) if self.path_data.is_dir():