From: <luc...@us...> - 2003-07-13 08:57:41
|
Update of /cvsroot/zxsync/zXSync/plugins/osx In directory sc8-pr-cvs1:/tmp/cvs-serv28758 Modified Files: osxplugin.py Log Message: - Removed UID field from vCards (the id is still available via getId(), but not as a field). This avoids a lot of trouble when the ids of a plugin are not worth much (as is currently the case with iPod and Zaurus contacts ;-)) - Added the notion of device ids (necessary for backups) - Added change field notification Index: osxplugin.py =================================================================== RCS file: /cvsroot/zxsync/zXSync/plugins/osx/osxplugin.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** osxplugin.py 23 Jun 2003 21:25:39 -0000 1.8 --- osxplugin.py 13 Jul 2003 08:57:38 -0000 1.9 *************** *** 74,78 **** record = None try: ! uid = entry.getUID().getValue() record = self.ab.recordForUniqueId(uid) except: --- 74,78 ---- record = None try: ! uid = entry.getId() record = self.ab.recordForUniqueId(uid) except: *************** *** 150,153 **** --- 150,161 ---- return contacts.notifyAddField(newField, parentEntry) + + def notifyChangeField(self, newField, oldField): + """ + Called to notify the plugin when a field is about to be changed in + zXSync's internal pool of data for this application. + """ + return contacts.notifyChangeField(newField, oldField) + class OSXDevice(Device): *************** *** 157,160 **** --- 165,177 ---- """ + def getId(self): + """ + Returns the id of this device. For now, we have only the local + machine as a device, so "localhost" seems like an appropriate + choice. + """ + return "localhost" + + def init(self, context): """ *************** *** 179,185 **** """ ! # For the osx plugin, the implementation is really simple: If we're ! # running under osx, return a "device" for every entry in the settings ! # parameter. If not, return an empty list. devices = [] if sys.platform[:6] == "darwin": --- 196,202 ---- """ ! # Return exactly one "device" if we're running on a Mac (and we have at ! # least one settings dictionary). Once some networking support is in ! # place, it should be possible to return more than one device. devices = [] if sys.platform[:6] == "darwin": *************** *** 187,190 **** --- 204,208 ---- device = OSXDevice(settingsDict) devices.append(device) + break return devices |