mirror of
https://github.com/vladmandic/automatic
synced 2026-09-01 10:01:01 +02:00
update civit downloader
This commit is contained in:
@@ -171,6 +171,7 @@ Further details:
|
||||
- fix ipadapter apply/unapply on batch runs
|
||||
- fix control with multiple units and override images
|
||||
- fix control-lllite
|
||||
- update civitai downloader to handler new metadata
|
||||
- improve control error handling
|
||||
- use default model variant if specified variant doesnt exist
|
||||
- use diffusers lora load override for *lcm/tcd/turbo loras*
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import os
|
||||
import time
|
||||
import json
|
||||
import shutil
|
||||
import importlib
|
||||
from typing import Dict
|
||||
@@ -117,6 +118,12 @@ def download_civit_model_thread(model_name, model_url, model_path, model_type, t
|
||||
try:
|
||||
with open(temp_file, 'ab') as f:
|
||||
for data in r.iter_content(block_size):
|
||||
if written == 0:
|
||||
try: # check if response is JSON message instead of bytes
|
||||
shared.log.error(f'Model download: response={json.loads(data.decode("utf-8"))}')
|
||||
raise ValueError('response: type=json expected=bytes')
|
||||
except Exception: # this is good
|
||||
pass
|
||||
written = written + len(data)
|
||||
f.write(data)
|
||||
download_pbar.update(task, description="Download", completed=written)
|
||||
@@ -136,7 +143,8 @@ def download_civit_model_thread(model_name, model_url, model_path, model_type, t
|
||||
download_pbar.remove_task(task)
|
||||
if starting_pos+total_size != written:
|
||||
shared.log.warning(f'{res} written={round(written/1024/1024)}Mb incomplete download')
|
||||
else:
|
||||
elif os.path.exists(temp_file):
|
||||
shared.log.debug(f'Model download complete: temp="{temp_file}" path="{model_file}"')
|
||||
os.rename(temp_file, model_file)
|
||||
shared.state.end()
|
||||
return res
|
||||
|
||||
@@ -474,9 +474,13 @@ def create_ui():
|
||||
for model in data:
|
||||
if model['id'] == model_id:
|
||||
for d in model['modelVersions']:
|
||||
if d.get('images') is not None and len(d['images']) > 0 and len(d['images'][0]['url']) > 0:
|
||||
preview_img = d['images'][0]['url']
|
||||
data2.append([d['id'], d['modelId'], d['name'], d['baseModel'], d['createdAt']])
|
||||
try:
|
||||
if d.get('images') is not None and len(d['images']) > 0 and len(d['images'][0]['url']) > 0:
|
||||
preview_img = d['images'][0]['url']
|
||||
data2.append([d.get('id', None), d.get('modelId', None) or model_id, d.get('name', None), d.get('baseModel', None), d.get('createdAt', None) or d.get('publishedAt', None)])
|
||||
except Exception as e:
|
||||
log.error(f'CivitAI select: model="{in_data[evt.index[0]]}" {e}')
|
||||
log.error(f'CivitAI version data={type(d)}: {d}')
|
||||
log.debug(f'CivitAI select: model="{in_data[evt.index[0]]}" versions={len(data2)}')
|
||||
return data2, None, preview_img
|
||||
|
||||
|
||||
Reference in New Issue
Block a user