diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-20 14:20:27 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-20 14:20:27 +0300 |
commit | f65d0dc081b99252406d8cd40fd25123ca0e8952 (patch) | |
tree | 13bf8f404a8074dc49ccf55c968706a95fadc3de /modules/config_states.py | |
parent | 4a2bf65fea0a6d2c389c47161ce0960991e6f56b (diff) | |
parent | 2c10fda39900adcf9aca1f69c7ef023a2d85e2a9 (diff) |
Merge pull request #12689 from AUTOMATIC1111/patch-config-status
Patch config status handle corrupted files
Diffstat (limited to 'modules/config_states.py')
-rw-r--r-- | modules/config_states.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/modules/config_states.py b/modules/config_states.py index 6f1ab53f..b766aef1 100644 --- a/modules/config_states.py +++ b/modules/config_states.py @@ -8,14 +8,12 @@ import time import tqdm from datetime import datetime -from collections import OrderedDict import git from modules import shared, extensions, errors from modules.paths_internal import script_path, config_states_dir - -all_config_states = OrderedDict() +all_config_states = {} def list_config_states(): @@ -28,10 +26,14 @@ def list_config_states(): for filename in os.listdir(config_states_dir): if filename.endswith(".json"): path = os.path.join(config_states_dir, filename) - with open(path, "r", encoding="utf-8") as f: - j = json.load(f) - j["filepath"] = path - config_states.append(j) + try: + with open(path, "r", encoding="utf-8") as f: + j = json.load(f) + assert "created_at" in j, '"created_at" does not exist' + j["filepath"] = path + config_states.append(j) + except Exception as e: + print(f'[ERROR]: Config states {path}, {e}') config_states = sorted(config_states, key=lambda cs: cs["created_at"], reverse=True) |