make it possible to change models etc by editing options using API

This commit is contained in:
AUTOMATIC
2022-11-19 15:15:24 +03:00
parent 84a6f211d4
commit 5a6387e189
3 changed files with 24 additions and 22 deletions

View File

@@ -437,6 +437,23 @@ class Options:
return super(Options, self).__getattribute__(item)
def set(self, key, value):
"""sets an option and calls its onchange callback, returning True if the option changed and False otherwise"""
oldval = self.data.get(key, None)
if oldval == value:
return False
try:
setattr(self, key, value)
except RuntimeError:
return False
if self.data_labels[key].onchange is not None:
self.data_labels[key].onchange()
return True
def save(self, filename):
assert not cmd_opts.freeze_settings, "saving settings is disabled"