mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 17:24:32 +02:00
handle missing version
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Submodule extensions-builtin/sdnext-modernui updated: ee53aea71c...7488abcb80
@@ -153,10 +153,11 @@ class ExtraNetworksPage:
|
||||
|
||||
def find_version(self, item, info):
|
||||
all_versions = info.get('modelVersions', [])
|
||||
if len(all_versions) == 0:
|
||||
return {}
|
||||
try:
|
||||
found_versions = []
|
||||
if item is None:
|
||||
return all_versions
|
||||
return all_versions[0]
|
||||
elif hasattr(item, 'hash') and item.hash is not None:
|
||||
current_hash = item.hash[:8].upper()
|
||||
elif hasattr(item, 'shorthash') and item.shorthash is not None:
|
||||
@@ -164,17 +165,14 @@ class ExtraNetworksPage:
|
||||
elif hasattr(item, 'sha256') and item.sha256 is not None:
|
||||
current_hash = item.sha256[:8].upper()
|
||||
else:
|
||||
return all_versions
|
||||
return all_versions[0]
|
||||
for v in info.get('modelVersions', []):
|
||||
for f in v.get('files', []):
|
||||
if any(h.startswith(current_hash) for h in f.get('hashes', {}).values()):
|
||||
found_versions.append(v)
|
||||
if len(found_versions) == 0:
|
||||
found_versions = all_versions
|
||||
return found_versions
|
||||
return v
|
||||
except Exception as e:
|
||||
errors.display(e, 'Network version')
|
||||
return all_versions
|
||||
return all_versions[0]
|
||||
|
||||
def link_preview(self, filename):
|
||||
quoted_filename = urllib.parse.quote(filename.replace('\\', '/'))
|
||||
|
||||
@@ -64,7 +64,7 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
|
||||
record["info"] = self.find_info(checkpoint.filename)
|
||||
record["description"] = self.find_description(checkpoint.filename, record["info"])
|
||||
version = self.find_version(checkpoint, record["info"])
|
||||
record["version"] = version[0].get("baseModel", "") if record["info"] else ""
|
||||
record["version"] = version.get("baseModel", "") if record["info"] else ""
|
||||
|
||||
except Exception as e:
|
||||
shared.log.debug(f'Networks error: type=model file="{name}" {e}')
|
||||
|
||||
@@ -37,14 +37,13 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
|
||||
tag = ' '.join(words[1:]).lower()
|
||||
tags[tag] = words[0]
|
||||
|
||||
for v in version: # trigger words from info json
|
||||
possible_tags = v.get('trainedWords', [])
|
||||
if isinstance(possible_tags, list):
|
||||
for tag_str in possible_tags:
|
||||
for tag in tag_str.split(','):
|
||||
tag = tag.strip().lower()
|
||||
if tag not in tags:
|
||||
tags[tag] = 0
|
||||
possible_tags = version.get('trainedWords', [])
|
||||
if isinstance(possible_tags, list):
|
||||
for tag_str in possible_tags:
|
||||
for tag in tag_str.split(','):
|
||||
tag = tag.strip().lower()
|
||||
if tag not in tags:
|
||||
tags[tag] = 0
|
||||
|
||||
possible_tags = info.get('tags', []) # tags from info json
|
||||
if not isinstance(possible_tags, list):
|
||||
@@ -86,7 +85,7 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
|
||||
"metadata": json.dumps(l.metadata, indent=4) if l.metadata else None,
|
||||
"mtime": mtime,
|
||||
"size": size,
|
||||
"version": version[0].get("baseModel", l.sd_version) if info else l.sd_version,
|
||||
"version": version.get("baseModel", l.sd_version) if info else l.sd_version,
|
||||
"info": info,
|
||||
"description": self.find_description(l.filename, info),
|
||||
"tags": self.get_tags(l, info, version),
|
||||
|
||||
@@ -32,7 +32,7 @@ class ExtraNetworksPageVAEs(ui_extra_networks.ExtraNetworksPage):
|
||||
"size": size,
|
||||
"info": info,
|
||||
"description": self.find_description(filename, info),
|
||||
"version": version[0].get("baseModel", "N/A") if info else "N/A",
|
||||
"version": version.get("baseModel", "N/A") if info else "N/A",
|
||||
}
|
||||
yield record
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user