forked from deepikakalani/cmpe281-starbucks-hackathon
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.py
67 lines (55 loc) · 1.72 KB
/
server.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
57
58
59
60
61
62
63
64
65
66
67
#!flask/bin/python
from flask import jsonify
from flask import Flask
from flask import request
from flask import json
from flask.ext.pymongo import PyMongo
from pymongo import MongoClient
import json
from bson import ObjectId
class JSONEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, ObjectId):
return str(o)
return json.JSONEncoder.default(self, o)
client = MongoClient('mongodb://localhost:27017/')
db = client.orders
orders = db.orders
app = Flask(__name__)
mongo = PyMongo(app)
@app.route('/sanjose/orders', methods=['GET'])
def get_orders():
data = {}
cursor = orders.find({})
data = []
for c in cursor:
print c
data.append({'coffeename': c['coffeename'], 'mugsize': c['mugsize'], 'ID': c['_id']})
return jsonify({'status': 'ok', 'orders': JSONEncoder().encode(data)
})
@app.route('/sanjose/orders/<order_id>', methods=['GET'])
def get_order(order_id):
orderone = orders.find_one({'_id' : ObjectId(order_id)})
print orderone
print "Hello "
return jsonify({'order': JSONEncoder().encode(orderone)})
@app.route('/sanjose/orders', methods=['POST'])
def create_task():
input_json = request.json
order = {
"coffeename": request.json['coffeename'],
"mugsize": request.json['mugsize']
}
order_id = orders.insert_one(order).inserted_id
print order_id
return jsonify({"Order ": "Order placed successfully"})
@app.route('/sanjose/orders/<order_id>', methods=['DELETE'])
def delete_task(order_id):
result = orders.delete_one({'_id': ObjectId(order_id)})
print result
return jsonify({'result': True})
@app.route('/')
def index():
return "Hello, World!"
if __name__ == '__main__':
app.run(debug=True)