fix: fix api not work
This commit is contained in:
parent
79392a2f70
commit
50602ede43
3 changed files with 31 additions and 26 deletions
|
@ -1,3 +1,4 @@
|
|||
from api.utils.common_log import myLogger
|
||||
from api.utils.helper import Singleton
|
||||
|
||||
|
||||
|
@ -11,20 +12,26 @@ class Settings(object):
|
|||
def __init__(self):
|
||||
self._config = {}
|
||||
self.config_file = '/usr/src/app/config/settings.conf'
|
||||
|
||||
def init_config_from_file(self, config_file: str=None):
|
||||
if config_file:
|
||||
self.config_file = config_file
|
||||
|
||||
def build_config(self):
|
||||
try:
|
||||
with open(config_file, 'r') as f:
|
||||
with open(self.config_file, 'r') as f:
|
||||
data = f.readlines()
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
data = []
|
||||
for i in data:
|
||||
if i.startswith('#'):
|
||||
continue
|
||||
i = i.replace('\n', '').replace('\r\n', '')
|
||||
key, value = i.split('=')
|
||||
if self._config.get(key) != value:
|
||||
self._config[key] = value
|
||||
return self._config
|
||||
|
||||
def init_config_from_file(self, config_file: str=None):
|
||||
if config_file:
|
||||
self.config_file = config_file
|
||||
self.build_config()
|
||||
|
||||
def update_setting(self, key: str, value: str):
|
||||
self._config[key] = value
|
||||
|
@ -33,17 +40,22 @@ class Settings(object):
|
|||
def get_setting(self, key: str, default=None):
|
||||
return self._config.get(key, default)
|
||||
|
||||
def list_all_settings(self) -> list:
|
||||
def list_all_settings(self) -> dict:
|
||||
self.build_config()
|
||||
return self._config
|
||||
|
||||
def delete_setting(self, key: str, value: str):
|
||||
if key in self._config:
|
||||
if self._config.get(key) == value:
|
||||
del self._config[key]
|
||||
self.flush_config()
|
||||
|
||||
def flush_config(self):
|
||||
with open(self.config_file, 'w') as f:
|
||||
for key, value in self._config.items():
|
||||
f.write(f'{key}={value}\n')
|
||||
try:
|
||||
with open(self.config_file, 'w') as f:
|
||||
for key, value in self._config.items():
|
||||
f.write(f'{key}={value}\n')
|
||||
except Exception as e:
|
||||
myLogger.error_logger(e)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -79,11 +79,6 @@ rd_user_list = rd_s + user + rd_e
|
|||
rd_updateuser_list=rd_s + updateuser + rd_e
|
||||
|
||||
|
||||
class SettingItem(BaseModel):
|
||||
|
||||
key: str = Field(description="配置项")
|
||||
value: str = Field(description="配置项的取值")
|
||||
|
||||
@router.api_route("/AppStatus", methods=["GET", "POST"], summary="获取指定APP的信息",
|
||||
response_description=rd_status,
|
||||
response_model=Response)
|
||||
|
@ -394,7 +389,6 @@ def AppStoreUpdateList(request: Request):
|
|||
|
||||
@router.api_route("/AppUpdateList", methods=["GET", "POST"], summary="查询更新內容", response_model=Response, response_description=rd_update_list)
|
||||
def AppUpdateList(request: Request):
|
||||
|
||||
try:
|
||||
myLogger.info_logger("Receive request: /AppUpdateList")
|
||||
get_headers(request)
|
||||
|
@ -465,7 +459,7 @@ def AppPreviewUpdate(request: Request,preview: Optional[str] = Query(default=Non
|
|||
return response
|
||||
|
||||
@router.api_route("/AppAutoUpdate", methods=["GET", "POST"], summary="软件商店自动更新", response_model=Response, response_description=rd_auto_list)
|
||||
def AppAutoUpdate(request: Request,auto_update: Optional[str] = Query(default=None, description="自动更新标志(可选值:true,false,None)")):
|
||||
def AppAutoUpdate(request: Request, auto_update: Optional[str] = Query(default=None, description="自动更新标志(可选值:true,false,None)")):
|
||||
|
||||
try:
|
||||
myLogger.info_logger("Receive request: /AppAutoUpdate")
|
||||
|
@ -511,7 +505,7 @@ def AppSearchUsers(request: Request, plugin_name: Optional[str] = Query(default=
|
|||
return response
|
||||
|
||||
@router.api_route("/AppUpdateUser", methods=["GET", "POST"], summary="更新appstore用户信息", response_model=Response, response_description=rd_updateuser_list)
|
||||
def AppUpdateUser(request: Request,user_name: Optional[str] = Query(default=None, description="用户名"), password: Optional[str] = Query(default=None, description="密码")):
|
||||
def AppUpdateUser(request: Request, user_name: Optional[str] = Query(default=None, description="用户名"), password: Optional[str] = Query(default=None, description="密码")):
|
||||
|
||||
try:
|
||||
myLogger.info_logger("Receive request: /AppUpdateUser")
|
||||
|
@ -545,15 +539,16 @@ def list_settings():
|
|||
|
||||
|
||||
@router.api_route("/AppUpdateSettings", methods=['GET', 'POST'], summary="创建或者更新配置信息")
|
||||
def create_or_update_settings(item: SettingItem):
|
||||
settings.update_setting(item.key, item.value)
|
||||
def create_or_update_settings(request: Request, key: str = Query(description="配置 Key"), value: str = Query(description="配置取值")):
|
||||
settings.update_setting(key, value)
|
||||
return JSONResponse(content={})
|
||||
|
||||
|
||||
|
||||
@router.api_route("/AppDeleteSettings", methods=['GET', 'POST'], summary="删除配置信息")
|
||||
def delete_settings(item: SettingItem):
|
||||
settings.delete_setting(item.key, item.value)
|
||||
|
||||
def delete_settings(request: Request, key: str = Query(description="配置 Key"), value: str = Query(description="配置取值")):
|
||||
settings.delete_setting(key, value)
|
||||
return JSONResponse(content={})
|
||||
|
||||
def get_headers(request):
|
||||
headers = request.headers
|
||||
|
|
|
@ -65,7 +65,5 @@ async def redoc_html():
|
|||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description='websoft9')
|
||||
parser.add_argument("--port", type=int, dest='port', default=5000, metavar="port")
|
||||
parser.add_argument("--config", type=str, dest="config_file", required=True)
|
||||
args = parser.parse_args()
|
||||
settings.init_config_from_file(config_file=args.config_file)
|
||||
uvicorn.run("main:get_app", host='0.0.0.0', port=args.port, reload=True)
|
Loading…
Add table
Reference in a new issue