forked from Property404/lionchief-controller
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapi.py
56 lines (44 loc) · 1.32 KB
/
api.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
from urllib import request
from flask import Flask, request
from flask_restful import Resource, Api
from waitress import serve
from webapi import LionApi
app = Flask(__name__)
app.debug=True
api = Api(app)
lion = LionApi()
class HelloWorld(Resource):
def get(self):
return {'hello':'World2'}
api.add_resource(HelloWorld, '/2')
@app.route('/',methods=['GET'])
def something():
lion.start()
return 'BoB'
@app.route('/horn', methods=['GET'])
def horn():
lion.horn()
return {'horn':'on'}
@app.route('/forward',methods=['GET', 'POST'])
def forward():
if request.method == 'POST':
lion.go()
if request.method == 'GET':
speed = request.args.get('speed',default=0,type=int)
lion.go(speed)
return {'moving':'now'}
@app.route('/currentSpeed',methods=['GET'])
def currentSpeed():
return {'Current Speed':lion._speed}
@app.route('/direction', methods=['GET'])
def reverse():
requstDirection =request.args.get('reverse',default=False, type= lambda v: v.lower()=='true')
print(requstDirection)
if requstDirection==False:
lion.forward()
else:
lion.reverse()
return {'Current Direction': 'reverse' if lion._reverse==True else 'forward'}
if __name__ == '__main__':
#serve(app,host='0.0.0.0',port=5000)
app.run(host='0.0.0.0',port=8080)