mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 09:14:35 +02:00
update reference displays
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
@@ -417,6 +417,13 @@ class ExtraNetworksPage:
|
||||
|
||||
try:
|
||||
onclick = f'cardClicked({item.get("prompt", None)})'
|
||||
tags = item.get("tags", {})
|
||||
if isinstance(tags, list):
|
||||
tags = '|'.join(tags)
|
||||
elif isinstance(tags, dict):
|
||||
tags = '|'.join(list(tags.keys()))
|
||||
else:
|
||||
tags = str(tags)
|
||||
args = {
|
||||
# "tabname": tabname,
|
||||
"page": self.name,
|
||||
@@ -424,7 +431,7 @@ class ExtraNetworksPage:
|
||||
"title": os.path.basename(item["name"].replace('_', ' ')),
|
||||
"filename": html.escape(item.get('filename', ''), quote=True),
|
||||
"short": os.path.splitext(os.path.basename(item.get('filename', '')))[0],
|
||||
"tags": '|'.join([item.get('tags')] if isinstance(item.get('tags', {}), str) else list(item.get('tags', {}).keys())),
|
||||
"tags": tags,
|
||||
"preview": html.escape(item.get('preview', None) or self.link_preview('ui/assets/missing.png')),
|
||||
"width": 'var(--card-size)',
|
||||
"height": 'var(--card-size)' if shared.opts.extra_networks_card_square else 'auto',
|
||||
@@ -959,6 +966,7 @@ def create_ui(container, button_parent: gr.Button, tabname: str, skip_indexing =
|
||||
<tr><td>Title</td><td>{meta.get('modelspec.title', 'N/A')}</td></tr>
|
||||
<tr><td>Resolution</td><td>{meta.get('modelspec.resolution', 'N/A')}</td></tr>
|
||||
'''
|
||||
tags = None
|
||||
if page.title == 'Lora':
|
||||
try:
|
||||
tags = getattr(item, 'tags', {})
|
||||
@@ -989,6 +997,9 @@ def create_ui(container, button_parent: gr.Button, tabname: str, skip_indexing =
|
||||
<tr><td>Description</td><td>{item.description}</td></tr>
|
||||
<tr><td>Preview Embedded</td><td>{item.preview.startswith('data:')}</td></tr>
|
||||
'''
|
||||
if tags is None:
|
||||
tags = getattr(item, 'tags', [])
|
||||
tags = ' '.join(tags) if isinstance(tags, list) else tags
|
||||
if item.name.startswith('Diffusers'):
|
||||
url = item.name.replace('Diffusers/', '')
|
||||
url = f'<a href="https://huggingface.co/{url}" target="_blank">https://huggingface.co/models/{url}</a>'
|
||||
@@ -1007,6 +1018,7 @@ def create_ui(container, button_parent: gr.Button, tabname: str, skip_indexing =
|
||||
<tr><td>Size</td><td>{round(stat_size/1024/1024, 2)} MB</td></tr>
|
||||
<tr><td>Last modified</td><td>{stat_mtime}</td></tr>
|
||||
<tr><td>Source URL</td><td>{url}</td></tr>
|
||||
<tr><td>Tags</td><td>{tags}</td></tr>
|
||||
<tr><td style="border-top: 1px solid var(--button-primary-border-color);"></td><td></td></tr>
|
||||
{lora}
|
||||
{model}
|
||||
|
||||
@@ -16,13 +16,19 @@ version_map = {
|
||||
"FluxKontext": "Flux",
|
||||
"SDXL 1.0": "SD XL",
|
||||
"SDXL Hyper": "SD XL",
|
||||
"StableDiffusion": "SD 1.5",
|
||||
"StableDiffusion3": "SD 3",
|
||||
"StableDiffusionXL": "SD XL",
|
||||
"WanToVideo": "Wan",
|
||||
"WanVACE": "Wan",
|
||||
"Z": "Z-Image",
|
||||
"Glm": "GLM-Image",
|
||||
"Krea2": "Krea 2",
|
||||
"AnimaTextTo": "Anima",
|
||||
"Ideogram4": "Ideogram 4",
|
||||
"Flux2": "Flux 2",
|
||||
"Flux2Klein": "Flux 2 Klein",
|
||||
"Flux2KleinKV": "Flux 2 Klein",
|
||||
}
|
||||
|
||||
class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
|
||||
@@ -51,7 +57,10 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
|
||||
dct = readfile(fn, as_type="dict", silent=True)
|
||||
for k, v in dct.items():
|
||||
v['skip'] = 'safetensors' not in v.get('path', '')
|
||||
v['tags'] = tag
|
||||
v['tags'] = [tag.capitalize()]
|
||||
size = v.get('size', 0)
|
||||
if size > 0:
|
||||
v['tags'].append(f'Size: {size} GB')
|
||||
shared.reference_models[k] = v
|
||||
|
||||
for k, v in shared.reference_models.items():
|
||||
@@ -72,33 +81,44 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
|
||||
name = os.path.normpath(os.path.join(paths.reference_path, k)).replace('\\', '/')
|
||||
size = int(float(v.get('size', 0)) * 1024 * 1024 * 1024)
|
||||
mtime = v.get('date', None)
|
||||
_size, _mtime = modelstats.stat(preview_file)
|
||||
if mtime is None:
|
||||
_size, mtime = modelstats.stat(preview_file)
|
||||
mtime = _mtime
|
||||
else:
|
||||
try:
|
||||
mtime = datetime.strptime(mtime, '%Y %B') # 2025 January
|
||||
mtime = datetime.strptime(_mtime, '%Y %B') # 2025 January
|
||||
except Exception:
|
||||
_size, mtime = modelstats.stat(preview_file)
|
||||
pass
|
||||
if size == 0:
|
||||
size = _size
|
||||
if len(v.get("subfolder", "")) > 0:
|
||||
path = f'{v.get("path", "")}+{v.get("subfolder", "")}'
|
||||
else:
|
||||
path = f'{v.get("path", "")}'
|
||||
|
||||
tag = v.get('tags', '')
|
||||
tag = tag.split(',')[0].strip() # take first tag if multiple
|
||||
if tag == 'nunchaku' and (devices.backend != 'cuda' and not shared.cmd_opts.experimental):
|
||||
tag = v.get('tags', [])
|
||||
if isinstance(tag, list):
|
||||
tag = ', '.join(tag)
|
||||
if isinstance(tag, list) and len(tag) > 0:
|
||||
primary = tag[0].strip()
|
||||
elif isinstance(tag, str):
|
||||
primary = tag.split(',')[0].strip() if len(tag) > 0 else ''
|
||||
else:
|
||||
primary = ''
|
||||
|
||||
if ('nunchaku' in tag) and (devices.backend != 'cuda' and not shared.cmd_opts.experimental):
|
||||
count['hidden'] += 1
|
||||
continue
|
||||
if tag in count:
|
||||
count[tag] += 1
|
||||
elif tag != '':
|
||||
count[tag] = 1
|
||||
if primary in count:
|
||||
count[primary] += 1
|
||||
elif primary != '':
|
||||
count[primary] = 1
|
||||
else:
|
||||
count['base'] += 1
|
||||
|
||||
ready = reference_downloaded(url)
|
||||
version = "ready" if ready else "download"
|
||||
if tag == 'cloud':
|
||||
if 'cloud' in tag :
|
||||
version = 'Cloud'
|
||||
if not ready and shared.opts.offline_mode:
|
||||
count['hidden'] += 1
|
||||
@@ -121,7 +141,7 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
|
||||
"metadata": {},
|
||||
"description": v.get('desc', ''),
|
||||
"version": version,
|
||||
"tags": tag,
|
||||
"tags": v.get('tags', []),
|
||||
}
|
||||
log.debug(f'Networks: type="reference" {count}')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user