|
|
|
@ -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) |
|
|
|
|