File size: 1,838 Bytes
5f5a356
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import json
from os.path import exists

from shared import path_manager

DEFAULT_SETTINGS = {
    "advanced_mode": False,
    "image_number": 1,
    "seed_random": True,
    "seed": 0,
    "style": ["Style: sai-cinematic"],
    "prompt": "",
    "negative_prompt": "",
    "performance": "Speed",
    "resolution": "1152x896 (4:3)",
    "base_model": path_manager.default_model_names["default_base_model_name"],
    "lora_1_model": "None",
    "lora_1_weight": path_manager.default_model_names["default_lora_weight"],
    "lora_2_model": "None",
    "lora_2_weight": path_manager.default_model_names["default_lora_weight"],
    "lora_3_model": "None",
    "lora_3_weight": path_manager.default_model_names["default_lora_weight"],
    "lora_4_model": "None",
    "lora_4_weight": path_manager.default_model_names["default_lora_weight"],
    "lora_5_model": "None",
    "lora_5_weight": path_manager.default_model_names["default_lora_weight"],
    "theme": "None",
    "auto_negative_prompt": False,
    "OBP_preset": "Standard",
    "hint_chance": 25,
    "clip_g": "clip_g.safetensors",
    "clip_l": "clip_l.safetensors",
    "clip_t5": "t5-v1_1-xxl-encoder-Q3_K_S.gguf",
}


def load_settings():
    if exists("settings/settings.json"):
        with open("settings/settings.json") as f:
            settings = json.load(f)
    else:
        settings = {}

    # Add any missing default settings
    changed = False
    for key, value in DEFAULT_SETTINGS.items():
        if key not in settings:
            settings[key] = value
            changed = True

    # Some sanity checks
    if not isinstance(settings["style"], list):
        settings["style"] = []

    if changed:
        with open("settings/settings.json", "w") as f:
            json.dump(settings, f, indent=2)

    return settings


default_settings = load_settings()