diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2012-05-16 01:19:15 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2012-05-16 01:19:15 +0000 |
commit | 8b106d272ce9f4870f790f86d3ec72abc7599f49 (patch) | |
tree | fd431dc94e4e296d5ddfa10682d0559995d2735a /app-pda/libopensync-plugin-google-calendar/files | |
parent | old (diff) | |
download | historical-8b106d272ce9f4870f790f86d3ec72abc7599f49.tar.gz historical-8b106d272ce9f4870f790f86d3ec72abc7599f49.tar.bz2 historical-8b106d272ce9f4870f790f86d3ec72abc7599f49.zip |
Punt wrt #367739
Diffstat (limited to 'app-pda/libopensync-plugin-google-calendar/files')
-rw-r--r-- | app-pda/libopensync-plugin-google-calendar/files/libopensync-plugin-google-calendar-0.22-recurrent.patch | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/app-pda/libopensync-plugin-google-calendar/files/libopensync-plugin-google-calendar-0.22-recurrent.patch b/app-pda/libopensync-plugin-google-calendar/files/libopensync-plugin-google-calendar-0.22-recurrent.patch deleted file mode 100644 index 63b1a6fd07fa..000000000000 --- a/app-pda/libopensync-plugin-google-calendar/files/libopensync-plugin-google-calendar-0.22-recurrent.patch +++ /dev/null @@ -1,85 +0,0 @@ -http://bugs.gentoo.org/185475 -http://www.opensync.org/changeset/1898 - ---- a/src/google-cal-helper.py -+++ b/src/google-cal-helper.py -@@ -138,6 +138,41 @@ def xsdateToOsync(s): - sys.stderr.write("xs to osync: %s => %s\n" % (s, r)) - return r - -+GDEND_RE = re.compile("DTEND;[^:]*:(\S+)") -+def gdRecurToEnd(recur): -+ m = GDEND_RE.search(recur) -+ if m is None: -+ raise DateConversionError("failed to find end in \"%s\"" % recur) -+ start = m.group(1) -+ year = start[0:4] -+ month = start[4:6] -+ day = start[6:8] -+ hour = start[9:11] -+ min = start[11:13] -+ sec = start[13:15] -+ return "%s-%2s-%2sT%2s:%2s:%2s" % (year, month, day, hour, min, sec) -+ -+GDSTART_RE = re.compile("DTSTART;[^:]*:(\S+)") -+def gdRecurToStart(recur): -+ m = GDSTART_RE.search(recur) -+ if m is None: -+ raise DateConversionError("failed to find start in \"%s\"" % recur) -+ start = m.group(1) -+ year = start[0:4] -+ month = start[4:6] -+ day = start[6:8] -+ hour = start[9:11] -+ min = start[11:13] -+ sec = start[13:15] -+ return "%s-%2s-%2sT%2s:%2s:%2s" % (year, month, day, hour, min, sec) -+ -+GDRECUR_RE = re.compile("RRULE:(\S+)") -+def gdRecurToORecur(recur): -+ m = GDRECUR_RE.search(recur) -+ if m is None: -+ raise DateConversionError("failed to find rule in \"%s\"" % recur) -+ return m.group(1) -+ - class GCalRequestError(Exception): - def __init__(self, response): - self.response = response -@@ -159,13 +194,19 @@ class GCalEntry: - self.id = self.elementValue('atom:id/text()') - self.editUri = self.elementValue('atom:link[@rel="edit"]/@href') - self.content = self.elementValue('atom:content[@type="text"]/text()') -- self.dtstart = self.elementValue('gd:when/@startTime') -- self.dtend = self.elementValue('gd:when/@endTime') -+ self.dtrecur = self.elementValue('gd:recurrence/text()') -+ if self.dtrecur: -+ pass -+ self.dtstart = gdRecurToStart(self.dtrecur) -+ self.dtend = gdRecurToEnd(self.dtrecur) -+ self.dtrecur = gdRecurToORecur(self.dtrecur) -+ else: -+ self.dtstart = self.elementValue('gd:when/@startTime') -+ self.dtend = self.elementValue('gd:when/@endTime') - - self.eventStatus = self.elementValue('gd:eventStatus/@value') - self.whereString = self.elementValue('gd:where/@valueString') - -- #FIXME: Handle recurrency - #FIXME: Handle gd:eventStatus - - -@@ -199,9 +240,13 @@ class GCalEntry: - - self.addElementContent(doc, event, 'DateStarted', xsdateToOsync(self.dtstart)) - self.addElementContent(doc, event, 'DateEnd', xsdateToOsync(self.dtend)) -+ if self.dtrecur: -+ self.addElementContent(doc, event, 'RecurrenceRule', -+ self.dtrecur) -+ - self.addElementContent(doc, event, 'Location', self.whereString) - -- #TODO: UID, editUri, dtstart, dtend, recurrency, eventStatus -+ #TODO: UID, editUri, dtstart, dtend, eventStatus - return doc.toxml(encoding='utf-8') - - def dumpGdata(self): |