From 642b7e333e2d87a8d3ef0bcb13c257347a9c13ed Mon Sep 17 00:00:00 2001 From: DepFA <35278260+dfaker@users.noreply.github.com> Date: Wed, 28 Sep 2022 22:30:09 +0100 Subject: add get_closet_checkpoint_match --- modules/sd_models.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'modules') diff --git a/modules/sd_models.py b/modules/sd_models.py index eb21e498..a1e16d82 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -61,6 +61,21 @@ def list_models(): title, model_name = modeltitle(filename, h) 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] + + if len(applicable)>0: + return applicable[0] + + return None def model_hash(filename): try: -- cgit v1.2.1