added more api methods

This commit is contained in:
musicLaptop
2025-11-22 16:27:56 +00:00
parent bf6b09c639
commit baecd1cd7d
3 changed files with 40 additions and 3 deletions

View File

@@ -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
View File

@@ -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))

View File

@@ -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()