From b9b3cdba8f2728deaa30edbc255530ca9f989ac6 Mon Sep 17 00:00:00 2001 From: Gabriel Pérez-Cerezo Date: Fri, 22 Sep 2017 18:44:34 +0200 Subject: Added backends for various indian places --- mensa.py | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'mensa.py') diff --git a/mensa.py b/mensa.py index 1ecef11..b37c5cd 100644 --- a/mensa.py +++ b/mensa.py @@ -1,17 +1,23 @@ # Copyright (C) 2017 Gabriel Perez-Cerezo +# -*- 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]) -- cgit v1.2.3