From ee84571bdb3e6e893d3152e0facc79c671f92959 Mon Sep 17 00:00:00 2001 From: Will Miao <13051207myq@gmail.com> Date: Tue, 19 Aug 2025 20:20:30 +0800 Subject: [PATCH] refactor: Simplify handling of base model path mappings and download path templates by removing unnecessary JSON.stringify calls --- py/routes/misc_routes.py | 11 ----------- static/js/managers/SettingsManager.js | 12 ++++-------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/py/routes/misc_routes.py b/py/routes/misc_routes.py index f3d21c6a..87a16aac 100644 --- a/py/routes/misc_routes.py +++ b/py/routes/misc_routes.py @@ -1,4 +1,3 @@ -import json import logging import os import sys @@ -183,16 +182,6 @@ class MiscRoutes: if old_path != value: logger.info(f"Example images path changed to {value} - server restart required") - # Special handling for base_model_path_mappings - parse JSON string - if (key == 'base_model_path_mappings' or key == 'download_path_templates') and value: - try: - value = json.loads(value) - except json.JSONDecodeError: - return web.json_response({ - 'success': False, - 'error': f"Invalid JSON format for base_model_path_mappings: {value}" - }) - # Save to settings settings.set(key, value) diff --git a/static/js/managers/SettingsManager.js b/static/js/managers/SettingsManager.js index dfb0f3c3..7953136c 100644 --- a/static/js/managers/SettingsManager.js +++ b/static/js/managers/SettingsManager.js @@ -132,11 +132,7 @@ export class SettingsManager { fieldsToSync.forEach(key => { if (localSettings[key] !== undefined) { - if (key === 'base_model_path_mappings' || key === 'download_path_templates') { - payload[key] = JSON.stringify(localSettings[key]); - } else { - payload[key] = localSettings[key]; - } + payload[key] = localSettings[key]; } }); @@ -546,7 +542,7 @@ export class SettingsManager { 'Content-Type': 'application/json', }, body: JSON.stringify({ - base_model_path_mappings: JSON.stringify(state.global.settings.base_model_path_mappings) + base_model_path_mappings: state.global.settings.base_model_path_mappings }) }); @@ -733,7 +729,7 @@ export class SettingsManager { 'Content-Type': 'application/json', }, body: JSON.stringify({ - download_path_templates: JSON.stringify(state.global.settings.download_path_templates) + download_path_templates: state.global.settings.download_path_templates }) }); @@ -868,7 +864,7 @@ export class SettingsManager { if (settingKey === 'default_lora_root' || settingKey === 'default_checkpoint_root' || settingKey === 'default_embedding_root' || settingKey === 'download_path_templates') { const payload = {}; if (settingKey === 'download_path_templates') { - payload[settingKey] = JSON.stringify(state.global.settings.download_path_templates); + payload[settingKey] = state.global.settings.download_path_templates; } else { payload[settingKey] = value; }