mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-25 15:15:44 -03:00
Enhance error handling and input validation in fetch_and_update_model method
This commit is contained in:
@@ -51,7 +51,7 @@ class ModelRouteUtils:
|
|||||||
model_id = civitai_metadata['modelId']
|
model_id = civitai_metadata['modelId']
|
||||||
if model_id:
|
if model_id:
|
||||||
model_metadata, _ = await client.get_model_metadata(str(model_id))
|
model_metadata, _ = await client.get_model_metadata(str(model_id))
|
||||||
if model_metadata:
|
if (model_metadata):
|
||||||
local_metadata['modelDescription'] = model_metadata.get('description', '')
|
local_metadata['modelDescription'] = model_metadata.get('description', '')
|
||||||
local_metadata['tags'] = model_metadata.get('tags', [])
|
local_metadata['tags'] = model_metadata.get('tags', [])
|
||||||
local_metadata['civitai']['creator'] = model_metadata['creator']
|
local_metadata['civitai']['creator'] = model_metadata['creator']
|
||||||
@@ -144,6 +144,11 @@ class ModelRouteUtils:
|
|||||||
"""
|
"""
|
||||||
client = CivitaiClient()
|
client = CivitaiClient()
|
||||||
try:
|
try:
|
||||||
|
# Validate input parameters
|
||||||
|
if not isinstance(model_data, dict):
|
||||||
|
logger.error(f"Invalid model_data type: {type(model_data)}")
|
||||||
|
return False
|
||||||
|
|
||||||
metadata_path = os.path.splitext(file_path)[0] + '.metadata.json'
|
metadata_path = os.path.splitext(file_path)[0] + '.metadata.json'
|
||||||
|
|
||||||
# Check if model metadata exists
|
# Check if model metadata exists
|
||||||
@@ -167,21 +172,25 @@ class ModelRouteUtils:
|
|||||||
client
|
client
|
||||||
)
|
)
|
||||||
|
|
||||||
# Update cache object directly
|
# Update cache object directly using safe .get() method
|
||||||
model_data.update({
|
update_dict = {
|
||||||
'model_name': local_metadata.get('model_name'),
|
'model_name': local_metadata.get('model_name'),
|
||||||
'preview_url': local_metadata.get('preview_url'),
|
'preview_url': local_metadata.get('preview_url'),
|
||||||
'from_civitai': True,
|
'from_civitai': True,
|
||||||
'civitai': civitai_metadata
|
'civitai': civitai_metadata
|
||||||
})
|
}
|
||||||
|
model_data.update(update_dict)
|
||||||
|
|
||||||
# Update cache using the provided function
|
# Update cache using the provided function
|
||||||
await update_cache_func(file_path, file_path, local_metadata)
|
await update_cache_func(file_path, file_path, local_metadata)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
except KeyError as e:
|
||||||
|
logger.error(f"Error fetching CivitAI data - Missing key: {e} in model_data={model_data}")
|
||||||
|
return False
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Error fetching CivitAI data: {e}")
|
logger.error(f"Error fetching CivitAI data: {str(e)}", exc_info=True) # Include stack trace
|
||||||
return False
|
return False
|
||||||
finally:
|
finally:
|
||||||
await client.close()
|
await client.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user