From c05f667f3d67c9a993925d2437e6d54bdb3841f7 Mon Sep 17 00:00:00 2001 From: YueGuobin Date: Mon, 23 Feb 2026 01:02:32 +0800 Subject: [PATCH] feat(templates): safely access settings dict keys Use dict.get() method to safely access 'image' and 'path' keys in settings dictionary to avoid KeyError exceptions when these keys are missing. This improves error handling and prevents server crashes when creating templates with incomplete settings. --- gns3server/services/templates.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gns3server/services/templates.py b/gns3server/services/templates.py index 0589f6797..2caf9fa78 100644 --- a/gns3server/services/templates.py +++ b/gns3server/services/templates.py @@ -197,7 +197,7 @@ class TemplatesService: images_to_add_to_template = [] if template_type == "dynamips": - if settings["image"]: + if settings.get("image"): image = await self._find_image(settings["image"]) if image.image_type != "ios": raise ControllerBadRequestError( @@ -205,7 +205,7 @@ class TemplatesService: ) images_to_add_to_template.append(image) elif template_type == "iou": - if settings["path"]: + if settings.get("path"): image = await self._find_image(settings["path"]) if image.image_type != "iou": raise ControllerBadRequestError(