From 7e282736770b9021685907c9de15046360cb3131 Mon Sep 17 00:00:00 2001 From: Andrey Nikolaev Date: Fri, 20 Jan 2012 18:02:02 +0400 Subject: [PATCH] Adding support for UTCOffset with seconds. I.e. +033010. --- src/icalendar/prop.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/icalendar/prop.py b/src/icalendar/prop.py index 82c122a..19979ac 100644 --- a/src/icalendar/prop.py +++ b/src/icalendar/prop.py @@ -1266,6 +1266,9 @@ class vUTCOffset: >>> vUTCOffset.from_ical('+0200') datetime.timedelta(0, 7200) + >>> vUTCOffset.from_ical('+023040') + datetime.timedelta(0, 9040) + >>> o = vUTCOffset.from_ical('+0230') >>> vUTCOffset(o).to_ical() '+0230' @@ -1310,8 +1313,8 @@ class vUTCOffset: if isinstance(ical, vUTCOffset): return ical.td try: - sign, hours, minutes = (ical[-5:-4], int(ical[-4:-2]), int(ical[-2:])) - offset = timedelta(hours=hours, minutes=minutes) + sign, hours, minutes, seconds = (ical[0:1], int(ical[1:3]), int(ical[3:5]), int(ical[5:7] or 0)) + offset = timedelta(hours=hours, minutes=minutes, seconds=seconds) except: raise ValueError, 'Expected utc offset, got: %s' % ical if offset >= timedelta(hours=24):