From 3d26e478e3d80f44009efce21fa76e27f655c7f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 12 Oct 2016 18:13:46 +0200 Subject: [PATCH] Fix a bug causing the update of OctoPrint to not work under certain circumstances The bug only manifests if a user had installed 1.2.16 earlier and never once hit "Save" in the settings before attempting to update to 1.2.17. With 1.2.16 the updater script and settings for OctoPrint's own update mechanism were changed to prefer "checkout_folder" instead of "update_folder". In earlier versions however "update_folder" was still used. Saving settings even once (even without any changes!) will migrate the data. But if that's not done a KeyError will be raised when trying to retrieve "update_folder" from the check config, with "checkout_folder" as its fallback. Rather stupid error really. --- src/octoprint/plugins/softwareupdate/updaters/update_script.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/octoprint/plugins/softwareupdate/updaters/update_script.py b/src/octoprint/plugins/softwareupdate/updaters/update_script.py index 050b1968..b694643e 100644 --- a/src/octoprint/plugins/softwareupdate/updaters/update_script.py +++ b/src/octoprint/plugins/softwareupdate/updaters/update_script.py @@ -35,7 +35,7 @@ def perform_update(target, check, target_version): update_script = check["update_script"] update_branch = check.get("update_branch", "") force_exact_version = check.get("force_exact_version", False) - folder = check.get("update_folder", check["checkout_folder"]) + folder = check.get("update_folder", check.get("checkout_folder")) # either should be set, tested above pre_update_script = check.get("pre_update_script", None) post_update_script = check.get("post_update_script", None)