A barebones python tool to fix the inconvenient and incorrect iCal format of the UQ timetable while still allowing subscription and auto-updating of events https://topost.net/calfix
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

39 lines
890 B

import requests
def reformat_cal(url):
print(url)
req = requests.get(url)
if (req.status_code != 200):
raise ValueError()
if req.text == "" or req.text == None:
raise ValueError()
cal = req.text.split("\n")
for counter, line in enumerate(cal):
if "BEGIN:VEVENT" in line:
summary = None
desc = None
if "SUMMARY" in line:
summary = counter
continue
if "DESCRIPTION" in line:
desc = counter
continue
if "UID" in line:
cal[counter] = ""
if "END:VEVENT" in line:
course_code = cal[desc].split("_")[0].split(":")[1]
imsummary = cal[summary].split(',')
imsummary[0] = "SUMMARY:" + course_code
cal[summary] = ','.join(imsummary)
cal = "\n".join(cal)
return cal