diff options
Diffstat (limited to 'backends/mathemensa.py')
-rw-r--r-- | backends/mathemensa.py | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/backends/mathemensa.py b/backends/mathemensa.py index b98ab1d..ea0cf72 100644 --- a/backends/mathemensa.py +++ b/backends/mathemensa.py @@ -16,7 +16,8 @@ class Mathemensa(IPlugin) : r = Restaurant("Mathemensa", "Mathemensa", self, "dummy") register_restaurant(r) - def get_food_items(self) : + def get_food_items(self, **kwargs) : + weekdays = ["MONTAG", "DIENSTAG", "MITTWOCH", "DONNERSTAG", "FREITAG"] weekday = datetime.datetime.today().weekday() if weekday > 4 : print("Error: No food today") @@ -30,15 +31,19 @@ class Mathemensa(IPlugin) : document = html5lib.parse(the_page, treebuilder="lxml") sel = CSSSelector('.Menu__accordion') fl = [] - for k in sel(document)[0][weekday] : - if k.tag.endswith("ul") : - for j in k : - price = j[1].text - st = str(etree.tostring(j)).split("\\n")[2].split("<")[0] - name = j[0].text + ", " + etree.fromstring("<p>%s</p>"%st).text.strip() # really extremely dirty hack - veg = 0 - - if "(v)" in name or "Gemüseplatte" in name : - veg = 1 - fl.append(Food(name, price, "Menü", veg)) + for i in sel(document)[0] : + h2sel = CSSSelector('h2') + if not weekdays[weekday] in i[0].text.upper() : + continue + for k in i : + if k.tag.endswith("ul") : + for j in k : + price = j[1].text + st = str(etree.tostring(j)).split("\\n")[2].split("<")[0] + name = j[0].text + ", " + etree.fromstring("<p>%s</p>"%st).text.strip() # really extremely dirty hack + veg = 0 + + if "(v)" in name or "Gemüseplatte" in name : + veg = 1 + fl.append(Food(name, price, "Menü", veg)) return fl |