X-Git-Url: https://jfr.im/git/z_archive/twitter.git/blobdiff_plain/1cc9ab0b8a70466bf8cf684fdab28aad342696c8..c710b35d50fa729aa0ea42d94000a82e0c6c847f:/twitter/oauth.py diff --git a/twitter/oauth.py b/twitter/oauth.py index a839bb6..96cc4e6 100644 --- a/twitter/oauth.py +++ b/twitter/oauth.py @@ -6,6 +6,23 @@ from time import time import urllib import hashlib import hmac +import base64 + +def write_token_file(filename, oauth_token, oauth_token_secret): + """ + Write a token file to hold the oauth token and oauth token secret. + """ + oauth_file = open(filename, 'w') + print >> oauth_file, oauth_token + print >> oauth_file, oauth_token_secret + oauth_file.close() + +def read_token_file(filename): + """ + Read a token file and return the oauth token and oauth token secret. + """ + f = open(filename) + return f.readline().strip(), f.readline().strip() class OAuth(Auth): @@ -41,9 +58,10 @@ class OAuth(Auth): message = '&'.join( urllib.quote(i, '') for i in [method.upper(), base_url, enc_params]) - - signature = hmac.new( - key, message, hashlib.sha1).digest().encode('base64')[:-1] + + signature = (base64.b64encode(hmac.new( + key.encode('ascii'), message.encode('ascii'), hashlib.sha1) + .digest())) return enc_params + "&" + "oauth_signature=" + urllib.quote(signature, '') def generate_headers(self): @@ -57,7 +75,7 @@ def urlencode_noplus(query): if hasattr(query,"items"): # mapping objects query = query.items() - + encoded_bits = [] for n, v in query: # and do unicode here while we are at it...