mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 15:07:28 -06:00
Fix type issues in old version upgrade plug-ins
The one actual change was this: To give a KeyError when stuff can't be found in a dictionary, rather than returning None there and then getting a TypeError later. Contributes to issue CURA-5936.
This commit is contained in:
parent
b67d8d4103
commit
8ec7d6dba3
3 changed files with 15 additions and 15 deletions
|
@ -4,7 +4,7 @@
|
|||
import configparser #To read config files.
|
||||
import io #To write config files to strings as if they were files.
|
||||
import os.path #To get the path to write new user profiles to.
|
||||
from typing import List, Optional, Tuple
|
||||
from typing import Dict, List, Optional, Set, Tuple
|
||||
import urllib #To serialise the user container file name properly.
|
||||
|
||||
import UM.VersionUpgrade #To indicate that a file is of incorrect format.
|
||||
|
@ -33,7 +33,7 @@ class MachineInstance:
|
|||
# \param serialised A string with the contents of a machine instance file,
|
||||
# without extension.
|
||||
# \param filename The supposed file name of this machine instance.
|
||||
def __init__(self, serialised: str, filename: str) -> str:
|
||||
def __init__(self, serialised: str, filename: str) -> None:
|
||||
self._filename = filename
|
||||
|
||||
config = configparser.ConfigParser(interpolation = None)
|
||||
|
@ -54,11 +54,11 @@ class MachineInstance:
|
|||
self._type_name = config.get("general", "type")
|
||||
self._variant_name = config.get("general", "variant", fallback = "empty_variant")
|
||||
self._name = config.get("general", "name", fallback = "")
|
||||
self._key = config.get("general", "key", fallback = None)
|
||||
self._key = config.get("general", "key", fallback = "")
|
||||
self._active_profile_name = config.get("general", "active_profile", fallback = "empty_quality")
|
||||
self._active_material_name = config.get("general", "material", fallback = "empty_material")
|
||||
|
||||
self._machine_setting_overrides = {}
|
||||
self._machine_setting_overrides = {} # type: Dict[str, str]
|
||||
for key, value in config["machine_settings"].items():
|
||||
self._machine_setting_overrides[key] = value
|
||||
|
||||
|
@ -109,7 +109,7 @@ class MachineInstance:
|
|||
|
||||
version_upgrade_manager = UM.VersionUpgradeManager.VersionUpgradeManager.getInstance()
|
||||
user_version_to_paths_dict = version_upgrade_manager.getStoragePaths("user")
|
||||
paths_set = set()
|
||||
paths_set = set() # type: Set[str]
|
||||
for paths in user_version_to_paths_dict.values():
|
||||
paths_set |= paths
|
||||
|
||||
|
|
|
@ -59,11 +59,11 @@ class Preferences:
|
|||
#Translate the setting names in the visible settings.
|
||||
if self._config.has_section("machines") and self._config.has_option("machines", "setting_visibility"):
|
||||
visible_settings = self._config.get("machines", "setting_visibility")
|
||||
visible_settings = visible_settings.split(",")
|
||||
visible_settings_list = visible_settings.split(",")
|
||||
import VersionUpgrade21to22 #Import here to prevent a circular dependency.
|
||||
visible_settings = [VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.translateSettingName(setting_name)
|
||||
for setting_name in visible_settings]
|
||||
visible_settings = ",".join(visible_settings)
|
||||
visible_settings_list = [VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.translateSettingName(setting_name)
|
||||
for setting_name in visible_settings_list]
|
||||
visible_settings = ",".join(visible_settings_list)
|
||||
self._config.set("machines", "setting_visibility", value = visible_settings)
|
||||
|
||||
#Translate the active_instance key.
|
||||
|
|
|
@ -22,11 +22,11 @@ class VersionUpgrade22to24(VersionUpgrade):
|
|||
config.read_string(serialised) # Read the input string as config file.
|
||||
if config.get("metadata", "type") == "definition_changes":
|
||||
# This is not a container stack, don't upgrade it here
|
||||
return
|
||||
return None
|
||||
|
||||
config.set("general", "version", "3")
|
||||
|
||||
container_list = []
|
||||
container_list = [] # type: List[str]
|
||||
if config.has_section("containers"):
|
||||
for index, container_id in config.items("containers"):
|
||||
container_list.append(container_id)
|
||||
|
@ -37,14 +37,14 @@ class VersionUpgrade22to24(VersionUpgrade):
|
|||
user_variants = self.__getUserVariants()
|
||||
name_path_dict = {}
|
||||
for variant in user_variants:
|
||||
name_path_dict[variant.get("name")] = variant.get("path")
|
||||
name_path_dict[variant["name"]] = variant["path"]
|
||||
|
||||
user_variant_names = set(container_list).intersection(name_path_dict.keys())
|
||||
if len(user_variant_names):
|
||||
# One of the user defined variants appears in the list of containers in the stack.
|
||||
|
||||
for variant_name in user_variant_names: # really there should just be one variant to convert.
|
||||
config_name = self.__convertVariant(name_path_dict.get(variant_name))
|
||||
config_name = self.__convertVariant(name_path_dict[variant_name])
|
||||
|
||||
# Change the name of variant and insert empty_variant into the stack.
|
||||
new_container_list = []
|
||||
|
@ -64,8 +64,8 @@ class VersionUpgrade22to24(VersionUpgrade):
|
|||
|
||||
config.remove_option("general", "containers")
|
||||
|
||||
for index in range(len(container_list)):
|
||||
config.set("containers", str(index), container_list[index])
|
||||
for idx in range(len(container_list)):
|
||||
config.set("containers", str(idx), container_list[idx])
|
||||
|
||||
output = io.StringIO()
|
||||
config.write(output)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue