11"""
22The MIT License
33
4- Copyright (c) 2007 Leah Culver, Joe Stump, Mark Paschal, Vic Fryzel
4+ Copyright (c) 2007-2010 Leah Culver, Joe Stump, Mark Paschal, Vic Fryzel
55
66Permission is hereby granted, free of charge, to any person obtaining a copy
77of this software and associated documentation files (the "Software"), to deal
3636 from cgi import parse_qs , parse_qsl
3737
3838
39- VERSION = '1.0' # Hi Blaine!
39+ VERSION = '1.0' # Hi Blaine!
4040HTTP_METHOD = 'GET'
4141SIGNATURE_METHOD = 'PLAINTEXT'
4242
@@ -55,27 +55,29 @@ def message(self):
5555 def __str__ (self ):
5656 return self ._message
5757
58+
5859class MissingSignature (Error ):
5960 pass
6061
62+
6163def build_authenticate_header (realm = '' ):
6264 """Optional WWW-Authenticate header (401 error)"""
6365 return {'WWW-Authenticate' : 'OAuth realm="%s"' % realm }
6466
6567
6668def build_xoauth_string (url , consumer , token = None ):
6769 """Build an XOAUTH string for use in SMTP/IMPA authentication."""
68- request = Request .from_consumer_and_token (consumer , token ,
70+ request = Request .from_consumer_and_token (consumer , token ,
6971 "GET" , url )
7072
7173 signing_method = SignatureMethod_HMAC_SHA1 ()
7274 request .sign_request (signing_method , consumer , token )
7375
7476 params = []
75- for k ,v in sorted (request .iteritems ()):
77+ for k , v in sorted (request .iteritems ()):
7678 if v is not None :
7779 params .append ('%s="%s"' % (k , escape (v )))
78-
80+
7981 return "%s %s %s" % ("GET" , url , ',' .join (params ))
8082
8183
@@ -130,10 +132,8 @@ def __init__(self, key, secret):
130132 raise ValueError ("Key and secret must be set." )
131133
132134 def __str__ (self ):
133- data = {
134- 'oauth_consumer_key' : self .key ,
135- 'oauth_consumer_secret' : self .secret
136- }
135+ data = {'oauth_consumer_key' : self .key ,
136+ 'oauth_consumer_secret' : self .secret }
137137
138138 return urllib .urlencode (data )
139139
@@ -232,7 +232,7 @@ def from_string(s):
232232 try :
233233 token .callback_confirmed = params ['oauth_callback_confirmed' ][0 ]
234234 except KeyError :
235- pass # 1.0, no callback confirmed.
235+ pass # 1.0, no callback confirmed.
236236 return token
237237
238238 def __str__ (self ):
@@ -714,6 +714,7 @@ def sign(self, request, consumer, token):
714714 # Calculate the digest base 64.
715715 return binascii .b2a_base64 (hashed .digest ())[:- 1 ]
716716
717+
717718class SignatureMethod_PLAINTEXT (SignatureMethod ):
718719
719720 name = 'PLAINTEXT'
@@ -729,4 +730,3 @@ def signing_base(self, request, consumer, token):
729730 def sign (self , request , consumer , token ):
730731 key , raw = self .signing_base (request , consumer , token )
731732 return raw
732-
0 commit comments