added more api methods
This commit is contained in:
3
order.py
3
order.py
@@ -24,6 +24,9 @@ class Order(object):
|
|||||||
if ADDITION_HEADER in k:
|
if ADDITION_HEADER in k:
|
||||||
additions = v
|
additions = v
|
||||||
print(additions)
|
print(additions)
|
||||||
|
if not additions:
|
||||||
|
print("No additions listed in headers")
|
||||||
|
return
|
||||||
addition_list = additions.split(';')
|
addition_list = additions.split(';')
|
||||||
for ad in addition_list:
|
for ad in addition_list:
|
||||||
print(ad)
|
print(ad)
|
||||||
|
|||||||
20
pots.py
20
pots.py
@@ -22,6 +22,7 @@ class CoffeePot(Pot):
|
|||||||
|
|
||||||
def __init__(self, name):
|
def __init__(self, name):
|
||||||
super(CoffeePot, self).__init__(name)
|
super(CoffeePot, self).__init__(name)
|
||||||
|
self.coffeeOrders = []
|
||||||
print("Coffee pot initialised")
|
print("Coffee pot initialised")
|
||||||
|
|
||||||
def brew(self, headers):
|
def brew(self, headers):
|
||||||
@@ -29,5 +30,24 @@ class CoffeePot(Pot):
|
|||||||
new_order = order.Order("NewOrder")
|
new_order = order.Order("NewOrder")
|
||||||
new_order.configure(headers)
|
new_order.configure(headers)
|
||||||
print(new_order.json_dump())
|
print(new_order.json_dump())
|
||||||
|
self.coffeeOrders.append(new_order)
|
||||||
return "Brewing"
|
return "Brewing"
|
||||||
|
|
||||||
|
def get(self):
|
||||||
|
if self.coffeeOrders:
|
||||||
|
return self.coffeeOrders[0].json_dump()
|
||||||
|
else:
|
||||||
|
return {}
|
||||||
|
|
||||||
|
def popOrder(self):
|
||||||
|
if self.coffeeOrders:
|
||||||
|
requestedOrder = self.coffeeOrders.pop()
|
||||||
|
return requestedOrder.json_dump()
|
||||||
|
else:
|
||||||
|
return {}
|
||||||
|
|
||||||
|
def getOrderCount(self):
|
||||||
|
return str(len(self.coffeeOrders))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
20
server.py
20
server.py
@@ -1,4 +1,4 @@
|
|||||||
from flask import Flask, request
|
from flask import Flask, request, abort
|
||||||
import pots
|
import pots
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@@ -7,14 +7,28 @@ pot = pots.CoffeePot("TestPot")
|
|||||||
|
|
||||||
@app.route('/pot', methods=['GET'])
|
@app.route('/pot', methods=['GET'])
|
||||||
def get():
|
def get():
|
||||||
return pot.get()
|
order = pot.get()
|
||||||
|
if order is None:
|
||||||
|
abort('404', description='No orders in queue')
|
||||||
|
return order
|
||||||
|
|
||||||
|
@app.route('/pot/order', methods=['GET'])
|
||||||
|
def popOrder():
|
||||||
|
order = pot.popOrder()
|
||||||
|
if order is None:
|
||||||
|
abort('404', description='No orders in queue')
|
||||||
|
return order
|
||||||
|
|
||||||
|
@app.route('/pot/ordersInQueue', methods=['GET'])
|
||||||
|
def getOrderCount():
|
||||||
|
return pot.getOrderCount() + ' orders in queue'
|
||||||
|
|
||||||
|
|
||||||
@app.route('/pot', methods=['BREW', 'POST'])
|
@app.route('/pot', methods=['BREW', 'POST'])
|
||||||
def brew():
|
def brew():
|
||||||
return pot.brew(request.headers)
|
return pot.brew(request.headers)
|
||||||
|
|
||||||
|
# TODO: THIS NEEDS DOING WITH SOMETHING THAT ACTUALLY SUPPORTS CUSTOM HTTP METHODS
|
||||||
@app.route('/pot', methods=['WHEN'])
|
@app.route('/pot', methods=['WHEN'])
|
||||||
def when():
|
def when():
|
||||||
return pot.when()
|
return pot.when()
|
||||||
|
|||||||
Reference in New Issue
Block a user