watermark_generate_controller.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. """
  2. 数据集图片处理http接口
  3. """
  4. from flask import Blueprint, request, jsonify
  5. from watermark_generate.exceptions import BusinessException
  6. from watermark_generate import logger
  7. generator = Blueprint('generator', __name__)
  8. # 允许的扩展名
  9. ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
  10. # 判断文件扩展名是否合法
  11. def allowed_file(filename):
  12. return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
  13. # 获取文件扩展名
  14. def get_file_extension(filename):
  15. return filename.rsplit('.', 1)[1].lower()
  16. @generator.route('/model/watermark/embed', methods=['POST'])
  17. def watermark_embed():
  18. """
  19. 上传模型代码压缩包文件路径,进行代码修改后,返回修改后的模型代码压缩包位置
  20. model_file: 模型代码压缩包文件绝对路径
  21. model_value: 模型名称
  22. model_type: 模型类型
  23. :return: 处理完成的模型代码压缩包绝对路径
  24. """
  25. data = request.json
  26. logger.info(f'watermark embed request: {data}')
  27. # 获取请求参数
  28. model_file = data.get('model_file')
  29. model_value = data.get('model_value')
  30. model_type = data.get('model_type')
  31. if model_file is None:
  32. raise BusinessException(message='模型代码路径不可为空', code=-1)
  33. if model_value is None:
  34. raise BusinessException(message='模型值不可为空', code=-1)
  35. if model_type is None:
  36. raise BusinessException(message='模型类型不可为空', code=-1)
  37. # 解压模型文件代码
  38. # 修改模型文件代码
  39. # 压缩修改后的模型文件代码
  40. # 返回文件响应流
  41. return jsonify({'model_file_new': 'test_path', 'hash_flag': 0, 'license': 0}), 200