Fix getting settings from JSON file

When reading a node of a JSON file, apparently it only lists the keys instead of key-value pairs. You have to get the values separately.

Contributes to issue CURA-37.
This commit is contained in:
Ghostkeeper 2015-12-18 09:14:55 +01:00
parent 6bde0e3404
commit 99a13ba3aa

View file

@ -84,7 +84,8 @@ class LegacyProfileReader(ProfileReader):
if "translation" not in dict_of_doom: if "translation" not in dict_of_doom:
Logger.log("e", "Dictionary of Doom has no translation. Is it the correct JSON file?") Logger.log("e", "Dictionary of Doom has no translation. Is it the correct JSON file?")
return None return None
for new_setting, old_setting_expression in dict_of_doom["translation"]: #Evaluate all new settings that would get a value from the translations. for new_setting in dict_of_doom["translation"]: #Evaluate all new settings that would get a value from the translations.
old_setting_expression = dict_of_doom["translation"][new_setting]
compiled = compile(old_setting_expression, new_setting, "eval") compiled = compile(old_setting_expression, new_setting, "eval")
new_value = eval(compiled, {}, legacy_settings) #Pass the legacy settings as local variables to allow access to in the evaluation. new_value = eval(compiled, {}, legacy_settings) #Pass the legacy settings as local variables to allow access to in the evaluation.
profile.setSettingValue(new_setting, new_value) #Store the setting in the profile! profile.setSettingValue(new_setting, new_value) #Store the setting in the profile!