# -*- coding: cp1252 -*- from Tkinter import * from urllib import urlopen import tkMessageBox class FS(Frame): def __init__(self, master): Frame.__init__(self, master) self.master.title("Hitta gympapass") self.pack() self.favoritlokaler = ["Kungsholmen", "Sveavägen", "City"] self.egenfont = ("Times", 14) self.egenfarg = "#d9d9ff" #bleklila self.skapaLokalval() self.skapaPassletarknapp() self.skapaResultatruta() def pynta(self,komponent): komponent["font"] = self.egenfont komponent["bg"] = self.egenfarg def skapaLokalval(self): self.lokalval = Listbox() for lokal in self.favoritlokaler: self.lokalval.insert(END, lokal) self.pynta(self.lokalval) self.lokalval.pack() def skapaPassletarknapp(self): self.letaknapp = Button(text="Leta pass", command=lambda:self.leta("Danspass")) self.pynta(self.letaknapp) self.letaknapp.pack() def skapaResultatruta(self): self.utmatning = StringVar() self.resultatruta = Label(text="", textvariable=self.utmatning, justify=LEFT) self.pynta(self.resultatruta) self.resultatruta.pack() def leta(self, passtyp): def finrad(rad): delar = rad.split("<") rest = delar[1].split(">") return " " + rest[1] lokal = self.favoritlokaler[int(self.lokalval.curselection()[0])] try: fil = urlopen("http://schema.sthlm.friskissvettis.se/index.php?func=la") except Exception: showerror("Webbsidan gick inte att öppna", url) for rad in fil: if "resultlist" in rad: break datum = "" passinfo = "" antal = 0 ok = False for rad in fil: if "datarow_bold" in rad: datum = finrad(rad) elif "sort_col1" in rad: if lokal in rad: passinfo = finrad(rad) antal = 5 elif antal > 1: if passtyp in rad: ok = True passinfo += finrad(rad) antal -= 1 if antal == 1: if ok: tidigare = self.utmatning.get() self.utmatning.set(tidigare + "\n" + datum + passinfo) antal -= 1 ok = False roten = Tk() obj = FS(roten) roten.mainloop()