Created
October 6, 2013 08:53
-
-
Save donno/6851386 to your computer and use it in GitHub Desktop.
A prototype server developed as a proof-of-concept for a new mapping system for foxhunting and balloon chases using the Flask microframework.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
"""A prototype server developed as a proof-of-concept for a new mapping system | |
for foxhunting and balloon chases. | |
This requires Flask, which is a microframework for Python. | |
See http://flask.pocoo.org/ | |
""" | |
import database | |
import flask | |
app = flask.Flask(__name__, static_url_path='', static_folder='') | |
db = database.getDatabase() | |
@app.route('/') | |
def root(): | |
return app.send_static_file('index.html') | |
@app.route('/api/geometry', methods=['GET']) | |
def geometryList(): | |
lastTime = flask.request.args.get('lastTime', None) | |
return flask.json.jsonify(db.getGeometry(lastTime)) | |
@app.route('/api/geometry', methods=['POST']) | |
def geometryCreate(): | |
"""Creates new geometry in the database.""" | |
geoJson = flask.request.get_json() | |
databaseId = db.addGeometry(geoJson) | |
return flask.json.jsonify({ | |
"message": "New geometry saved.", | |
"databaseId": databaseId, | |
}) | |
@app.route('/api/geometry/<geoid>', methods=['GET']) | |
def geometry(geoid): | |
geometry = db.getGeometry(geometryId=int(geoid))['geometry'][0] | |
return flask.json.jsonify(geometry) | |
@app.route('/api/geometry/<geoid>', methods=['DELETE']) | |
def geometryDelete(geoid): | |
try: | |
db.deleteGeometry(int(geoid)) | |
except Exception, e: | |
print e | |
return flask.json.jsonify({"deleted": int(geoid)}) | |
if __name__ == '__main__': | |
app.run() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment