GNOME Bugzilla – Bug 543628
Synchronization Evolution contacts -> Gmail Contacts fails
Last modified: 2018-07-01 09:06:40 UTC
I'm trying to synchronize my contacts inside Evolution with Google Contacts. The synchronizations fails. When i start conduit from within a shell i get the following log ... Syncronization ][DEBUG ] EvoContactTwoWay-default Changes: Modified 0 items [] (Synchronization.py:241) [Syncronization ][DEBUG ] EvoContactTwoWay-default Changes: Deleted 1 items [u'pas-id-478B984F0000000C'] (Synchronization.py:242) [Syncronization ][DEBUG ] Deleted Policy: Ask (Synchronization.py:375) [Syncronization ][DEBUG ] 1WAY PUT: Evolution Contacts (pas-id-478B984F00000010) -----> Google Contacts (Synchronization.py:488) [datatypes.DataType ][DEBUG ] Getting Rid for pas-id-478B984F00000010 (DataType.py:151) [TypeConverter ][DEBUG ] Convert contact -> contact using [('contact', 'contact', {})] (TypeConverter.py:210) [TypeConverter ][DEBUG ] Skipping contact -> contact (TypeConverter.py:169) [Syncronization ][INFO ] Putting data pas-id-478B984F00000010 --> None into ContactsTwoWay-mygmaillogin@gmail.com (Synchronization.py:37) [modules.Google ][DEBUG ] Adding new email address john.example@example.com [] (GoogleModule.py:832) [modules.Google ][DEBUG ] Adding new email address john.example@example.net [] (GoogleModule.py:832) [modules.Google ][WARNING] FIXME: FIND THE OLD CONTACT BY EMAIL, GET IT, AND RAISE A CONFLICT EXCEPTION (GoogleModule.py:878) [Syncronization ][CRITICAL] UNKNOWN SYNCHRONIZATION ERROR Using the latest version 0.3.12 of conduit here with Evolution from Ubuntu Hardy Heron here.
I am also having trouble with this. While attempting a two-way sync between Evolution and Google Contacts, I get a lot of errors that look like this: [Syncronization ][WARNING] Google contacts upload error. Traceback (most recent call last):
+ Trace 203281
put_data(source, sink, sourceData, sourceDataRid, False)
sinkDataLUID)
raise Exceptions.SyncronizeError("Google contacts upload error.")
(Synchronization.py:334) [Syncronization ][DEBUG ] 2WAY PUT: Evolution Contacts (pas-id-488003810000006F) -----> Google Contacts (Synchronization.py:568) [datatypes.DataType ][DEBUG ] Getting Rid for pas-id-488003810000006F (DataType.py:151) [TypeConverter ][DEBUG ] Convert contact -> contact using [('contact', 'contact', {})] (TypeConverter.py:210) [TypeConverter ][DEBUG ] Skipping contact -> contact (TypeConverter.py:169) [Syncronization ][INFO ] Putting data pas-id-488003810000006F --> None into ContactsTwoWay-hallettj@gmail.com (Synchronization.py:37) [modules.Google ][INFO ] Could not create google contact from conduit contact (GoogleModule.py:869) And at the end of the output I see this: SyncronizeError: Google contacts upload error. (Synchronization.py:334) [Syncronization ][DEBUG ] 2WAY PUT: Evolution Contacts (pas-id-46AA969600000000) -----> Google Contacts (Synchronization.py:568) [datatypes.DataType ][DEBUG ] Getting Rid for pas-id-46AA969600000000 (DataType.py:151) [TypeConverter ][DEBUG ] Convert contact -> contact using [('contact', 'contact', {})] (TypeConverter.py:210) [TypeConverter ][DEBUG ] Skipping contact -> contact (TypeConverter.py:169) [Syncronization ][INFO ] Putting data pas-id-46AA969600000000 --> None into ContactsTwoWay-hallettj@gmail.com (Synchronization.py:37) [modules.Google ][DEBUG ] Adding new email address hallettj@gmail.com [] (GoogleModule.py:832) [modules.Google ][DEBUG ] Adding new email address hallettj@gmail.com [] (GoogleModule.py:832) [modules.Google ][WARNING] FIXME: FIND THE OLD CONTACT BY EMAIL, GET IT, AND RAISE A CONFLICT EXCEPTION (GoogleModule.py:878) [Syncronization ][CRITICAL] UNKNOWN SYNCHRONIZATION ERROR Traceback (most recent call last): File "/var/lib/python-support/python2.5/conduit/Synchronization.py", line 732, in run self.two_way_sync(self.source, sink) File "/var/lib/python-support/python2.5/conduit/Synchronization.py", line 571, in two_way_sync self._put_data(sourcedp, sinkdp, data, dataRid) File "/var/lib/python-support/python2.5/conduit/Synchronization.py", line 341, in _put_data assert(err.fromData == sourceData) AssertionError (Synchronization.py:743) Could this have something to do with Google's recent change to its Contacts organization? That is, the change that split contacts into My Contacts and Suggested Contacts? I am also using version 0.3.12 on Ubuntu Hardy
I also can't upload all my contact from evolution to google contact : [Syncronization ][DEBUG ] EvoContactTwoWay-file:///homelinux/ci020025/.evolution/addressbook/local/1202228730.15262.0@sogeti015 Changes: New 161 items [Syncronization ][DEBUG ] EvoContactTwoWay-file:///homelinux/ci020025/.evolution/addressbook/local/1202228730.15262.0@sogeti015 Changes: Modified 0 items [] (Synchronization.py:242) [Syncronization ][DEBUG ] EvoContactTwoWay-file:///homelinux/ci020025/.evolution/addressbook/local/1202228730.15262.0@sogeti015 Changes: Deleted 0 items [] (Synchronization.py:243) ** (conduit.real:29369): WARNING **: error 9 getting card: EBookStatus returned 9 [Syncronization ][CRITICAL] UNKNOWN SYNCHRONIZATION ERROR Traceback (most recent call last):
+ Trace 206244
self.one_way_sync(self.source, sink)
data = self._get_data(source, sink, i)
data = source.module.get(uid)
return self._get_object(LUID)
contact.set_from_vcard_string(obj.get_vcard_string())
(Synchronization.py:745) It also normal to see : "synchronized OK" in the canvas with this error ( openinig a other bug ? )
I can confirm this on the latest SVN (0.3.15). I'm running Fedora 10 64-bit and using the python-evolution that was included in gnome-python2-evolution from the main repos.
Google forces primary email addresses to be unique so if for instance you have two contacts with the same email gdata will throw an exception on adding the second contact. The gdata api doesn't allow you to search for a contact by email so it isn't trivial to find the conflicting entry. http://code.google.com/p/gdata-issues/issues/detail?id=505
Created attachment 130598 [details] [review] Add lookup of id's by email address patch This is a patch to correctly raise conflict errors when gmail already has a contact with the same email address. It might need some more work to improve the conflict resolution and I think updating contacts might not work. The patch should apply against SVN head.
Conduit is not under active development anymore, has not seen code changes for eight years, and saw its last tarball release in 2010. Its codebase has been archived: https://gitlab.gnome.org/Archive/conduit/commits/master Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is deprecated) if anyone takes the responsibility for active development again.