api-datamanager/Modules/File/FileRoutes.py

26 lines
996 B
Python

from flask import Blueprint, request, Response, make_response
from Modules.File.FileImpl import FileObjImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
file_route = Blueprint('file', __name__)
@file_route.route('/new_file_package', methods=['POST'])
def new_file_package_route():
"""新建文件包"""
try:
RouteParamsCheck(req=request.json,
params=["package_name", "obj_name", "impl_name", "route_name", "class_data", "impl_range",
"route_prefix"]).required()
data = request.json
impl = FileObjImpl()
src_dir = impl.new_file_package(data=data)
impl.write_file_to_zip(src_dir=src_dir)
response = Response(impl.return_file_data(package_name=data['package_name']), content_type='application/zip')
impl.delete_all_file()
return response
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code