Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7d4e3fc

Browse files
author
Daniel J Holmes (jaitaiwan)
committed
Merge branch 'release/1.9' into develop
2 parents c3d8b72 + acdd693 commit 7d4e3fc

File tree

12 files changed

+770
-801
lines changed

12 files changed

+770
-801
lines changed

‎.gitignore‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
*.py?
22
*.egg-info
33
*.swp
4+
.coverage
5+
coverage.xml
6+
nosetests.xml
7+
.tox

‎README.md‎

Lines changed: 15 additions & 361 deletions
Large diffs are not rendered by default.

‎example/appengine_oauth.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def is_valid(self):
8686
request = self.get_oauth_request()
8787
client = self.get_client(request)
8888
params = self._server.verify_request(request, client, None)
89-
except Exception, e:
89+
except Exceptionas e:
9090
raise e
9191

9292
return client
@@ -95,7 +95,7 @@ class SampleHandler(OAuthHandler):
9595
def get(self):
9696
try:
9797
client = self.is_valid()
98-
except Exception, e:
98+
except Exceptionas e:
9999
self.error(500)
100100
self.response.out.write(e)
101101

‎example/client.py‎

Lines changed: 56 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -41,125 +41,141 @@
4141
CALLBACK_URL = 'http://printer.example.com/request_token_ready'
4242
RESOURCE_URL = 'http://photos.example.net/photos'
4343

44-
# key and secret granted by the service provider for this consumer application - same as the MockOAuthDataStore
44+
# key and secret granted by the service provider for this consumer
45+
# application - same as the MockOAuthDataStore
4546
CONSUMER_KEY = 'key'
4647
CONSUMER_SECRET = 'secret'
4748

4849
# example client using httplib with headers
4950
class SimpleOAuthClient(oauth.OAuthClient):
5051

51-
def __init__(self, server, port=httplib.HTTP_PORT, request_token_url='', access_token_url='', authorization_url=''):
52+
def __init__(self, server, port=httplib.HTTP_PORT, request_token_url='',
53+
access_token_url='', authorization_url=''):
5254
self.server = server
5355
self.port = port
5456
self.request_token_url = request_token_url
5557
self.access_token_url = access_token_url
5658
self.authorization_url = authorization_url
57-
self.connection = httplib.HTTPConnection("%s:%d" % (self.server, self.port))
59+
self.connection = httplib.HTTPConnection(
60+
"%s:%d" % (self.server, self.port))
5861

5962
def fetch_request_token(self, oauth_request):
6063
# via headers
6164
# -> OAuthToken
62-
self.connection.request(oauth_request.http_method, self.request_token_url, headers=oauth_request.to_header())
65+
self.connection.request(oauth_request.http_method,
66+
self.request_token_url, headers=oauth_request.to_header())
6367
response = self.connection.getresponse()
6468
return oauth.OAuthToken.from_string(response.read())
6569

6670
def fetch_access_token(self, oauth_request):
6771
# via headers
6872
# -> OAuthToken
69-
self.connection.request(oauth_request.http_method, self.access_token_url, headers=oauth_request.to_header())
73+
self.connection.request(oauth_request.http_method,
74+
self.access_token_url, headers=oauth_request.to_header())
7075
response = self.connection.getresponse()
7176
return oauth.OAuthToken.from_string(response.read())
7277

7378
def authorize_token(self, oauth_request):
7479
# via url
7580
# -> typically just some okay response
76-
self.connection.request(oauth_request.http_method, oauth_request.to_url())
81+
self.connection.request(oauth_request.http_method,
82+
oauth_request.to_url())
7783
response = self.connection.getresponse()
7884
return response.read()
7985

8086
def access_resource(self, oauth_request):
8187
# via post body
8288
# -> some protected resources
8389
headers = {'Content-Type' :'application/x-www-form-urlencoded'}
84-
self.connection.request('POST', RESOURCE_URL, body=oauth_request.to_postdata(), headers=headers)
90+
self.connection.request('POST', RESOURCE_URL,
91+
body=oauth_request.to_postdata(),
92+
headers=headers)
8593
response = self.connection.getresponse()
8694
return response.read()
8795

8896
def run_example():
8997

9098
# setup
91-
print '** OAuth Python Library Example **'
92-
client = SimpleOAuthClient(SERVER, PORT, REQUEST_TOKEN_URL, ACCESS_TOKEN_URL, AUTHORIZATION_URL)
99+
print('** OAuth Python Library Example **')
100+
client = SimpleOAuthClient(SERVER, PORT, REQUEST_TOKEN_URL,
101+
ACCESS_TOKEN_URL, AUTHORIZATION_URL)
93102
consumer = oauth.OAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET)
94103
signature_method_plaintext = oauth.OAuthSignatureMethod_PLAINTEXT()
95104
signature_method_hmac_sha1 = oauth.OAuthSignatureMethod_HMAC_SHA1()
96105
pause()
97106

