From 59a89cc40b44203daac03f9070b6ec10ba03a83a Mon Sep 17 00:00:00 2001 From: grossmj Date: Tue, 27 Dec 2022 13:54:57 +0800 Subject: [PATCH] Catch timeout error while updating appliance files --- gns3/appliance_manager.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gns3/appliance_manager.py b/gns3/appliance_manager.py index 0c81f753f..dc9766e93 100644 --- a/gns3/appliance_manager.py +++ b/gns3/appliance_manager.py @@ -19,6 +19,7 @@ from .controller import Controller from .local_config import LocalConfig from .settings import GENERAL_SETTINGS +from .http_client_error import HttpClientError import logging @@ -49,12 +50,17 @@ def refresh(self, update=False): settings = LocalConfig.instance().loadSectionSettings("MainWindow", GENERAL_SETTINGS) symbol_theme = settings["symbol_theme"] if update is True: - self._controller.get( - "/appliances?update=yes&symbol_theme={}".format(symbol_theme), - self._listAppliancesCallback, - progress_text="Downloading appliances from online registry...", - wait=True - ) + try: + self._controller.get( + "/appliances?update=yes&symbol_theme={}".format(symbol_theme), + self._listAppliancesCallback, + progress_text="Downloading appliances from online registry...", + wait=True, + timeout=300 + ) + except HttpClientError as e: + log.error(f"Error while getting appliances list: {e}") + return else: self._controller.get("/appliances?symbol_theme={}".format(symbol_theme), self._listAppliancesCallback)