# Path: contacts/contacts.py
# PHONE_PREFIX = "tel:"
# class Contact(pisiinterfaces.Syncable):
# class AbstractContactSynchronizationModule(pisiinterfaces.AbstractSynchronizationModule):
#     def __init__(self, id, attributes):
#     def compare(self,  contactEntry):
#     def __init__(self,  verbose,  soft,  modulesString,  config,  configsection,  name = "unkown contact source"):
#     def allContacts( self ):
#     def getContact(self,  id):
#     def flush(self):
#     def addContact( self, contactInstance ):
#     def replaceContact( self, id, updatedContact):
#     def removeContact( self, id ):
#     def _prefixNumbers(self, atts):
#     def _dePrefixNumbers(self, atts):
# def _safeString(st,  replacement = ""):
# def assembleID(contactAtts):


import os.path
import sys,os,re
import vobject
import vobjecttools
import pisiprogress
import thirdparty.conduit.SyncmlModule as SyncmlModule
from contacts import contacts
from pisiconstants import *
""" 
Syncronize with SyncML

This file is part of Pisi. This implementation is based on the Conduit branch of John Carr (http://git.gnome.org/cgit/conduit/log/?h=syncml),
which was one of the very first Python Syncml implementation - based on a ctime binding to the libsyncml library (https://libsyncml.opensync.org/).
The bindings were kept as found there - but I changed a lot the SyncModule file - in order to keep it as simple as possible.
Go and check L{thirdparty.conduit.SyncmlModule} for some more details.

Pisi is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Pisi is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Pisi.  If not, see <http://www.gnu.org/licenses/>

"""


# Allows us to import contact
sys.path.insert(0,os.path.abspath(__file__+"/../.."))

SYNCMLSERVER_IDENTIFIER = "pisi"
"""What app name to use when connecting to Syncml server"""


# Path: contacts/contacts.py
# PHONE_PREFIX = "tel:"
# class Contact(pisiinterfaces.Syncable):
# class AbstractContactSynchronizationModule(pisiinterfaces.AbstractSynchronizationModule):
#     def __init__(self, id, attributes):
#     def compare(self,  contactEntry):
#     def __init__(self,  verbose,  soft,  modulesString,  config,  configsection,  name = "unkown contact source"):
#     def allContacts( self ):
#     def getContact(self,  id):
#     def flush(self):
#     def addContact( self, contactInstance ):
#     def replaceContact( self, id, updatedContact):
#     def removeContact( self, id ):
#     def _prefixNumbers(self, atts):
#     def _dePrefixNumbers(self, atts):
# def _safeString(st,  replacement = ""):
# def assembleID(contactAtts):


# Path: modules/contacts_syncml.py
import os.path
import sys,os,re
import vobject
import vobjecttools
import pisiprogress
import thirdparty.conduit.SyncmlModule as SyncmlModule
from contacts import contacts
from pisiconstants import *

""" 
Syncronize with SyncML

This file is part of Pisi. This implementation is based on the Conduit branch of John Carr (http://git.gnome.org/cgit/conduit/log/?h=syncml),
which was one of the very first Python Syncml implementation - based on a ctime binding to the libsyncml library (https://libsyncml.opensync.org/).
The bindings were kept as found there - but I changed a lot the SyncModule file - in order to keep it as simple as possible.
Go and check L{thirdparty.conduit.SyncmlModule} for some more details.

Pisi is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Pisi is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Pisi.  If not, see <http://www.gnu.org/licenses/>

"""


# Allows us to import contact
sys.path.insert(0,os.path.abspath(__file__+"/../.."))

SYNCMLSERVER_IDENTIFIER = "pisi"
"""What app name to use when connecting to Syncml server"""


class SynchronizationModule(contacts.AbstractContactSynchronizationModule):