Package conduit :: Package modules :: Module OSyncEvoModule
[hide private]

Source Code for Module conduit.modules.OSyncEvoModule

 1  import conduit 
 2  from conduit.dataproviders.Opensync import ContactDataprovider, EventDataprovider 
 3  from gettext import gettext as _ 
 4   
 5  MODULES = { 
 6      "OS_Evolution_Contact":   { "type": "dataprovider" }, 
 7      "OS_Evolution_Event":     { "type": "dataprovider" }, 
 8  #    "OS_Evolution_Todo":     { "type": "dataprovider" }, 
 9  } 
10   
11   
12 -class _EvolutionMixin(object):
13 ev_source = "default" 14
15 - def get_configuration(self):
16 return { 17 "source" : self.ev_source 18 }
19
20 - def set_configuration(self, config):
21 self.ev_source = config.get("source", self.ev_source)
22 23
24 -class OS_Evolution_Contact(ContactDataprovider, _EvolutionMixin):
25 26 _name_ = _("Evolution Contacts") 27 _description_ = _("Sync your Evolution contacts") 28 _category_ = conduit.dataproviders.CATEGORY_OFFICE 29 _os_name_ = "evo2-sync" 30 _os_sink_ = "contact" 31
32 - def _get_config(self):
33 config = """<config> 34 <address_path>%s</address_path> 35 <calendar_path>default</calendar_path> 36 <tasks_path>default</tasks_path> 37 </config>""" 38 return config % self.ev_source
39 40
41 -class OS_Evolution_Event(EventDataprovider, _EvolutionMixin):
42 43 _name_ = _("Evolution Events") 44 _description_ = _("Sync your Evolution events") 45 _category_ = conduit.dataproviders.CATEGORY_OFFICE 46 _os_name_ = "evo2-sync" 47 _os_sink_ = "event" 48
49 - def _get_config(self):
50 config = """<config> 51 <address_path>default</address_path> 52 <calendar_path>%s</calendar_path> 53 <tasks_path>default</tasks_path> 54 </config>""" 55 return config % self.ev_source
56 57
58 -class OS_Evolution_Todo(EventDataprovider, _EvolutionMixin):
59 60 _name_ = _("Evolution Todo") 61 _description_ = _("Sync your Evolution tasks") 62 _category_ = conduit.dataproviders.CATEGORY_OFFICE 63 _os_name_ = "evo2-sync" 64 _os_sink_ = "todo" 65
66 - def _get_config(self):
67 config = """<config> 68 <address_path>default</address_path> 69 <calendar_path>default</calendar_path> 70 <tasks_path>%s</tasks_path> 71 </config>""" 72 return config % self.ev_source
73