aboutsummaryrefslogtreecommitdiff
path: root/backends/mathemensa.py
diff options
context:
space:
mode:
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>2017-10-04 15:25:10 +0200
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>2017-10-04 15:25:10 +0200
commit6672aad7101f3593fde1009c36d0dde92ebc6512 (patch)
tree93f7f7b8fc1ed255ce76bfb299fad43663a00b98 /backends/mathemensa.py
parent43da93801ba35497c41a745f61c6c23739e7871a (diff)
downloadmensa-6672aad7101f3593fde1009c36d0dde92ebc6512.tar.gz
mensa-6672aad7101f3593fde1009c36d0dde92ebc6512.tar.bz2
mensa-6672aad7101f3593fde1009c36d0dde92ebc6512.zip
Fixed backends, make run script configurable
Diffstat (limited to 'backends/mathemensa.py')
-rw-r--r--backends/mathemensa.py29
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