mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-06 07:56:52 +08:00
fix 非str类型设置保存
This commit is contained in:
+18
-8
@@ -1,4 +1,5 @@
|
|||||||
import copy
|
import copy
|
||||||
|
import json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import secrets
|
import secrets
|
||||||
@@ -361,13 +362,16 @@ class Settings(BaseSettings, ConfigModel, LogConfigModel):
|
|||||||
if field_name in fields_not_keep_spaces:
|
if field_name in fields_not_keep_spaces:
|
||||||
value = re.sub(r"\s+", "", value)
|
value = re.sub(r"\s+", "", value)
|
||||||
return value, str(value) != str(original_value)
|
return value, str(value) != str(original_value)
|
||||||
# # 后续考虑支持 list 类型的处理
|
# 支持 list 类型的处理
|
||||||
# elif expected_type is list:
|
elif expected_type is list:
|
||||||
# if isinstance(value, list):
|
if isinstance(value, list):
|
||||||
# return value, False
|
return value, str(value) != str(original_value)
|
||||||
# if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
# items = [item.strip() for item in value.split(",") if item.strip()]
|
items = json.loads(value)
|
||||||
# return items, items != original_value.split(",")
|
if isinstance(original_value, list):
|
||||||
|
return items, items != original_value
|
||||||
|
else:
|
||||||
|
return items, str(items) != str(original_value)
|
||||||
# 可根据需要添加更多类型处理
|
# 可根据需要添加更多类型处理
|
||||||
else:
|
else:
|
||||||
return value, str(value) != str(original_value)
|
return value, str(value) != str(original_value)
|
||||||
@@ -408,7 +412,13 @@ class Settings(BaseSettings, ConfigModel, LogConfigModel):
|
|||||||
logger.warning(message)
|
logger.warning(message)
|
||||||
return False, message
|
return False, message
|
||||||
else:
|
else:
|
||||||
set_key(SystemUtils.get_env_path(), field.name, str(converted_value) if converted_value is not None else "")
|
# 如果是列表、字典或集合类型,将其转换为JSON字符串
|
||||||
|
if isinstance(converted_value, (list, dict, set)):
|
||||||
|
value_to_write = json.dumps(converted_value)
|
||||||
|
else:
|
||||||
|
value_to_write = str(converted_value) if converted_value is not None else ""
|
||||||
|
|
||||||
|
set_key(SystemUtils.get_env_path(), field.name, value_to_write)
|
||||||
if is_converted:
|
if is_converted:
|
||||||
logger.info(f"配置项 '{field.name}' 已自动修正并写入到 'app.env' 文件")
|
logger.info(f"配置项 '{field.name}' 已自动修正并写入到 'app.env' 文件")
|
||||||
return True, message
|
return True, message
|
||||||
|
|||||||
+11
-6
@@ -89,12 +89,17 @@ class WallpaperHelper(metaclass=Singleton):
|
|||||||
wallpaper_list = []
|
wallpaper_list = []
|
||||||
resp = self.req.get_res(settings.CUSTOMIZE_WALLPAPER_API_URL)
|
resp = self.req.get_res(settings.CUSTOMIZE_WALLPAPER_API_URL)
|
||||||
if resp and resp.status_code == 200:
|
if resp and resp.status_code == 200:
|
||||||
try:
|
# 如果返回的是图片格式
|
||||||
result = resp.json()
|
content_type = resp.headers.get('Content-Type')
|
||||||
if isinstance(result, list) or isinstance(result, dict) or isinstance(result, str):
|
if content_type and content_type.lower() == 'image/jpeg':
|
||||||
wallpaper_list = find_files_with_suffixes(result, settings.SECURITY_IMAGE_SUFFIXES)
|
wallpaper_list.append(resp.url)
|
||||||
except Exception as err:
|
else:
|
||||||
print(str(err))
|
try:
|
||||||
|
result = resp.json()
|
||||||
|
if isinstance(result, list) or isinstance(result, dict) or isinstance(result, str):
|
||||||
|
wallpaper_list = find_files_with_suffixes(result, settings.SECURITY_IMAGE_SUFFIXES)
|
||||||
|
except Exception as err:
|
||||||
|
print(str(err))
|
||||||
return wallpaper_list
|
return wallpaper_list
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|||||||
Reference in New Issue
Block a user