aboutsummaryrefslogtreecommitdiff
path: root/modules/config_states.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-08-20 14:20:27 +0300
committerGitHub <noreply@github.com>2023-08-20 14:20:27 +0300
commitf65d0dc081b99252406d8cd40fd25123ca0e8952 (patch)
tree13bf8f404a8074dc49ccf55c968706a95fadc3de /modules/config_states.py
parent4a2bf65fea0a6d2c389c47161ce0960991e6f56b (diff)
parent2c10fda39900adcf9aca1f69c7ef023a2d85e2a9 (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.py16
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)