[conduit/syncml: 79/244] Refactor a little bit and add ScheduleWorld classes
- From: John Carr <johncarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [conduit/syncml: 79/244] Refactor a little bit and add ScheduleWorld classes
- Date: Thu, 21 May 2009 05:51:59 -0400 (EDT)
commit 2be1d53d3de07fe3d6f11dde2a08053e9b79d22f
Author: John Carr <john carr unrouted co uk>
Date: Fri Apr 24 04:07:45 2009 -0700
Refactor a little bit and add ScheduleWorld classes
---
conduit/modules/SyncmlModule/SyncmlModule.py | 46 ++++++++++++++-----------
1 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/conduit/modules/SyncmlModule/SyncmlModule.py b/conduit/modules/SyncmlModule/SyncmlModule.py
index 2347844..deef772 100644
--- a/conduit/modules/SyncmlModule/SyncmlModule.py
+++ b/conduit/modules/SyncmlModule/SyncmlModule.py
@@ -23,8 +23,6 @@ import enums
MODULES = {
"BluetoothSyncmlFactory": { "type": "dataprovider-factory"},
- "SyncmlContactTwoWay": { "type": "dataprovider"},
- "SyncmlEventsTwoWay" : { "type": "dataprovider"},
}
@@ -127,7 +125,7 @@ class SyncmlDataProvider(DataProvider.TwoWay):
def _syncml_sendall(self):
err = pysyncml.Error()
for t, uid, blob in self._queue:
- self.syncobj.add_change(self.source, t, uid, blob, len(blob), None, pysyncml.byref(err))
+ self.syncobj.add_change(self._store_, t, uid, blob, len(blob), None, pysyncml.byref(err))
self.syncobj.send_changes(pysyncml.byref(err))
self._queue = []
@@ -238,21 +236,21 @@ class SyncmlDataProvider(DataProvider.TwoWay):
raise NotImplementedError
-class HttpClientProvider(SyncmlDataProvider):
+class HttpClient(SyncmlDataProvider):
_configurable_ = True
- def __init__(self, address):
+ def __init__(self):
self.update_configuration(
username = "",
password = ""
)
- SyncmlDataProvider.__init__(self, address)
+ SyncmlDataProvider.__init__(self, self._address_)
def _setup_connection(self):
err = pysyncml.Error()
self.syncobj = pysyncml.SyncObject.new(enums.SML_SESSION_TYPE_CLIENT, enums.SML_TRANSPORT_HTTP_CLIENT, pysyncml.byref(err))
- self.syncobj.set_option(enums.SML_TRANSPORT_CONFIG_URL, self.address, pysyncml.byref(err))
+ self.syncobj.set_option(enums.SML_TRANSPORT_CONFIG_URL, self._address_, pysyncml.byref(err))
self._session_type = enums.SML_SESSION_TYPE_CLIENT
@@ -291,8 +289,7 @@ class ContactsProvider(SyncmlDataProvider):
def _setup_datastore(self):
err = pysyncml.Error()
- self.syncobj.add_datastore("text/x-vcard", None, "Contacts", pysyncml.byref(err))
- self.source = "Contacts"
+ self.syncobj.add_datastore("text/x-vcard", None, self._store_, pysyncml.byref(err))
def _blob_to_obj(self, uid, data):
c = Contact.Contact()
@@ -316,8 +313,7 @@ class EventsProvider(SyncmlDataProvider):
def _setup_datastore(self):
err = pysyncml.Error()
- self.syncobj.add_datastore("text/x-vcalendar", None, "Calendar", pysyncml.byref(err))
- self.source = "Calendar"
+ self.syncobj.add_datastore("text/x-vcalendar", None, self._store_, pysyncml.byref(err))
def _blob_to_obj(self, uid, data):
e = Event.Event()
@@ -335,13 +331,23 @@ class BluetoothContactsProvider(BluetoothClient, ContactsProvider):
class BluetoothEventsProvider(BluetoothClient, EventsProvider):
pass
-class SyncmlContactTwoWay(HttpClientProvider, ContactsProvider):
-
- def __init__(self, *args):
- SyncmlDataProvider.__init__(self, "http://localhost:1234")
-
-class SyncmlEventsTwoWay(HttpClientProvider, EventsProvider):
-
- def __init__(self, *args):
- SyncmlDataProvider.__init__(self, "http://localhost:1234")
+class SyncmlContactsTwoWay(HttpClient, ContactsProvider):
+ _address_ = "http://localhost:1234"
+ _store_ = "Contacts"
+MODULES['SyncmlContactsTwoWay'] = {"type":"dataprovider"}
+
+class SyncmlEventsTwoWay(HttpClient, EventsProvider):
+ _address_ = "http://localhost:1234"
+ _store_ = "Calendar"
+MDOULES['SyncmlEventsTwoWay'] = {"type":"dataprovider"}
+
+class ScheduleWorldContacts(HttpClient, ContactsProvider):
+ _address_ = "http://sync.scheduleworld.com/funambol/ds"
+ _store_ = "card"
+MODULES['ScheduleWorldContacts'] = {"type":"dataprovider"}
+
+class ScheduleWorldCalendar(HttpClient, EventsProvider):
+ _address_ = "http://sync.scheduleworld.com/funambol/ds"
+ _store_ = "cal"
+MODULES['ScheduleWorldCalendar'] = {"type":"dataprovider"}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]