diff options
Diffstat (limited to 'mensa.py')
-rw-r--r-- | mensa.py | 32 |
1 files changed, 19 insertions, 13 deletions
@@ -1,17 +1,23 @@ # Copyright (C) 2017 Gabriel Perez-Cerezo <gabriel@gpcf.eu> +# -*- coding: utf-8 -*- -import urllib2 +import urllib.request, urllib.error, urllib.parse from lxml import etree from lxml.cssselect import CSSSelector import html5lib from common import Food +from common import formt +import multiprocessing + +mensenliste = {"TU Hardenberg" : "mensa-tu-hardenbergstra%C3%9Fe", "TU Marchstraße": "cafeteria-tu-marchstra%C3%9Fe", "TU Skyline": "cafeteria-tu-skyline", "TU Architektur": "cafeteria-tu-architektur", "TU Ackerstraße": "cafeteria-tu-ackerstra%C3%9Fe"} + def get_food_items(mensa="mensa-tu-hardenbergstra%C3%9Fe", ignore_nudelauswahl=False) : user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)' headers = {'User-Agent': user_agent} - req = urllib2.Request('https://www.stw.berlin/mensen/mensa-tu-hardenbergstra%C3%9Fe.html', headers=headers) - response = urllib2.urlopen(req) + req = urllib.request.Request('https://www.stw.berlin/mensen/%s.html' % mensa, headers=headers) + response = urllib.request.urlopen(req) the_page = response.read() document = html5lib.parse(the_page, treebuilder="lxml") groupsel = CSSSelector('.splGroupWrapper') @@ -37,16 +43,16 @@ def get_food_items(mensa="mensa-tu-hardenbergstra%C3%9Fe", ignore_nudelauswahl=F fl.append(Food(nm, price, name, veg)) return fl - +def pr_f(j) : + i,k = j + food = get_food_items(k, ignore_nudelauswahl=True) + return (i,"*"*20+i+"*"*20+"\n"+formt(food)) + # format: if __name__ == "__main__": - food = get_food_items("", ignore_nudelauswahl=True) - 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] + pool = multiprocessing.Pool(4) + k = pool.map(pr_f, list(mensenliste.items())) + k.sort(key=lambda x: x[0]) + for i in k : + print(i[1]) |