40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
from copy import deepcopy
|
|
from fastapi import APIRouter, Depends
|
|
|
|
from context.common import conf_file_path, conf, auth_util
|
|
from . import schemas
|
|
|
|
router = APIRouter(
|
|
prefix="/system", dependencies=[Depends(auth_util.token_data_depend)])
|
|
|
|
|
|
@router.post("/setting/get", response_model=schemas.SettingGetRes)
|
|
def setting_get():
|
|
conf.read(conf_file_path, encoding='utf-8-sig')
|
|
data = deepcopy(conf._sections)
|
|
# data = {k: v for k, v in data.items() if k in ['rate_utils']}
|
|
return schemas.SettingGetRes(data=data)
|
|
|
|
|
|
@router.post("/setting/update_item")
|
|
def setting_update_item(req: schemas.SettingUpdateItemReq):
|
|
with open(conf_file_path.parent / (conf_file_path.name + '.bak'), 'w', encoding="utf-8-sig") as configfile:
|
|
conf.write(configfile)
|
|
with open(conf_file_path, 'w', encoding="utf-8-sig") as configfile:
|
|
conf.set(req.section, req.option, req.value)
|
|
conf.write(configfile)
|
|
return "修改成功"
|
|
|
|
|
|
@router.post("/setting/update")
|
|
def setting_update(req: schemas.SettingUpdateReq):
|
|
with open(conf_file_path.parent / (conf_file_path.name + '.bak'), 'w', encoding="utf-8-sig") as configfile:
|
|
conf.write(configfile)
|
|
with open(conf_file_path, 'w', encoding="utf-8-sig") as configfile:
|
|
data = req.data
|
|
for section, item in data.items():
|
|
for option, value in item.items():
|
|
conf.set(section, option, value)
|
|
conf.write(configfile)
|
|
return "修改成功"
|