fix: update model type checks to include LoCon and lycoris in API routes. Fixes https://github.com/willmiao/ComfyUI-Lora-Manager/issues/159

This commit is contained in:
Will Miao
2025-05-05 07:48:08 +08:00
parent a3d8261686
commit 1ff2019dde
3 changed files with 8 additions and 13 deletions

View File

@@ -386,10 +386,10 @@ class ApiRoutes:
versions = response.get('modelVersions', [])
model_type = response.get('type', '')
# Check model type - should be LORA
if model_type.lower() != 'lora':
# Check model type - should be LORA or LoCon
if model_type.lower() not in ['lora', 'locon']:
return web.json_response({
'error': f"Model type mismatch. Expected LORA, got {model_type}"
'error': f"Model type mismatch. Expected LORA or LoCon, got {model_type}"
}, status=400)
# Check local availability for each version

View File

@@ -136,15 +136,9 @@ class DownloadManager:
# 3. Prepare download
file_name = file_info['name']
save_path = os.path.join(save_dir, file_name)
file_size = file_info.get('sizeKB', 0) * 1024
# 4. Notify file monitor - use normalized path and file size
file_monitor = await self._get_lora_monitor() if model_type == "lora" else await self._get_checkpoint_monitor()
if file_monitor and file_monitor.handler:
file_monitor.handler.add_ignore_path(
save_path.replace(os.sep, '/'),
file_size
)
# file monitor is despreted, so we don't need to use it
# 5. Prepare metadata based on model type
if model_type == "checkpoint":

View File

@@ -426,10 +426,11 @@ class StandardMetadataParser(RecipeMetadataParser):
resources = json.loads(resources_json)
# Filter loras and checkpoints
for resource in resources:
if resource.get('type') == 'lora':
# 确保 weight 字段被正确保留
# Process both 'lora' and 'lycoris' types as loras
if resource.get('type') == 'lora' or resource.get('type') == 'lycoris':
# Ensure weight field is properly preserved
lora_entry = resource.copy()
# 如果找不到 weight默认为 1.0
# Default to 1.0 if weight not found
if 'weight' not in lora_entry:
lora_entry['weight'] = 1.0
# Ensure modelVersionName is included