Last active
August 29, 2015 14:13
Revisions
-
jcfrank revised this gist
Jan 11, 2015 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,6 @@ Simple Flask app ================ This snippet is from an API server of another open source project. It was written to work with webpy, but I change it to use Flask. -
jcfrank created this gist
Jan 9, 2015 .There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,71 @@ This snippet is from an API server of another open source project. It was written to work with webpy, but I change it to use Flask. requirements: ``` flask flask-restful ``` api.py ```python import fp import inside_server_operation from flask import Flask, abort from flask.ext.restful import Api, Resource, reqparse app = Flask(__name__) api = Api(app) class Query(Resource): def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('some_query', type=str) def get(self): args = self.parser.parse_args() some_query = args["some_query"] return { "ok": True, "some_query": some_query } def post(self): return self.get() class Ingest(Resource): def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('track_id', type=str, default="default") # define query string parameters ... self.parser.add_argument('length', default=None) self.parser.add_argument('codever', default=None) def post(self): args = self.parser.parse_args() track_id = args["track_id"] artist = args["artist"] # parse query string parameters ... release = args["release"] track = args["track"] if not length or not codever: abort(400) """ some handler code. """ return { "track_id": track_id, "status": "ok" } # Routing api.add_resource(Query, '/query') api.add_resource(Ingest, '/ingest') if __name__ == "__main__": app.run(host="0.0.0.0", port=8080) ```