diff options
author | DepFA <35278260+dfaker@users.noreply.github.com> | 2022-09-29 19:08:03 +0100 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2022-09-30 07:37:05 +0300 |
commit | ebd2c48115608f06940ff310a50a7fa07afaa98b (patch) | |
tree | c5c3d6a34f9c77992290492ab3cfd23a1eeb2fe6 /modules/sd_models.py | |
parent | f710ba11b99e25bb5149658502329e949e1cf6ae (diff) |
return shortest checkpoint title match
Diffstat (limited to 'modules/sd_models.py')
-rw-r--r-- | modules/sd_models.py | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/modules/sd_models.py b/modules/sd_models.py index a1e16d82..0e7ed905 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -62,19 +62,9 @@ def list_models(): checkpoints_list[title] = CheckpointInfo(filename, title, h, model_name)
def get_closet_checkpoint_match(searchString):
- checkpointValues = checkpoints_list.values()
-
- applicable = [info for info in checkpointValues if searchString.upper() == ''.join(info.title.rpartition('.ckpt')[0]).upper()]
-
- if len(applicable) == 0:
- applicable = [info for info in checkpointValues if searchString.upper() == ''.join(info.title.rpartition('.ckpt')[:2]).upper()]
-
- if len(applicable) == 0:
- applicable = [info for info in checkpointValues if searchString in info.title]
-
+ applicable = sorted([info for info in checkpoints_list.values() if searchString in info.title], key = lambda x:len(x.title))
if len(applicable)>0:
return applicable[0]
-
return None
def model_hash(filename):
|