%
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 %>