flock-server/server.py

44 lines
1017 B
Python

from flask import Flask
from flask import request, jsonify
from flask_mongoengine import MongoEngine
from model import Bike
app = Flask(__name__)
db = MongoEngine(app)
# TODO: at registration give current location
@app.route("/register/")
def register():
dest_lat = request.args.get('dest_lat', None)
dest_lon = request.args.get('dest_lon', None)
assert dest_lat is not None and dest_lon is not None
dest = (float(dest_lon), float(dest_lat))
bike = Bike(point=(0, 0),
destination=dest)
bike.save()
return jsonify(bike_id=str(bike.id))
# TODO: recieve gps bearing and speed
@app.route("/update/<bike_id>/")
def update(bike_id):
bike = Bike.objects.get(id=bike_id)
lat = float(request.args.get('lat', None))
lon = float(request.args.get('lon', None))
speed = float(request.args.get('speed', None))
bearing = float(request.args.get('bearing', None))
bike.update(lat, lon, speed, bearing)
return jsonify(
**bike.flock_data())