Better way for old python compatibility (should work this time, I think)
authorMagnus Hagander <magnus@hagander.net>
Sat, 19 Jun 2010 13:27:45 +0000 (15:27 +0200)
committerMagnus Hagander <magnus@hagander.net>
Sat, 19 Jun 2010 13:27:45 +0000 (15:27 +0200)
setuptwitter.py

index 54b4d4d3b7f7fabfac7ebefac732d870b4634aaf..a1267a58c379e5710c67eaf2fb69d1c7f3d401fa 100755 (executable)
@@ -10,7 +10,7 @@ Copyright (C) 2010 PostgreSQL Global Development Group
 
 import sys
 import oauth2 as oauth
-import urlparse
+import cgi
 import ConfigParser
 
 cfg = ConfigParser.ConfigParser()
@@ -29,18 +29,18 @@ if resp['status'] != '200':
        print "request_token call failed!"
        print resp
        sys.exit(1)
-req_token_cred = urlparse.parse_qs(content)
+req_token_cred = dict(cgi.parse_qsl(content))
 
 print "Received request token."
-print "Token secret (keep this for the next step): %s" % req_token_cred['oauth_token_secret'][0]
+print "Token secret: %s" % req_token_cred['oauth_token_secret']
 print ""
 print "Now, go to the following URL:"
-print "https://api.twitter.com/oauth/authorize?oauth_token=%s" % req_token_cred['oauth_token'][0]
+print "https://api.twitter.com/oauth/authorize?oauth_token=%s" % req_token_cred['oauth_token']
 print ""
 
 pin = raw_input('Enter the PIN here:')
 
-token = oauth.Token(req_token_cred['oauth_token'][0], req_token_cred['oauth_token_secret'][0])
+token = oauth.Token(req_token_cred['oauth_token'], req_token_cred['oauth_token_secret'])
 client = oauth.Client(consumer, token)
 # Put the PIN on the URL, because it seems to not work to use token.set_verifier()
 resp, content = client.request('https://api.twitter.com/oauth/access_token?oauth_verifier=%s' % pin, "POST")
@@ -50,10 +50,10 @@ if resp['status'] != '200':
        print content
        sys.exit(1)
 
-r = urlparse.parse_qs(content)
+r = dict(cgi.parse_qsl(content))
 print "Access token received."
-print "Token: %s" % r['oauth_token'][0]
-print "Secret: %s" % r['oauth_token_secret'][0]
+print "Token: %s" % r['oauth_token']
+print "Secret: %s" % r['oauth_token_secret']
 print "Record these two values in planet.ini, and you're good to go!"