image_cancle.py
2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# coding=utf-8
#author: 4N
#createtime: 2021/7/19
#email: nheweijun@sina.com
from osgeo import gdal,ogr,osr
from osgeo.gdal import Dataset,Band
from app.util.component.ApiTemplate import ApiTemplate
from app.modules.service.image.util.ThriftConnect import ThriftConnect
import json
from .models import Image
import datetime
from app.models import db
import uuid
import os
from .models import ImageTag
import math
class Api(ApiTemplate):
api_name = "注册影像数据"
def process(self):
#可以注册一个目录
#返回结果
res = {}
try:
data_server = self.para.get("data_server")
paths = json.loads(self.para.get("paths"))
for path in paths:
exist_image:Image = Image.query.filter_by(path=path.get("path"),
size=path.get("real_size")).one_or_none()
if exist_image:
servers = exist_image.server.split(",")
leave_servers = [ser for ser in servers if not ser.__eq__(data_server)]
if len(leave_servers) ==0:
db.session.delete(exist_image)
else:
Image.query.filter_by(path=path.get("path"),
size=path.get("real_size")).update({"server":",".join(leave_servers),
"update_time":datetime.datetime.now()})
else:
raise Exception("数据不存在!")
db.session.commit()
res["result"] = True
except Exception as e:
raise e
return res
api_doc = {
"tags": ["影像接口"],
"parameters": [
{"name": "data_server",
"in": "formData",
"type": "string",
"description": "data_server"},
{"name": "paths",
"in": "formData",
"type": "string",
"description": "paths"},
],
"responses": {
200: {
"schema": {
"properties": {
}
}
}
}
}