image_info.py 1.6 KB
# coding=utf-8
#author:        4N
#createtime:    2021/7/19
#email:         nheweijun@sina.com


from app.util.component.ApiTemplate import ApiTemplate
from app.util.component.ModelVisitor import ModelVisitor

from app.modules.service.models import Image,ImageTag
from app.util.component.FileProcess import FileProcess

class Api(ApiTemplate):

    api_name = "影像数据Info"

    def process(self):

        # 返回结果
        res = {}
        try:

            guid = self.para.get("guid")

            image = Image.query.filter_by(guid=guid).one_or_none()
            if not image:
                raise Exception("数据不存在!")
            tags:ImageTag = image.image_tags
            # tag_names = [tag.name for tag in tags]

            res["data"] = ModelVisitor.object_to_json(image)

            #格式化数据

            res["data"]["size"] = FileProcess.get_text_size(res["data"]["size"])
            res["data"]["cell_x_size"] = round(res["data"]["cell_x_size"],3)
            res["data"]["cell_y_size"] = round(res["data"]["cell_y_size"], 3)

            res["data"]["image_tags"] = ModelVisitor.objects_to_jsonarray(tags)
            res["result"] = True
        except Exception as e:
            raise e

        return res


    api_doc = {
        "tags": ["影像接口"],
        "parameters": [
            {"name": "guid",
             "in": "formData",
             "type": "string"},
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }