<% CACHE = "/home/jocke/public_html/teproxy/cache" #URL = "http://timeedit.lnu.se/4DACTION/iCal_downloadReservations/timeedit.ics?from=1035&to=1102&id1=13778000&id2=13469000&id3=13463000&id4=5134000&branch=2&lang=2" URL = "http://timeedit.lnu.se/4DACTION/iCal_downloadReservations/timeedit.ics?from=1025&to=1130&id1=13463000&id2=13469000&id3=13778000&id4=5134000&branch=2&lang=2" from os import stat from time import time import traceback if False: # time() < stat(CACHE).st_mtime + 3600: with open(CACHE) as f: icaldata = f.read() else: from vobject import readOne from urllib import urlopen urlobj = urlopen(URL) try: urldata = urlobj.read() except: urlobj.close() calendar = readOne(urldata) for entry in calendar.components(): if entry.name == 'VEVENT': summary = entry.summary.value.split("\n") try: name = summary[0].split(" ", 1)[1] except: name = None code = summary[0].split(" ", 1)[0] moment = summary[-1] staff = ", ".join(summary[2:-1]) location = entry.location.value entry.summary.value = "\n".join((name or code, staff, location, moment)) icaldata = calendar.serialize() with open(CACHE, "wt") as f: f.write(icaldata) %><%= icaldata %>