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:
|
||||
additions = v
|
||||
print(additions)
|
||||
if not additions:
|
||||
print("No additions listed in headers")
|
||||
return
|
||||
addition_list = additions.split(';')
|
||||
for ad in addition_list:
|
||||
print(ad)
|
||||
|
||||
20
pots.py
20
pots.py
@@ -22,6 +22,7 @@ class CoffeePot(Pot):
|
||||
|
||||
def __init__(self, name):
|
||||
super(CoffeePot, self).__init__(name)
|
||||
self.coffeeOrders = []
|
||||
print("Coffee pot initialised")
|
||||
|
||||
def brew(self, headers):
|
||||
@@ -29,5 +30,24 @@ class CoffeePot(Pot):
|
||||
new_order = order.Order("NewOrder")
|
||||
new_order.configure(headers)
|
||||
print(new_order.json_dump())
|
||||
self.coffeeOrders.append(new_order)
|
||||
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
|
||||
|
||||
app = Flask(__name__)
|
||||
@@ -7,14 +7,28 @@ pot = pots.CoffeePot("TestPot")
|
||||
|
||||
@app.route('/pot', methods=['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'])
|
||||
def brew():
|
||||
return pot.brew(request.headers)
|
||||
|
||||
|
||||
# TODO: THIS NEEDS DOING WITH SOMETHING THAT ACTUALLY SUPPORTS CUSTOM HTTP METHODS
|
||||
@app.route('/pot', methods=['WHEN'])
|
||||
def when():
|
||||
return pot.when()
|
||||
|
||||
Reference in New Issue
Block a user