home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 October / maximum-cd-2011-10.iso / DiscContents / digsby_setup.exe / lib / plugins / linkedin / LinkedInApi.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-06-22  |  4.3 KB  |  85 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. import logging
  5. import util.net as net
  6. import util.callbacks as callbacks
  7. import common.oauth_util as oauth_util
  8. log = logging.getLogger('linkedin.new.api')
  9.  
  10. class LinkedInOAuthRequest(oauth_util.OAuthRequest):
  11.     
  12.     def finalize_fields(self, oauth_url, data, headers, method, oauth_request):
  13.         (_method, _url, _headers, _data) = oauth_util.OAuthRequest.finalize_fields(self, oauth_url, data, headers, method, oauth_request)
  14.         if data:
  15.             _headers['Content-Type'] = 'text/xml'
  16.         
  17.         return (_method, _url, _headers, _data)
  18.  
  19.  
  20.  
  21. class LinkedInOAuthConsumer(oauth_util.OAuthConsumerBase):
  22.     KEY = 'w25TvEXn_8mHnRLqg2Sd26UwThv9KszMV9dIBaBN7A_A3JmVn_nfd5ylCytN2RQD'
  23.     SECRET = 'yGp-7cTepp6HRB17kvMUtnCHzCXiTORpKL4L0xhXFX2Sjg8ANKHnawpj17sPW0Lb'
  24.  
  25.  
  26. class LinkedInOauthAPICall(oauth_util.OAuthAPICall):
  27.     
  28.     def _request(self, method, data = None, **kw):
  29.         kw.update(self.kw)
  30.         client = self.client
  31.         (url, format) = self._normalize_url(client, **kw)
  32.         if self.client.token is None:
  33.             self.unauthorized_handler(url, method, data, **kw)(oauth_util.Unauthorized('No token stored'))
  34.             return None
  35.         kw['format'] = format
  36.         return oauth_util.OAuthAPICall._request(self, method, data = data, **kw)
  37.  
  38.     _request = callbacks.callsback(_request)
  39.     
  40.     def _normalize_url(self, client, **kw):
  41.         (url, format) = oauth_util.OAuthAPICall._normalize_url(self, client, **kw)
  42.         urlparsed = net.UrlQuery.parse(url)
  43.         if ':' in urlparsed['path'] or kw.get('fields', None) is None:
  44.             return (url, format)
  45.         urlparsed['path'] = '%s:(%s)' % (urlparsed['path'], ','.join((lambda .0: for field in .0:
  46. field.encode('url'))(kw.get('fields', ()))))
  47.         return (net.UrlQuery.unparse(**urlparsed), format)
  48.  
  49.  
  50.  
  51. class LinkedInOAuthClient(oauth_util.OAuthClientBase):
  52.     DEFAULT_FORMAT = ''
  53.     API_BASE = 'http://api.linkedin.com/v1/'
  54.     urls = {
  55.         'request_token': 'https://api.linkedin.com/uas/oauth/requestToken',
  56.         'access_token': 'https://api.linkedin.com/uas/oauth/accessToken',
  57.         'authorization': 'https://api.linkedin.com/uas/oauth/authorize' }
  58.     events = oauth_util.OAuthClientBase.events | set(())
  59.     APICallFactory = LinkedInOauthAPICall
  60.     ConsumerFactory = LinkedInOAuthConsumer
  61.     
  62.     def RequestFactory(self, *a, **k):
  63.         return LinkedInOAuthRequest(self, *a, **k)
  64.  
  65.     
  66.     def build_request_request_token(self, *a, **k):
  67.         req = self.build_request_default(method = 'POST', parameters = {
  68.             'oauth_callback': 'http://www.digsby.com/myspace' }, *a, **k)
  69.         return req
  70.  
  71.     
  72.     def build_request_access_token(self, *a, **k):
  73.         req = self.build_request_default(method = 'POST', parameters = {
  74.             'oauth_token': self.token.key,
  75.             'oauth_verifier': self.verifier }, *a, **k)
  76.         return req
  77.  
  78.     
  79.     def token_authorized(self, results):
  80.         log.info('Got authorized token results: %r', results)
  81.         self.token.key = results.get('oauth_token')
  82.         self.verifier = results.get('oauth_verifier')
  83.  
  84.  
  85.