From 484b829b90c1885d4637f6de147fd1af5e608070 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Fri, 7 May 2021 17:19:11 +0200 Subject: [PATCH] fix problem when switching image file types --- owrx/controllers/settings/general.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/owrx/controllers/settings/general.py b/owrx/controllers/settings/general.py index 5fd1bfe..e12c101 100644 --- a/owrx/controllers/settings/general.py +++ b/owrx/controllers/settings/general.py @@ -171,16 +171,20 @@ class GeneralSettingsController(SettingsFormController): ), ] + def remove_existing_image(self, image_id): + config = CoreConfig() + # remove all possible file extensions + for ext in ["png", "jpg", "webp"]: + try: + os.unlink("{}/{}.{}".format(config.get_data_directory(), image_id, ext)) + except FileNotFoundError: + pass + def handle_image(self, data, image_id): if image_id in data: config = CoreConfig() if data[image_id] == "restore": - # remove all possible file extensions - for ext in ["png", "jpg", "webp"]: - try: - os.unlink("{}/{}.{}".format(config.get_data_directory(), image_id, ext)) - except FileNotFoundError: - pass + self.remove_existing_image(image_id) elif data[image_id]: if not data[image_id].startswith(image_id): logger.warning("invalid file name: %s", data[image_id]) @@ -192,6 +196,7 @@ class GeneralSettingsController(SettingsFormController): if matches is None: logger.warning("could not determine file extension for %s", image_id) else: + self.remove_existing_image(image_id) ext = matches.group(1) data_file = "{}/{}.{}".format(config.get_data_directory(), image_id, ext) temporary_file = "{}/{}".format(config.get_temporary_directory(), data[image_id])