2 import gobject, gtk, hildon
5 from org.maemo.hermes.engine.provider_oauth import OAuthProvider
6 import org.maemo.hermes.engine.linkedin.service
7 from org.maemo.hermes.engine.linkedin.api import LinkedInApi
9 class Provider(OAuthProvider):
10 """LinkedIn provider for Hermes.
12 Copyright (c) Andrew Flegg <andrew@bleb.org> 2010.
13 Released under the Artistic Licence."""
15 LI_API_URL = "https://api.linkedin.com"
17 REQUEST_TOKEN_URL = LI_API_URL + "/uas/oauth/requestToken"
18 AUTHORIZE_URL = LI_API_URL + "/uas/oauth/authorize"
19 ACCESS_TOKEN_URL = LI_API_URL + "/uas/oauth/accessToken"
22 # -----------------------------------------------------------------------
24 OAuthProvider.__init__(self)
25 self._api = LinkedInApi(self.consumer, self.make_api_request)
28 # -----------------------------------------------------------------------
30 """Return the display name of this service. An icon, of with the lower-case,
31 all-alphabetic version of this name is expected to be provided."""
36 # -----------------------------------------------------------------------
38 """Return the various URLs needed for OAuth."""
40 return (self.REQUEST_TOKEN_URL, self.ACCESS_TOKEN_URL, self.AUTHORIZE_URL)
43 # -----------------------------------------------------------------------
44 def service(self, gui_callback):
45 """Return the service backend."""
47 return org.maemo.hermes.engine.linkedin.service.Service(self.get_id(), self._api)
50 # -----------------------------------------------------------------------
51 def verify_verifier(self, access_token):
52 return self._api.verify_verifier(access_token)