#!/usr/bin/python import popen2 import pprint import urllib perlre = popen2.Popen4('perl -e \'@_ = <>; $_ = join( "", @_ ); $_ =~ s/<[^>]*>//sgi; $_ =~ s/EUR/ EUR/sgi; $_ =~ s/:/: /sgi; print $_;\'') f = urllib.urlopen("http://mensa.akk.uni-karlsruhe.de/?DATUM=heute&uni=1") perlre.tochild.write(f.read()) perlre.tochild.close() perlre.wait() parsed = perlre.fromchild.readlines() parsed2 = [] append=True for i in parsed: if "Abend" in i: append=False if i != '\n' and append: parsed2.append(i.replace("\n","")) parsed2=parsed2[3:] headings = [] parsed3 = [] j=0 for i in parsed2: if ":" in i: pos=i.find(":") head = i[0:pos] parsed3.append(i[pos+2:]) headings.append([head,j]) else: parsed3.append(i) j=j+1 finished = {} headings.reverse() for i in headings: toappend = [] for j in parsed3[i[1]:]: if j.find("EUR") != -1: tmp=j.split("EUR") else: tmp = [j, "Kein Preis"] print toappend.append(tmp) finished[i[0]] = toappend parsed3 = parsed3[:i[1]] headings.reverse() keys = finished.keys() keys.sort() bodytext = "" linie = 0 gericht = 1 for i in keys: bodytext += "

"+i+"

\n
\n
\n" gericht = 1 inserted = 0 for j in finished[i]: #if linie >= 1 and linie <=4 and gericht == 3: if linie < 4 and j[1].lower() != "kein preis" and float( j[1].replace(",",".") ) <= 1.00 and inserted==0: bodytext += "" inserted = 1 name = j[0] price = j[1] bodytext += "" gericht=gericht+1 bodytext += """

Beilagen


"+name+""+price+" Gelt


Vote!
"""%(linie,i,linie+1) linie=linie+1 print """ Mensa Karlsruhe + Vote! iPhone Version %s

Voting Results

""" % bodytext