2 import org.maemo.hermes.engine.provider
3 import org.maemo.hermes.engine.gravatar.service
5 class Provider(org.maemo.hermes.engine.provider.Provider):
6 """Gravatar provider for Hermes.
8 Copyright (c) Fredrik Wendt <fredrik@wendt.se> 2010.
9 Released under the Artistic Licence."""
12 # -----------------------------------------------------------------------
14 self._gconf = gnome.gconf.client_get_default()
16 self._api_email = self._gconf.get_string('/apps/maemo/hermes/gravatar_email')
17 self._api_key = self._gconf.get_string('/apps/maemo/hermes/gravatar_key')
19 if self._api_key is None or self._api_email is None:
20 raise Exception('No Gravatar application keys found. Installation error.')
23 # -----------------------------------------------------------------------
25 """Return the display name of this service. An icon, of with the lower-case,
26 all-alphabetic version of this name is expected to be provided."""
31 # -----------------------------------------------------------------------
32 def has_preferences(self):
33 """Whether or not this provider has any preferences. If it does not,
34 open_preferences must NOT be called; as the behaviour is undetermined."""
39 # -----------------------------------------------------------------------
40 def service(self, gui_callback):
41 """Return the service backend"""
43 return org.maemo.hermes.engine.gravatar.service.Service(self.get_id(), self.api_email, self.api_key)