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