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):
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):
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...