From 2daf61ae7a60eeca06dfd4cbac6892e0ab244304 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 16 Sep 2023 17:36:03 -0400 Subject: [PATCH] presort en --- modules/sd_models.py | 3 +++ modules/styles.py | 1 + modules/ui_extra_networks_textual_inversion.py | 1 + 3 files changed, 5 insertions(+) diff --git a/modules/sd_models.py b/modules/sd_models.py index 4ae268eea..a7e8fec55 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -149,6 +149,7 @@ def checkpoint_tiles(use_short=False): # pylint: disable=unused-argument def list_models(): t0 = time.time() + global checkpoints_list # pylint: disable=global-statement checkpoints_list.clear() checkpoint_aliases.clear() if shared.opts.sd_disable_ckpt or shared.backend == shared.Backend.DIFFUSERS: @@ -175,6 +176,7 @@ def list_models(): shared.log.warning(f"Checkpoint not found: {shared.cmd_opts.ckpt}") shared.log.info(f'Available models: {shared.opts.ckpt_dir} items={len(checkpoints_list)} time={time.time()-t0:.2f}s') + checkpoints_list = dict(sorted(checkpoints_list.items(), key=lambda cp: cp[1].filename)) if len(checkpoints_list) == 0: if not shared.cmd_opts.no_download: key = input('Download the default model? (y/N) ') @@ -193,6 +195,7 @@ def list_models(): if checkpoint_info.name is not None: checkpoint_info.register() + def update_model_hashes(): txt = [] lst = [ckpt for ckpt in checkpoints_list.values() if ckpt.hash is None] diff --git a/modules/styles.py b/modules/styles.py index c9b8ca85f..8491a43a6 100644 --- a/modules/styles.py +++ b/modules/styles.py @@ -74,6 +74,7 @@ class StyleDatabase: list_folder(fn) list_folder(self.path) + self.styles = dict(sorted(self.styles.items(), key=lambda style: style[1].filename)) log.debug(f'Loaded styles: folder={self.path} items={len(self.styles.keys())}') def get_style_prompts(self, styles): diff --git a/modules/ui_extra_networks_textual_inversion.py b/modules/ui_extra_networks_textual_inversion.py index 520c630d1..82b7e45c9 100644 --- a/modules/ui_extra_networks_textual_inversion.py +++ b/modules/ui_extra_networks_textual_inversion.py @@ -39,6 +39,7 @@ class ExtraNetworksPageTextualInversion(ui_extra_networks.ExtraNetworksPage): embeddings = list(sd_models.model_data.sd_model.embedding_db.word_embeddings.values()) else: embeddings = [] + embeddings = list(sorted(embeddings, key=lambda emb: emb.filename)) for embedding in embeddings: path, _ext = os.path.splitext(embedding.filename) tags = {}