diff options
Diffstat (limited to 'modules/shared.py')
-rw-r--r-- | modules/shared.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/modules/shared.py b/modules/shared.py index 0978f3f6..0d7b8623 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -219,6 +219,7 @@ options_templates.update(options_section(('ui', "User interface"), { class Options:
data = None
data_labels = options_templates
+ typemap = {int: float}
def __init__(self):
self.data = {k: v.default for k, v in self.data_labels.items()}
@@ -244,25 +245,23 @@ class Options: with open(filename, "w", encoding="utf8") as file:
json.dump(self.data, file)
- def load(self, filename):
- with open(filename, "r", encoding="utf8") as file:
- self.data = json.load(file)
-
- typemap = {int: float}
+ def same_type(self, x, y):
+ if x is None or y is None:
+ return True
- def same_type(x, y):
- if x is None or y is None:
- return True
+ type_x = self.typemap.get(type(x), type(x))
+ type_y = self.typemap.get(type(y), type(y))
- type_x = typemap.get(type(x), type(x))
- type_y = typemap.get(type(y), type(y))
+ return type_x == type_y
- return type_x == type_y
+ def load(self, filename):
+ with open(filename, "r", encoding="utf8") as file:
+ self.data = json.load(file)
bad_settings = 0
for k, v in self.data.items():
info = self.data_labels.get(k, None)
- if info is not None and not same_type(info.default, v):
+ if info is not None and not self.same_type(info.default, v):
print(f"Warning: bad setting value: {k}: {v} ({type(v).__name__}; expected {type(info.default).__name__})", file=sys.stderr)
bad_settings += 1
|