From ad16a0e471a0a8568ed41049e3c5e8437ea43804 Mon Sep 17 00:00:00 2001 From: deeplow Date: Wed, 13 Mar 2024 08:43:21 +0000 Subject: [PATCH] Fix Settings().set() when setting new setting Settings().set() would fail if we were trying to set a setting that did not exist before. The reason is because before setting it would try to get the previous value, but though direct key access, which would lead to an exception. --- dangerzone/settings.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dangerzone/settings.py b/dangerzone/settings.py index f30ec30..01c2953 100644 --- a/dangerzone/settings.py +++ b/dangerzone/settings.py @@ -47,7 +47,10 @@ class Settings: return self.settings[key] def set(self, key: str, val: Any, autosave: bool = False) -> None: - old_val = self.get(key) + try: + old_val = self.get(key) + except KeyError: + old_val = None self.settings[key] = val if autosave and val != old_val: self.save()