98107
# get request token
99-
print'* Obtain a request token ...'
108+
print('* Obtain a request token ...')
100109
pause()
101-
oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer, callback=CALLBACK_URL, http_url=client.request_token_url)
110+
oauth_request = oauth.OAuthRequest.from_consumer_and_token(
111+
consumer, callback=CALLBACK_URL, http_url=client.request_token_url)
102112
oauth_request.sign_request(signature_method_plaintext, consumer, None)
103-
print'REQUEST (via headers)'
104-
print'parameters: %s' % str(oauth_request.parameters)
113+
print('REQUEST (via headers)')
114+
print('parameters: %s' % str(oauth_request.parameters))
105115
pause()
106116
token = client.fetch_request_token(oauth_request)
107-
print'GOT'
108-
print'key: %s' % str(token.key)
109-
print'secret: %s' % str(token.secret)
110-
print'callback confirmed? %s' % str(token.callback_confirmed)
117+
print('GOT')
118+
print('key: %s' % str(token.key))
119+
print('secret: %s' % str(token.secret))
120+
print('callback confirmed? %s' % str(token.callback_confirmed))
111121
pause()
112122

113-
print'* Authorize the request token ...'
123+
print('* Authorize the request token ...')
114124
pause()
115-
oauth_request = oauth.OAuthRequest.from_token_and_callback(token=token, http_url=client.authorization_url)
116-
print 'REQUEST (via url query string)'
117-
print 'parameters: %s' % str(oauth_request.parameters)
125+
oauth_request = oauth.OAuthRequest.from_token_and_callback(
126+
token=token, http_url=client.authorization_url)
127+
print('REQUEST (via url query string)')
128+
print('parameters: %s' % str(oauth_request.parameters))
118129
pause()
119130
# this will actually occur only on some callback
120131
response = client.authorize_token(oauth_request)
121-
print'GOT'
122-
printresponse
132+
print('GOT')
133+
print(response)
123134
# sad way to get the verifier
124135
import urlparse, cgi
125136
query = urlparse.urlparse(response)[4]
126137
params = cgi.parse_qs(query, keep_blank_values=False)
127138
verifier = params['oauth_verifier'][0]
128-
print'verifier: %s' % verifier
139+
print('verifier: %s' % verifier)
129140
pause()
130141

131142
# get access token
132-
print'* Obtain an access token ...'
143+
print('* Obtain an access token ...')
133144
pause()
134-
oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer, token=token, verifier=verifier, http_url=client.access_token_url)
145+
oauth_request = oauth.OAuthRequest.from_consumer_and_token(
146+
consumer, token=token, verifier=verifier,
147+
http_url=client.access_token_url)
135148
oauth_request.sign_request(signature_method_plaintext, consumer, token)
136-
print'REQUEST (via headers)'
137-
print'parameters: %s' % str(oauth_request.parameters)
149+
print('REQUEST (via headers)')
150+
print('parameters: %s' % str(oauth_request.parameters))
138151
pause()
139152
token = client.fetch_access_token(oauth_request)
140-
print'GOT'
141-
print'key: %s' % str(token.key)
142-
print'secret: %s' % str(token.secret)
153+
print('GOT')
154+
print('key: %s' % str(token.key))
155+
print('secret: %s' % str(token.secret))
143156
pause()
144157

145158
# access some protected resources
146-
print'* Access protected resources ...'
159+
print('* Access protected resources ...')
147160
pause()
148-
parameters = {'file': 'vacation.jpg', 'size': 'original'} # resource specific params
149-
oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer, token=token, http_method='POST', http_url=RESOURCE_URL, parameters=parameters)
161+
parameters = {'file': 'vacation.jpg',
162+
'size': 'original'} # resource specific params
163+
oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer,
164+
token=token, http_method='POST', http_url=RESOURCE_URL,
165+
parameters=parameters)
150166
oauth_request.sign_request(signature_method_hmac_sha1, consumer, token)
151-
print'REQUEST (via post body)'
152-
print'parameters: %s' % str(oauth_request.parameters)
167+
print('REQUEST (via post body)')
168+
print('parameters: %s' % str(oauth_request.parameters))
153169
pause()
154170
params = client.access_resource(oauth_request)
155-
print'GOT'
156-
print'non-oauth parameters: %s' % params
171+
print('GOT')
172+
print('non-oauth parameters: %s' % params)
157173
pause()
158174

