diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-09 14:40:06 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-09 14:40:06 +0300 |
commit | c8c48640e661a0275c9ffa04b148e20213f3e902 (patch) | |
tree | 601a7db6f6811ce6c0a1cb02e7d9c30b705595bb /modules/shared_items.py | |
parent | 2617598b7a014676611134566fafd6604e6c4486 (diff) | |
parent | 386245a26427a64f364f66f6fecd03b3bccfd7f3 (diff) |
Merge pull request #12426 from AUTOMATIC1111/split_shared
Split shared.py into multiple files
Diffstat (limited to 'modules/shared_items.py')
-rw-r--r-- | modules/shared_items.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/modules/shared_items.py b/modules/shared_items.py index 89792e88..e4ec40a8 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -1,3 +1,6 @@ +import sys
+
+from modules.shared_cmd_options import cmd_opts
def realesrgan_models_names():
@@ -41,6 +44,28 @@ def refresh_unet_list(): modules.sd_unet.list_unets()
+def list_checkpoint_tiles():
+ import modules.sd_models
+ return modules.sd_models.checkpoint_tiles()
+
+
+def refresh_checkpoints():
+ import modules.sd_models
+ return modules.sd_models.list_models()
+
+
+def list_samplers():
+ import modules.sd_samplers
+ return modules.sd_samplers.all_samplers
+
+
+def reload_hypernetworks():
+ from modules.hypernetworks import hypernetwork
+ from modules import shared
+
+ shared.hypernetworks = hypernetwork.list_hypernetworks(cmd_opts.hypernetwork_dir)
+
+
ui_reorder_categories_builtin_items = [
"inpaint",
"sampler",
@@ -67,3 +92,27 @@ def ui_reorder_categories(): yield from sections
yield "scripts"
+
+
+class Shared(sys.modules[__name__].__class__):
+ """
+ this class is here to provide sd_model field as a property, so that it can be created and loaded on demand rather than
+ at program startup.
+ """
+
+ sd_model_val = None
+
+ @property
+ def sd_model(self):
+ import modules.sd_models
+
+ return modules.sd_models.model_data.get_sd_model()
+
+ @sd_model.setter
+ def sd_model(self, value):
+ import modules.sd_models
+
+ modules.sd_models.model_data.set_sd_model(value)
+
+
+sys.modules['modules.shared'].__class__ = Shared
|