zixaphir / Stable-Diffusion-Webui-Civitai-Helper

Stable Diffusion Webui Extension for Civitai, to manage your model much more easily.
175 stars 24 forks source link

[BUG] The problem with the "Scan Models for Civitai" module for models that are not in Civitai #96

Closed MortemSineNobis closed 2 months ago

MortemSineNobis commented 2 months ago

Describe Issue

When trying to update information on this model, the error "KeyError: 'images'" appears. The error appears for the Delimerate_v... models that are not in civitai.

Console log's msg or screenshot for function issue

CHv1.8.4: Creating model info for: Deliberate_v6.safetensors CHv1.8.4: model action sha256: bcce73a08e95a4d4a3332875342792a50ab9bf9f07fdedcab49fd425fac173be CHv1.8.4: Request model info from civitai CHv1.8.4: GET Request failed with error code: 404: Not Found CHv1.8.4: No existing model info. Traceback (most recent call last): File "E:\stable-diffusion-portable-main\venv\lib\site-packages\gradio\routes.py", line 488, in run_predict output = await app.get_blocks().process_api( File "E:\stable-diffusion-portable-main\venv\lib\site-packages\gradio\blocks.py", line 1431, in process_api result = await self.call_function( File "E:\stable-diffusion-portable-main\venv\lib\site-packages\gradio\blocks.py", line 1117, in call_function prediction = await utils.async_iteration(iterator) File "E:\stable-diffusion-portable-main\venv\lib\site-packages\gradio\utils.py", line 350, in async_iteration return await iterator.anext() File "E:\stable-diffusion-portable-main\venv\lib\site-packages\gradio\utils.py", line 343, in anext return await anyio.to_thread.run_sync( File "E:\stable-diffusion-portable-main\venv\lib\site-packages\anyio\to_thread.py", line 31, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "E:\stable-diffusion-portable-main\venv\lib\site-packages\anyio_backends_asyncio.py", line 937, in run_sync_in_worker_thread return await future File "E:\stable-diffusion-portable-main\venv\lib\site-packages\anyio_backends_asyncio.py", line 867, in run result = context.run(func, args) File "E:\stable-diffusion-portable-main\venv\lib\site-packages\gradio\utils.py", line 326, in run_sync_iterator_async return next(iterator) File "E:\stable-diffusion-portable-main\venv\lib\site-packages\gradio\utils.py", line 695, in gen_wrapper yield from f(args, **kwargs) File "E:\stable-diffusion-portable-main\extensions\Stable-Diffusion-Webui-Civitai-Helper\ch_lib\model_action_civitai.py", line 163, in scan_model for result in scan_single_model(filepath, model_type, refetch_old, delay): File "E:\stable-diffusion-portable-main\extensions\Stable-Diffusion-Webui-Civitai-Helper\ch_lib\model_action_civitai.py", line 96, in scan_single_model model.process_model_info(filepath, model_info, model_type, refetch_old=refetch_old) File "E:\stable-diffusion-portable-main\extensions\Stable-Diffusion-Webui-Civitai-Helper\ch_lib\model.py", line 284, in process_model_info for img in model_info["images"]: KeyError: 'images'

My solution to the problem:

Edit file \ch_lib\model.py: Add check for key "images" in process_model_info

if util.get_opts("ch_download_examples"):
  if "images" in model_info.keys():
    for img in model_info["images"]:
Brennok commented 2 months ago

Came to report the same error.