wd-rating/mods/system/router.py

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 "修改成功"