-
Notifications
You must be signed in to change notification settings - Fork 0
/
TestServiceSample.py
104 lines (88 loc) · 2.33 KB
/
TestServiceSample.py
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import requests
import base64
import json
import os
import time
import cv2
import multiprocessing
from Interface import meterReader
def startServer():
os.system("python FlaskService.py")
def startClient(results):
images = os.listdir("image")
for im in images:
print(im)
image = open("image/"+im, "rb")
imageByte = base64.b64encode(image.read())
data = json.dumps({
"image": imageByte.decode("ascii"),
"imageID": im.split('.')[0]
})
r = requests.post("http://127.0.0.1:5000/", data=data.encode("utf-8"))
receive = json.loads(r.text)
print(receive)
results.append(True)
def codecov():
images = os.listdir("image")
config = os.listdir("config")
for im in images:
image = cv2.imread("image/"+im)
print(im)
for i in range(1, 6):
cfg = im.split(".jpg")[0]+"_"+str(i)
print(cfg)
if cfg+".json" in config:
receive2 = meterReader(image, [cfg])
print("codecov done")
if __name__ == "__main__":
serverProcess = multiprocessing.Process(target=startServer)
results = multiprocessing.Manager().list()
clientProcess = multiprocessing.Process(target=startClient, args=(results,))
serverProcess.start()
time.sleep(30)
clientProcess.start()
clientProcess.join()
serverProcess.terminate()
codecov()
# for result in results:
# print(result)
# if not result:
# exit(100)
# test store interface
# image = open("template/1_1.jpg", "rb")
# imageByte = base64.b64encode(image.read())
# data = json.dumps({
# "template": imageByte.decode("ascii"),
# "imageID": "1",
# "config": {
# "distance": 10.0,
# "horizontal": 10.0,
# "vertical": 20.0,
# "name": "1_1",
# "type": "SF6",
# "ROI": {
# "x": 200,
# "y": 200,
# "w": 1520,
# "h": 680
# },
# "startPoint": {
# "x": -1,
# "y": -1
# },
# "endPoint": {
# "x": -1,
# "y": -1
# },
# "centerPoint": {
# "x": -1,
# "y": -1
# },
# "startValue": 0.0,
# "totalValue": 2.0
# }
# })
#
# r = requests.post("http://127.0.0.1:5000/store", data=data.encode("utf-8"))
#
# print(r.text)