diff --git a/scripts/xsltproc.py b/scripts/xsltproc.py index f31bb7e..7b82bfb 100755 --- a/scripts/xsltproc.py +++ b/scripts/xsltproc.py @@ -1,5 +1,5 @@ #!/usr/bin/python -import os, sys, urllib, libxml2, libxslt, ldap, time, datetime, re +import os, sys, urllib, libxml2, libxslt, ldap, time, datetime, re, pytz # # globals @@ -138,11 +138,13 @@ def cscIcalDatetime(ctx, date, time, addmin = "0"): hour, minute = (0, 0) if r != None: hour, minute = (int(i) for i in r.groups()[:2]) + hour %= 12 #hour % 12 if r.group(3) in 'pP': hour += 12 dt = datetime.datetime(year, month, day, hour, minute) + dt = pytz.timezone('Canada/Eastern').localize(dt) dt += datetime.timedelta(0, 0, 0, 0, addmin) - return dt.strftime("%Y%m%dT%H%M%S") + return dt.astimezone(pytz.utc).strftime("%Y%m%dT%H%M%SZ") # # csc:ical-escape @@ -150,9 +152,9 @@ def cscIcalDatetime(ctx, date, time, addmin = "0"): def cscIcalEscape(ctx, str): str = xslArgToString(str) str = str.replace("\n", " ") - str = str.replace(":", "") - str = str.replace(";", "") - str = str.replace(",", "") + #str = str.replace(":", "") + #str = str.replace(";", "") + #str = str.replace(",", "") str = re.sub("\s+", " ", str) str = re.sub("^\s+", "", str) str = re.sub("\s+$", "", str) diff --git a/xsl/ics.xsl b/xsl/ics.xsl index e05ee77..fe2470b 100644 --- a/xsl/ics.xsl +++ b/xsl/ics.xsl @@ -11,31 +11,8 @@ VERSION:2.0 X-WR-CALNAME:University of Waterloo Computer Science Club PRODID:-//Apple Computer, Inc//iCal 2.0//EN X-WR-RELCALID:3359A191-B19E-4B53-BADC-DFC084FC51C9 -X-WR-TIMEZONE:Canada/Eastern CALSCALE:GREGORIAN METHOD:PUBLISH -BEGIN:VTIMEZONE -TZID:Canada/Eastern -LAST-MODIFIED:20060912T200739Z -BEGIN:DAYLIGHT -DTSTART:20060301T070000 -TZOFFSETTO:-0400 -TZOFFSETFROM:+0000 -TZNAME:EDT -END:DAYLIGHT -BEGIN:STANDARD -DTSTART:20061029T020000 -TZOFFSETTO:-0500 -TZOFFSETFROM:-0400 -TZNAME:EST -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:20070311T010000 -TZOFFSETTO:-0400 -TZOFFSETFROM:-0500 -TZNAME:EDT -END:DAYLIGHT -END:VTIMEZONE END:VCALENDAR @@ -52,8 +29,8 @@ LOCATION:University of Waterloo - DTSTAMP:20060912T200708Z UID:@csclub.uwaterloo.ca SEQUENCE:11 -DTSTART;TZID=Canada/Eastern: -DTEND;TZID=Canada/Eastern: +DTSTART: +DTEND: SUMMARY: -- DESCRIPTION: END:VEVENT