4627c281375ef0d38d80b327247c5a4739ca012c
[hermes] / package / src / org / maemo / hermes / engine / gravatar / provider.py
1 import gnome.gconf
2 import org.maemo.hermes.engine.provider
3 import org.maemo.hermes.engine.gravatar.service
4
5 class Provider(org.maemo.hermes.engine.provider.Provider):
6     """Gravatar provider for Hermes. 
7
8        Copyright (c) Fredrik Wendt <fredrik@wendt.se> 2010.
9        Released under the Artistic Licence."""
10
11
12     # -----------------------------------------------------------------------
13     def __init__(self):
14         self._gconf = gnome.gconf.client_get_default()
15
16
17     # -----------------------------------------------------------------------
18     def get_name(self):
19         """Return the display name of this service. An icon, of with the lower-case,
20            all-alphabetic version of this name is expected to be provided."""
21            
22         return 'Gravatar'
23     
24     
25     # -----------------------------------------------------------------------
26     def has_preferences(self):
27         """Whether or not this provider has any preferences. If it does not,
28            open_preferences must NOT be called; as the behaviour is undetermined."""
29            
30         return False
31
32     
33     # -----------------------------------------------------------------------
34     def service(self, gui_callback):
35         """Return the service backend"""
36
37         api_email = self._gconf.get_string('/apps/maemo/hermes/gravatar_email')
38         api_key = self._gconf.get_string('/apps/maemo/hermes/gravatar_key')
39
40         return org.maemo.hermes.engine.gravatar.service.Service(api_email, api_key)