|
|
|
@ -462,23 +462,25 @@ class Config:
|
|
|
|
|
line = line.strip() |
|
|
|
|
if line.startswith("#? Config"): |
|
|
|
|
new_config["version"] = line[line.find("v. ") + 3:] |
|
|
|
|
for key in self.keys: |
|
|
|
|
if line.startswith(key): |
|
|
|
|
line = line.replace(key + "=", "") |
|
|
|
|
if line.startswith('"'): |
|
|
|
|
line = line.strip('"') |
|
|
|
|
if type(getattr(self, key)) == int: |
|
|
|
|
try: |
|
|
|
|
new_config[key] = int(line) |
|
|
|
|
except ValueError: |
|
|
|
|
self.warnings.append(f'Config key "{key}" should be an integer!') |
|
|
|
|
if type(getattr(self, key)) == bool: |
|
|
|
|
try: |
|
|
|
|
new_config[key] = bool(strtobool(line)) |
|
|
|
|
except ValueError: |
|
|
|
|
self.warnings.append(f'Config key "{key}" can only be True or False!') |
|
|
|
|
if type(getattr(self, key)) == str: |
|
|
|
|
new_config[key] = str(line) |
|
|
|
|
continue |
|
|
|
|
if not '=' in line: |
|
|
|
|
continue |
|
|
|
|
key, line = line.split('=', maxsplit=1) |
|
|
|
|
if not key in self.keys: |
|
|
|
|
continue |
|
|
|
|
line = line.strip('"') |
|
|
|
|
if type(getattr(self, key)) == int: |
|
|
|
|
try: |
|
|
|
|
new_config[key] = int(line) |
|
|
|
|
except ValueError: |
|
|
|
|
self.warnings.append(f'Config key "{key}" should be an integer!') |
|
|
|
|
if type(getattr(self, key)) == bool: |
|
|
|
|
try: |
|
|
|
|
new_config[key] = bool(strtobool(line)) |
|
|
|
|
except ValueError: |
|
|
|
|
self.warnings.append(f'Config key "{key}" can only be True or False!') |
|
|
|
|
if type(getattr(self, key)) == str: |
|
|
|
|
new_config[key] = str(line) |
|
|
|
|
except Exception as e: |
|
|
|
|
errlog.exception(str(e)) |
|
|
|
|
if "proc_sorting" in new_config and not new_config["proc_sorting"] in self.sorting_options: |
|
|
|
|