159175
def pause():
160-
print''
176+
print('')
161177
time.sleep(1)
162178

163179
if __name__ == '__main__':
164180
run_example()
165-
print'Done.'
181+
print('Done.')

‎example/server.py‎

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,11 @@ def lookup_token(self, token_type, token):
6060
return None
6161

6262
def lookup_nonce(self, oauth_consumer, oauth_token, nonce):
63-
if oauth_token and oauth_consumer.key == self.consumer.key and (oauth_token.key == self.request_token.key or oauth_token.key == self.access_token.key) and nonce == self.nonce:
63+
if (oauth_token and
64+
oauth_consumer.key == self.consumer.key and
65+
(oauth_token.key == self.request_token.key or
66+
oauth_token.key == self.access_token.key) and
67+
nonce == self.nonce):
6468
return self.nonce
6569
return None
6670

@@ -74,7 +78,9 @@ def fetch_request_token(self, oauth_consumer, oauth_callback):
7478
return None
7579

7680
def fetch_access_token(self, oauth_consumer, oauth_token, oauth_verifier):
77-
if oauth_consumer.key == self.consumer.key and oauth_token.key == self.request_token.key and oauth_verifier == self.verifier:
81+
if (oauth_consumer.key == self.consumer.key and
82+
oauth_token.key == self.request_token.key and
83+
oauth_verifier == self.verifier):
7884
# want to check here if token is authorized
7985
# for mock store, we assume it is
8086
return self.access_token
@@ -91,8 +97,10 @@ class RequestHandler(BaseHTTPRequestHandler):
9197

9298
def __init__(self, *args, **kwargs):
9399
self.oauth_server = oauth.OAuthServer(MockOAuthDataStore())
94-
self.oauth_server.add_signature_method(oauth.OAuthSignatureMethod_PLAINTEXT())
95-
self.oauth_server.add_signature_method(oauth.OAuthSignatureMethod_HMAC_SHA1())
100+
self.oauth_server.add_signature_method(
101+
oauth.OAuthSignatureMethod_PLAINTEXT())
102+
self.oauth_server.add_signature_method(
103+
oauth.OAuthSignatureMethod_HMAC_SHA1())
96104
BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
97105

98106
# example way to send an oauth error
@@ -119,7 +127,8 @@ def do_GET(self):
119127
pass
120128

121129
# construct the oauth request from the request parameters
122-
oauth_request = oauth.OAuthRequest.from_request(self.command, self.path, headers=self.headers, query_string=postdata)
130+
oauth_request = oauth.OAuthRequest.from_request(self.command,
131+
self.path, headers=self.headers, query_string=postdata)
123132

124133
# request token
125134
if self.path.startswith(REQUEST_TOKEN_URL):
@@ -131,7 +140,7 @@ def do_GET(self):
131140
self.end_headers()
132141
# return the token
133142
self.wfile.write(token.to_string())
134-
except oauth.OAuthError, err:
143+
except oauth.OAuthErroras err:
135144
self.send_oauth_error(err)
136145
return
137146

@@ -148,7 +157,7 @@ def do_GET(self):
148157
self.end_headers()
149158
# return the callback url (to show server has it)
150159
self.wfile.write(token.get_callback_url())
151-
except oauth.OAuthError, err:
160+
except oauth.OAuthErroras err:
152161
self.send_oauth_error(err)
153162
return
154163

@@ -162,21 +171,22 @@ def do_GET(self):
162171
self.end_headers()
163172
# return the token
164173
self.wfile.write(token.to_string())
165-
except oauth.OAuthError, err:
174+
except oauth.OAuthErroras err:
166175
self.send_oauth_error(err)
167176
return
168177

169178
# protected resources
170179
if self.path.startswith(RESOURCE_URL):
171180
try:
172181
# verify the request has been oauth authorized
173-
consumer, token, params = self.oauth_server.verify_request(oauth_request)
182+
consumer, token, params = self.oauth_server.verify_request(
183+
oauth_request)
174184
# send okay response
175185
self.send_response(200, 'OK')
176186
self.end_headers()
177187
# return the extra parameters - just for something to return
178188
self.wfile.write(str(params))
179-
except oauth.OAuthError, err:
189+
except oauth.OAuthErroras err:
180190
self.send_oauth_error(err)
181191
return
182192

@@ -186,10 +196,10 @@ def do_POST(self):
186196
def main():
187197
try:
188198
server = HTTPServer(('', 8080), RequestHandler)
189-
print'Test server running...'
199+
print('Test server running...')
190200
server.serve_forever()
191201
except KeyboardInterrupt:
192202
server.socket.close()
193203

194204
if __name__ == '__main__':
195-
main()
205+
main()

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /