# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from typing import List, Optional from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") def getSettingsKeyForMachine(machine_id: int) -> str: return "info/latest_checked_firmware_for_{0}".format(machine_id) class FirmwareUpdateCheckerLookup: def __init__(self, machine_name, machine_json) -> None: # Parse all the needed lookup-tables from the ".json" file(s) in the resources folder. self._machine_id = machine_json.get("id") self._machine_name = machine_name.lower() # Lower in-case upper-case chars are added to the original json. self._check_urls = [] # type:List[str] for check_url in machine_json.get("check_urls", []): self._check_urls.append(check_url) self._redirect_user = machine_json.get("update_url") def getMachineId(self) -> Optional[int]: return self._machine_id def getMachineName(self) -> Optional[int]: return self._machine_name def getCheckUrls(self) -> Optional[List[str]]: return self._check_urls def getRedirectUserUrl(self) -> Optional[str]: return self._redirect_user