Skip to content
This repository has been archived by the owner on Jul 15, 2019. It is now read-only.

Commit

Permalink
refactored oauth client + tweaked signing method
Browse files Browse the repository at this point in the history
  • Loading branch information
dustinwhittle committed Oct 13, 2009
1 parent 950810e commit 6ee2080
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 14 deletions.
2 changes: 1 addition & 1 deletion src/yahoo/application.py
Expand Up @@ -77,7 +77,7 @@ def get_access_token(self, request_token, verifier=None):
else: else:
parameters = { 'oauth_verifier': verifier } parameters = { 'oauth_verifier': verifier }
request = oauthlib.oauth.OAuthRequest.from_consumer_and_token(self.consumer, token=request_token, http_method='GET', http_url=self.client.access_token_url, parameters=parameters) request = oauthlib.oauth.OAuthRequest.from_consumer_and_token(self.consumer, token=request_token, http_method='GET', http_url=self.client.access_token_url, parameters=parameters)
request.sign_request(self.signature_method_hmac_sha1, self.consumer, request_token) request.sign_request(self.signature_method_plaintext, self.consumer, request_token)
self.token = self.client.fetch_access_token(request) self.token = self.client.fetch_access_token(request)
return self.token return self.token


Expand Down
23 changes: 10 additions & 13 deletions src/yahoo/oauth.py
Expand Up @@ -139,7 +139,7 @@ def from_string(s):


class Client(oauthlib.oauth.OAuthClient): class Client(oauthlib.oauth.OAuthClient):


def __init__(self, server='https://api.login.yahoo.com/.', port=httplib.HTTPS_PORT, request_token_url=REQUEST_TOKEN_API_URL, access_token_url=ACCESS_TOKEN_API_URL, authorization_url=AUTHORIZATION_API_URL): def __init__(self, server='https://api.login.yahoo.com/', port=httplib.HTTPS_PORT, request_token_url=REQUEST_TOKEN_API_URL, access_token_url=ACCESS_TOKEN_API_URL, authorization_url=AUTHORIZATION_API_URL):
urlData = urlparse.urlparse(server) urlData = urlparse.urlparse(server)


self.server = urlData.netloc self.server = urlData.netloc
Expand All @@ -153,20 +153,19 @@ def __init__(self, server='https://api.login.yahoo.com/.', port=httplib.HTTPS_PO
else: else:
self.connection = httplib.HTTPConnection("%s:%d" % (urlData.netloc, self.port)) self.connection = httplib.HTTPConnection("%s:%d" % (urlData.netloc, self.port))


# self.connection.set_debuglevel(3)

def fetch_request_token(self, oauth_request): def fetch_request_token(self, oauth_request):
self.connection.request(oauth_request.http_method, self.request_token_url, headers=oauth_request.to_header()) self.connection.request(oauth_request.http_method, self.request_token_url, headers=oauth_request.to_header('yahooapis.com'))
response = self.connection.getresponse() return RequestToken.from_string(self.connection.getresponse().read().strip())
return RequestToken.from_string(response.read())


def fetch_access_token(self, oauth_request): def fetch_access_token(self, oauth_request):
self.connection.request(oauth_request.http_method, self.access_token_url, headers=oauth_request.to_header()) self.connection.request(oauth_request.http_method, self.access_token_url, headers=oauth_request.to_header('yahooapis.com'))
response = self.connection.getresponse() return AccessToken.from_string(self.connection.getresponse().read().strip())
return AccessToken.from_string(response.read())


def authorize_token(self, oauth_request): def authorize_token(self, oauth_request):
self.connection.request(oauth_request.http_method, self.authorization_url, headers=oauth_request.to_header()) self.connection.request(oauth_request.http_method, self.authorization_url, headers=oauth_request.to_header('yahooapis.com'))
response = self.connection.getresponse() return self.connection.getresponse().read().strip()
return response.read()


def access_resource(self, oauth_request, body = None): def access_resource(self, oauth_request, body = None):
urlData = urlparse.urlparse(oauth_request.get_normalized_http_url()) urlData = urlparse.urlparse(oauth_request.get_normalized_http_url())
Expand All @@ -183,6 +182,4 @@ def access_resource(self, oauth_request, body = None):
else: else:
connection.request(oauth_request.http_method, oauth_request.to_url()) connection.request(oauth_request.http_method, oauth_request.to_url())


response = connection.getresponse() return connection.getresponse().read().strip()

return response.read()

0 comments on commit 6ee2080

Please sign in to comment.