aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>2017-10-04 00:43:17 +0200
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>2017-10-04 00:43:17 +0200
commit43da93801ba35497c41a745f61c6c23739e7871a (patch)
tree513c1d38bec3bf14112990ec3b754c7113c12f58
parent2195b639091842492ea11ab8b91a631c59a7d32f (diff)
downloadmensa-43da93801ba35497c41a745f61c6c23739e7871a.tar.gz
mensa-43da93801ba35497c41a745f61c6c23739e7871a.tar.bz2
mensa-43da93801ba35497c41a745f61c6c23739e7871a.zip
Added missing base module
-rw-r--r--base.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/base.py b/base.py
new file mode 100644
index 0000000..2660607
--- /dev/null
+++ b/base.py
@@ -0,0 +1,46 @@
+# Common classes and methods.
+
+class Food :
+ def __init__(self,name, price="", category="Essen", veggie=False, desc=None, ingredients={}) :
+ self.name = name
+ self.price = price
+ self.category = category
+ self.veggie = veggie
+ self.desc=desc
+ self.ingredients=ingredients
+
+class NoMenuError(Exception) :
+ """ gets raised if there's no menu"""
+
+def formt (food) :
+ cat = []
+ vegkeys = [ "", "Vegetarian", "Vegan" ]
+ r = ""
+ food.sort(key=lambda foo: foo.category)
+ for i in food:
+ if not i.category in cat :
+ cat.append(i.category)
+ if not i.category == None :
+ r=r+ i.category+"\n"
+ r=r+"\t" + i.name.ljust(80) + "\t"+ i.price.ljust(20) + vegkeys[i.veggie]+"\n"
+ if i.desc :
+ r = r+"\t "+i.desc+"\n"
+ return r
+
+foodsources = {}
+
+class Restaurant(object):
+ def __init__(self, name, human_name, module, optional_args=[], obligatory_args=()):
+ self.name = name
+ self.human_name = human_name
+ self.module = module
+ self.optional_args = optional_args
+ self.obligatory_args = obligatory_args
+
+ def get_food(self,**opt_args) :
+ return self.module.get_food_items(*self.obligatory_args, **opt_args)
+
+
+def register_restaurant(restaurant):
+ global foodsources
+ foodsources[restaurant.name] = (restaurant)