mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-05-11 18:10:15 +08:00
fix(config): update in-memory setting only on env update
This commit is contained in:
@@ -360,15 +360,19 @@ class Settings(BaseSettings, ConfigModel):
|
||||
|
||||
try:
|
||||
field = self.__fields__[key]
|
||||
original_value = getattr(self, key)
|
||||
if field.name == "API_TOKEN":
|
||||
converted_value, needs_update = self.validate_api_token(value, getattr(self, key))
|
||||
converted_value, needs_update = self.validate_api_token(value, original_value)
|
||||
else:
|
||||
converted_value, needs_update = self.generic_type_converter(value, getattr(self, key), field.type_,
|
||||
converted_value, needs_update = self.generic_type_converter(value, original_value, field.type_,
|
||||
field.default, key)
|
||||
# 如果没有抛出异常,则统一使用 converted_value 进行更新
|
||||
if needs_update or str(value) != str(converted_value):
|
||||
setattr(self, key, converted_value)
|
||||
return self.update_env_config(field, value, converted_value)
|
||||
success, message = self.update_env_config(field, original_value, converted_value)
|
||||
# 仅成功更新配置时,才更新内存
|
||||
if success:
|
||||
setattr(self, key, converted_value)
|
||||
return success, message
|
||||
return True, ""
|
||||
except Exception as e:
|
||||
return False, str(e)
|
||||
|
||||
Reference in New Issue
Block a user