-
Notifications
You must be signed in to change notification settings - Fork 2
/
emitter.py
59 lines (45 loc) · 1.41 KB
/
emitter.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
#!/usr/bin/env python
from flask import Flask
import socket
__author__ = 'Wolfrax'
app = Flask(__name__)
cfg_server_address = 'localhost'
cfg_server_port = 5051
def get_msg(message):
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
except socket.error as msg:
print "Sock err (1): {}".format(msg)
sock = None
return None
try:
sock.connect((cfg_server_address, cfg_server_port))
except socket.error as msg:
print "Sock err (2): {}".format(msg)
sock = None
return None
data = []
try:
sock.sendall(message)
while True:
stream = sock.recv(1024)
if not stream:
break
else:
data.append(stream)
data = ''.join(data)
except socket.error as msg:
print "Sock err (3): {}".format(msg)
finally:
sock.close()
return data
@app.route("/spots/data")
def spots_data():
return app.response_class(get_msg("GET DATA STR"), content_type='application/json')
@app.route("/spots/statistics")
def spots_statistics():
return app.response_class(get_msg("GET STATISTICS STR"), content_type='application/json')
if __name__ == "__main__":
print "Will listen on {}:{}".format(cfg_server_address, cfg_server_port)
app.run(host='0.0.0.0', debug=True)