39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import flask
|
|
import requests
|
|
import threading
|
|
|
|
app = flask.Flask(import_name=__name__)
|
|
|
|
@app.route(rule="/")
|
|
def index():
|
|
return "200 OK (working)\n"
|
|
|
|
lock = threading.Lock()
|
|
def opener(lck):
|
|
with lck:
|
|
for _ in range(5):
|
|
requests.get("http://192.168.0.103/open")
|
|
|
|
@app.route(rule="/receiving", methods=["POST"])
|
|
def receiver():
|
|
data = flask.request.get_data(as_text=True)
|
|
parts = data.split("&")
|
|
data_dict = {}
|
|
for part in parts:
|
|
parameter_name, parameter_value = part.split("=")
|
|
data_dict[parameter_name] = parameter_value
|
|
print(data_dict)
|
|
#---action=incoming / message_type=sms---
|
|
if data_dict["action"]=="incoming":
|
|
if "please" in data_dict["message"].lower():
|
|
op = threading.Thread(target=opener, args=(lock,))
|
|
op.start()
|
|
return flask.jsonify({"events":[{"event":"log","message":"Server received "+data_dict["message_type"]+" from "+data_dict["from"]}]})
|
|
#---action=incoming---
|
|
#---action=incoming---
|
|
#---action=incoming---
|
|
#---action=incoming---
|
|
#---action=incoming---
|
|
|
|
if __name__=="__main__":
|
|
app.run(host="0.0.0.0", debug=True)
|