]> jfr.im git - z_archive/twitter.git/blobdiff - twitter/oauth.py
More stuff in gitignore.
[z_archive/twitter.git] / twitter / oauth.py
index 75ac3e34be17345ed0fd68032c283a9ca06de646..96cc4e65a280f5aab9c724340a38b5f916dfd258 100644 (file)
@@ -6,15 +6,21 @@ 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()
 
@@ -52,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):
@@ -68,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...