68 lines
1.5 KiB
Python
68 lines
1.5 KiB
Python
import logging
|
|
import order
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class Pot(object):
|
|
|
|
def __init__(self, name):
|
|
self.name = name
|
|
self.queuedOrders = []
|
|
|
|
def get(self):
|
|
if self.queuedOrders:
|
|
return self.queuedOrders[0].json_dump()
|
|
else:
|
|
return {}
|
|
|
|
def getOrderCount(self):
|
|
return str(len(self.queuedOrders))
|
|
|
|
def popOrder(self):
|
|
if self.queuedOrders:
|
|
requestedOrder = self.queuedOrders.pop()
|
|
return requestedOrder.json_dump()
|
|
else:
|
|
return {}
|
|
|
|
def when(self):
|
|
return 'WHEN REQUEST RECEIVED'
|
|
|
|
def brew(self, headers):
|
|
return 'BREW REQUEST RECEIVED'
|
|
|
|
class CoffeePot(Pot):
|
|
|
|
def __init__(self, name):
|
|
super(CoffeePot, self).__init__(name)
|
|
print('Coffee pot initialised')
|
|
|
|
def brew(self, headers):
|
|
print('Brewing coffee')
|
|
new_order = order.Order('NewOrderCoffee', 'Coffee')
|
|
new_order.configure(headers)
|
|
print(new_order.json_dump())
|
|
self.queuedOrders.append(new_order)
|
|
return 'Brewing'
|
|
|
|
class TeaPot(Pot):
|
|
|
|
def __init__(self, name):
|
|
super(TeaPot, self).__init__(name)
|
|
self.TeaOrders = []
|
|
print('Tea Pot initialised')
|
|
|
|
def brew(self, headers):
|
|
print('Brewing tea')
|
|
new_order = order.Order('NewOrderTea', 'Tea')
|
|
new_order.configure(headers)
|
|
print(new_order.json_dump())
|
|
self.queuedOrders.append(new_order)
|
|
return 'Brewing'
|
|
|
|
|
|
|
|
|
|
|