aboutsummaryrefslogtreecommitdiff
path: root/mathemensa.py
diff options
context:
space:
mode:
Diffstat (limited to 'mathemensa.py')
-rw-r--r--mathemensa.py26
1 files changed, 11 insertions, 15 deletions
diff --git a/mathemensa.py b/mathemensa.py
index b4f97af..9abfc75 100644
--- a/mathemensa.py
+++ b/mathemensa.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-import urllib2
+import urllib.request, urllib.error, urllib.parse
from lxml import etree
from lxml.cssselect import CSSSelector
@@ -8,17 +8,18 @@ import xml.sax.saxutils as saxutils
import html5lib
import datetime
from common import Food
+from common import formt
def get_food_items() :
weekday = datetime.datetime.today().weekday()
if weekday > 4 :
- print "Error: No food today"
+ print("Error: No food today")
return ""
user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'
headers = {'User-Agent': user_agent}
- req = urllib2.Request('http://personalkantine.personalabteilung.tu-berlin.de/', headers=headers)
- response = urllib2.urlopen(req)
+ req = urllib.request.Request('http://personalkantine.personalabteilung.tu-berlin.de/', headers=headers)
+ response = urllib.request.urlopen(req)
the_page = response.read()
document = html5lib.parse(the_page, treebuilder="lxml")
sel = CSSSelector('.Menu__accordion')
@@ -27,19 +28,14 @@ def get_food_items() :
if k.tag.endswith("ul") :
for j in k :
price = j[1].text
- name = j[0].text + etree.fromstring("<p>"+etree.tostring(j).split("\n")[2].split("<")[0]+"</p>").text.strip() # really extremely dirty hack
+ 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 u"Gemüseplatte" in name :
+ if "(v)" in name or "Gemüseplatte" in name :
veg = 1
- fl.append(Food(name, price, u"Menü", veg))
+ fl.append(Food(name, price, "Menü", veg))
return fl
+
if __name__ == "__main__":
food = get_food_items()
- cat = []
- vegkeys = [ "", "Vegetarian", "Vegan" ]
- for i in food:
- if not i.category in cat :
- cat.append(i.category)
- if not i.category == None :
- print i.category
- print "\t" + i.name.ljust(80) + "\t"+ i.price.ljust(20) + vegkeys[i.veggie]
+ print(formt(food))