[conduit/tracker] Add more tracker <--> ical
- From: John Carr <johncarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [conduit/tracker] Add more tracker <--> ical
- Date: Mon, 15 Jun 2009 00:45:35 -0400 (EDT)
commit 9c3f2a178774d7f6b2b8cc261af8e0097099fbf8
Author: John Carr <john carr unrouted co uk>
Date: Mon Jun 15 04:41:04 2009 +0100
Add more tracker <--> ical
conduit/modules/TrackerModule/TrackerModule.py | 38 ++++++++++++++++++++++--
1 files changed, 35 insertions(+), 3 deletions(-)
---
diff --git a/conduit/modules/TrackerModule/TrackerModule.py b/conduit/modules/TrackerModule/TrackerModule.py
index 9ab1279..3bdca88 100644
--- a/conduit/modules/TrackerModule/TrackerModule.py
+++ b/conduit/modules/TrackerModule/TrackerModule.py
@@ -47,6 +47,7 @@ class TrackerContacts(DataProvider.TwoWay):
DataProvider.TwoWay.get(self, LUID)
tc = self.contacts[LUID]
c = self._tracker_to_vcard(tc)
+ # set mtime from tracker modified
c.set_UID(LUID)
return c
@@ -206,7 +207,7 @@ class TrackerCalendar(DataProvider.TwoWay):
def refresh(self):
DataProvider.TwoWay.refresh(self)
self.events = {}
- for event in nco.CalendarDataObject.get():
+ for event in ncal.Event.get():
self.events[str(event.uri)] = event
def get_all(self):
@@ -217,6 +218,7 @@ class TrackerCalendar(DataProvider.TwoWay):
DataProvider.TwoWay.get(self, LUID)
tc = self.events[LUID]
c = self._tracker_to_ical(tc)
+ #FIXME: Set mtime from tc.modified
c.set_UID(LUID)
return c
@@ -239,15 +241,45 @@ class TrackerCalendar(DataProvider.TwoWay):
def _ical_to_tracker(self, data):
ical = data.ical
- c = nco.CalendarDataObject.create()
+ c = ncal.Event.create()
for k, v in ical.contents.iteritems():
- log.warning("Unhandled key: %s" % k)
+ if k == "description":
+ c.description = v
+ elif k == "summary":
+ c.summary = v
+ elif k == "dtstart":
+ c.dtstart = v
+ elif k == "dtend":
+ c.dtend = v
+ elif k == "uid":
+ c.uid = v
+ elif k == "url":
+ c.url = v
+ else:
+ log.warning("Unhandled key: %s" % k)
return c
def _tracker_to_ical(self, tracker):
e = Event.Event()
+
+ for key, value in tracker.properties():
+ if key == "ncal:description":
+ e.ical.add("description").value = value
+ elif key == "ncal:summary":
+ e.ical.add("summary").value = value
+ elif key == "ncal:dtstart":
+ e.ical.add('dtstart').value = value
+ elif key == "ncal:dtend":
+ e.ical.add('dtend').value = value
+ elif key == "ncal:uid":
+ e.ical.add('uid').value = value
+ elif key == "ncal:url":
+ e.ical.add('url').value = value
+ else:
+ log.warning("Unhandled key: %s" % key)
+
return e
def get_UID(self):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]