From 5e69ce4c40a7b2abc310bcd453060a551c8b73a7 Mon Sep 17 00:00:00 2001 From: avollkopf <43980694+avollkopf@users.noreply.github.com> Date: Fri, 7 Apr 2023 16:26:03 +0200 Subject: [PATCH] handling in case of error (config controller -> remove) --- cbpi/__init__.py | 2 +- cbpi/controller/config_controller.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/cbpi/__init__.py b/cbpi/__init__.py index 622871d..7fcced5 100644 --- a/cbpi/__init__.py +++ b/cbpi/__init__.py @@ -1,3 +1,3 @@ -__version__ = "4.1.8.a6" +__version__ = "4.1.8.a7" __codename__ = "Groundhog Day" diff --git a/cbpi/controller/config_controller.py b/cbpi/controller/config_controller.py index 2000b13..bb1b5b0 100644 --- a/cbpi/controller/config_controller.py +++ b/cbpi/controller/config_controller.py @@ -61,16 +61,20 @@ class ConfigController: async def remove(self, name): data = {} self.testcache={} + success=False for key, value in self.cache.items(): try: if key != name: data[key] = value.to_dict() self.testcache[key] = Config(name=data[key].get("name"), value=data[key].get("value"), description=data[key].get("description"), type=ConfigType(data[key].get("type", "string")), options=data[key].get("options", None), - source=data[key].get("source", "craftbeerpi") ) + source=data[key].get("source", "craftbeerpi") ) + success=True except Exception as e: print(e) - with open(self.path, "w") as file: - json.dump(data, file, indent=4, sort_keys=True) - self.cache=self.testcache + success=False + if success == True: + with open(self.path, "w") as file: + json.dump(data, file, indent=4, sort_keys=True) + self.cache=self.testcache