This regression makes the opensync python plugin virtually unusable. Any sync that has modifications originating in a python based opensync plugin will result in a TypeError exception and a premature end to the sync. At this point any sync with this sync group becomes impossible.
The problem will not be addressed upstream because development on the 0.2x branch has ended in favour of the, as yet not release ready, 0.3x branch. Fixes to the 0.2x branch will be required at distribution level until 0.3x/0.40 is ready for release. The above patch is suitable in this case.
TEST CASE:
Using a Windows Mobile device and the synce packages, create an opensync sync group containing the synce-opensync-plugin and another opensync plugin, eg. the evolution plugin
$ msynctool --addgroup test
$ msynctool --addmember test evo2-sync
$ msynctool --addmember synce-opensync-plugin
$ msynctool --configure test 1
$ synce-create-partnership test Contacts
Create a new contact on either side, and perform a sync.
$ msynctool --sync test
Modify the contact on the device (the plugin that uses the python wrapper, modifications from the other side work ok), and run another sync.
This regression makes the opensync python plugin virtually unusable. Any sync that has modifications originating in a python based opensync plugin will result in a TypeError exception and a premature end to the sync. At this point any sync with this sync group becomes impossible.
The problem will not be addressed upstream because development on the 0.2x branch has ended in favour of the, as yet not release ready, 0.3x branch. Fixes to the 0.2x branch will be required at distribution level until 0.3x/0.40 is ready for release. The above patch is suitable in this case.
TEST CASE: plugin and another opensync plugin, eg. the evolution plugin plugin partnership test Contacts
Using a Windows Mobile device and the synce packages, create an opensync sync group containing the synce-opensync-
$ msynctool --addgroup test
$ msynctool --addmember test evo2-sync
$ msynctool --addmember synce-opensync-
$ msynctool --configure test 1
$ synce-create-
Create a new contact on either side, and perform a sync.
$ msynctool --sync test
Modify the contact on the device (the plugin that uses the python wrapper, modifications from the other side work ok), and run another sync.
$ msynctool --sync test
This will fail with a TypeError.