image_wms.py 1.8 KB
# coding=utf-8
#author:        4N
#createtime:    2021/3/24
#email:         nheweijun@sina.com


from app.util.component.ApiTemplate import ApiTemplate

from threading import Thread
from .util.ImageWMSServer import ImageWMSServer

class Api(ApiTemplate):

    api_name = "WMS"


    def __init__(self,service_name):
        super().__init__()
        self.service_name = service_name

    def process(self):
        try:
            instance = ImageWMSServer()
            response =  instance.wms(self.service_name,self.para)

        except Exception as e:
           raise e
        return response



    api_doc = {
        "tags": ["影像接口"],
        "parameters": [
            {"name": "request",
             "in": "query",
             "type": "string",
             "enum":["GetMap","GetCapabilities"]},
            {"name": "bbox",
             "in": "query",
             "type": "string"},
            {"name": "width",
             "in": "query",
             "type": "string"},
            {"name": "height",
             "in": "query",
             "type": "string"},
            {"name": "format",
             "in": "query",
             "type": "string"},
            {"name": "quality",
             "in": "query",
             "type": "string"}
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }

class MyThread(Thread):
    def __init__(self,func,args=()):
        super(MyThread,self).__init__()
        self.func = func
        self.args = args
    def run(self):
        self.result = self.func(*self.args)
    def get_result(self):
        try:
            return self.result
        except Exception:
            return None