Clean up doc strings and unused imports
diff --git a/apiclient/discovery.py b/apiclient/discovery.py
index 22cb4e0..bddcef1 100644
--- a/apiclient/discovery.py
+++ b/apiclient/discovery.py
@@ -14,12 +14,10 @@
"""Client for discovery based APIs
-A client library for Google's discovery
-based APIs.
+A client library for Google's discovery based APIs.
"""
__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-
__all__ = [
'build', 'build_from_document'
]
@@ -48,8 +46,9 @@
def key2param(key):
- """
- max-results -> max_results
+ """Converts key names into parameter names.
+
+ For example, converting "max-results" -> "max_results"
"""
result = []
key = list(key)
@@ -106,10 +105,10 @@
resp, content = http.request(requested_url)
service = simplejson.loads(content)
- fn = os.path.join(os.path.dirname(__file__), "contrib",
- serviceName, "future.json")
+ fn = os.path.join(os.path.dirname(__file__), 'contrib',
+ serviceName, 'future.json')
try:
- f = file(fn, "r")
+ f = file(fn, 'r')
future = f.read()
f.close()
except IOError:
@@ -275,9 +274,9 @@
docs = ['A description of how to use this function\n\n']
for arg in argmap.iterkeys():
- required = ""
+ required = ''
if arg in required_params:
- required = " (required)"
+ required = ' (required)'
docs.append('%s - A parameter%s\n' % (arg, required))
setattr(method, '__doc__', ''.join(docs))
@@ -363,7 +362,7 @@
if futureDesc and 'methods' in futureDesc:
for methodName, methodDesc in futureDesc['methods'].iteritems():
if 'next' in methodDesc and methodName in resourceDesc['methods']:
- createNextMethod(Resource, methodName + "_next",
+ createNextMethod(Resource, methodName + '_next',
resourceDesc['methods'][methodName],
methodDesc['next'])
diff --git a/apiclient/http.py b/apiclient/http.py
index 8f64baf..2b35c85 100644
--- a/apiclient/http.py
+++ b/apiclient/http.py
@@ -23,7 +23,7 @@
"""
def __init__(self, http, postproc, uri,
- method="GET",
+ method='GET',
body=None,
headers=None,
methodId=None):
@@ -139,7 +139,7 @@
"""
self.responses = responses
- def __call__(self, http, postproc, uri, method="GET", body=None,
+ def __call__(self, http, postproc, uri, method='GET', body=None,
headers=None, methodId=None):
"""Implements the callable interface that discovery.build() expects
of requestBuilder, which is to build an object compatible with
@@ -169,7 +169,7 @@
self.headers = headers
def request(self, uri,
- method="GET",
+ method='GET',
body=None,
headers=None,
redirections=1,
diff --git a/apiclient/oauth.py b/apiclient/oauth.py
index 68e4300..1cc6cef 100644
--- a/apiclient/oauth.py
+++ b/apiclient/oauth.py
@@ -8,7 +8,6 @@
__author__ = 'jcgregorio@google.com (Joe Gregorio)'
import copy
-import datetime
import httplib2
import logging
import oauth2 as oauth
@@ -18,9 +17,9 @@
from anyjson import simplejson
try:
- from urlparse import parse_qs, parse_qsl
+ from urlparse import parse_qsl
except ImportError:
- from cgi import parse_qs, parse_qsl
+ from cgi import parse_qsl
class Error(Exception):
@@ -137,7 +136,7 @@
req = oauth.Request.from_consumer_and_token(
self.consumer, self.token, http_method=method, http_url=uri)
req.sign_request(signer, self.consumer, self.token)
- if headers == None:
+ if headers is None:
headers = {}
headers.update(req.to_header())
if 'user-agent' in headers:
@@ -210,7 +209,7 @@
resp, content = client.request(uri, 'POST', headers=headers,
body=body)
if resp['status'] != '200':
- logging.error('Failed to retrieve temporary authorization: %s' % content)
+ logging.error('Failed to retrieve temporary authorization: %s', content)
raise RequestError('Invalid response %s.' % resp['status'])
self.request_token = dict(parse_qsl(content))
@@ -247,7 +246,7 @@
uri = _oauth_uri('access', self.discovery, self.params)
resp, content = client.request(uri, 'POST', headers=headers)
if resp['status'] != '200':
- logging.error('Failed to retrieve access token: %s' % content)
+ logging.error('Failed to retrieve access token: %s', content)
raise RequestError('Invalid response %s.' % resp['status'])
oauth_params = dict(parse_qsl(content))
diff --git a/oauth2client/appengine.py b/oauth2client/appengine.py
index f35da8f..f939bc0 100644
--- a/oauth2client/appengine.py
+++ b/oauth2client/appengine.py
@@ -14,8 +14,7 @@
"""Utilities for Google App Engine
-Utilities for making it easier to use OAuth 2.0
-on Google App Engine.
+Utilities for making it easier to use OAuth 2.0 on Google App Engine.
"""
__author__ = 'jcgregorio@google.com (Joe Gregorio)'
@@ -29,8 +28,9 @@
class FlowProperty(db.Property):
- """Utility property that allows easy
- storage and retreival of an
+ """App Engine datastore Property for Flow.
+
+ Utility property that allows easy storage and retreival of an
oauth2client.Flow"""
# Tell what the user type is.
@@ -60,8 +60,9 @@
class CredentialsProperty(db.Property):
- """Utility property that allows easy
- storage and retrieval of
+ """App Engine datastore Property for Credentials.
+
+ Utility property that allows easy storage and retrieval of
oath2client.Credentials
"""
@@ -109,9 +110,9 @@
key_name: string, key name for the entity that has the credentials
property_name: string, name of the property that is an CredentialsProperty
"""
- self.model = model
- self.key_name = key_name
- self.property_name = property_name
+ self._model = model
+ self._key_name = key_name
+ self._property_name = property_name
def get(self):
"""Retrieve Credential from datastore.
@@ -119,8 +120,8 @@
Returns:
oauth2client.Credentials
"""
- entity = self.model.get_or_insert(self.key_name)
- credential = getattr(entity, self.property_name)
+ entity = self._model.get_or_insert(self._key_name)
+ credential = getattr(entity, self._property_name)
if credential and hasattr(credential, 'set_store'):
credential.set_store(self.put)
return credential
@@ -131,6 +132,6 @@
Args:
credentials: Credentials, the credentials to store.
"""
- entity = self.model.get_or_insert(self.key_name)
- setattr(entity, self.property_name, credentials)
+ entity = self._model.get_or_insert(self._key_name)
+ setattr(entity, self._property_name, credentials)
entity.put()
diff --git a/oauth2client/client.py b/oauth2client/client.py
index 5ba7af8..d05b946 100644
--- a/oauth2client/client.py
+++ b/oauth2client/client.py
@@ -113,12 +113,12 @@
the OAuth2WebServerFlow.
Args:
- token_uri: string, URI of token endpoint
- client_id: string, client identifier
- client_secret: string, client secret
- access_token: string, access token
- token_expiry: datetime, when the access_token expires
- refresh_token: string, refresh token
+ token_uri: string, URI of token endpoint.
+ client_id: string, client identifier.
+ client_secret: string, client secret.
+ access_token: string, access token.
+ token_expiry: datetime, when the access_token expires.
+ refresh_token: string, refresh token.
user_agent: string, The HTTP User-Agent to provide for this application.
@@ -178,14 +178,16 @@
'user-agent': self.user_agent,
'content-type': 'application/x-www-form-urlencoded'
}
- resp, content = http_request(self.token_uri, method='POST', body=body, headers=headers)
+ resp, content = http_request(
+ self.token_uri, method='POST', body=body, headers=headers)
if resp.status == 200:
# TODO(jcgregorio) Raise an error if loads fails?
d = simplejson.loads(content)
self.access_token = d['access_token']
self.refresh_token = d.get('refresh_token', self.refresh_token)
if 'expires_in' in d:
- self.token_expiry = datetime.timedelta(seconds = int(d['expires_in'])) + datetime.datetime.now()
+ self.token_expiry = datetime.timedelta(
+ seconds = int(d['expires_in'])) + datetime.datetime.now()
else:
self.token_expiry = None
if self.store is not None:
@@ -195,7 +197,8 @@
raise RequestError('Invalid response %s.' % resp['status'])
def authorize(self, http):
- """
+ """Authorize an httplib2.Http instance with these credentials.
+
Args:
http: An instance of httplib2.Http
or something that acts like it.
@@ -232,7 +235,7 @@
else:
headers['user-agent'] = self.user_agent
resp, content = request_orig(uri, method, body, headers,
- redirections, connection_type)
+ redirections, connection_type)
if resp.status == 401:
logging.info("Refreshing because we got a 401")
self._refresh(request_orig)
@@ -252,18 +255,20 @@
"""
def __init__(self, client_id, client_secret, scope, user_agent,
- authorization_uri='https://www.google.com/accounts/o8/oauth2/authorization',
+ auth_uri='https://www.google.com/accounts/o8/oauth2/authorization',
token_uri='https://www.google.com/accounts/o8/oauth2/token',
**kwargs):
"""Constructor for OAuth2WebServerFlow
Args:
- client_id: string, client identifier
- client_secret: string client secret
- scope: string, scope of the credentials being requested
+ client_id: string, client identifier.
+ client_secret: string client secret.
+ scope: string, scope of the credentials being requested.
user_agent: string, HTTP User-Agent to provide for this application.
- authorization_uri: string, URI for authorization endpoint
- token_uri: string, URI for token endpoint
+ auth_uri: string, URI for authorization endpoint. For convenience
+ defaults to Google's endpoints but any OAuth 2.0 provider can be used.
+ token_uri: string, URI for token endpoint. For convenience
+ defaults to Google's endpoints but any OAuth 2.0 provider can be used.
**kwargs: dict, The keyword arguments are all optional and required
parameters for the OAuth calls.
"""
@@ -271,7 +276,7 @@
self.client_secret = client_secret
self.scope = scope
self.user_agent = user_agent
- self.authorization_uri = authorization_uri
+ self.auth_uri = auth_uri
self.token_uri = token_uri
self.params = kwargs
self.redirect_uri = None
@@ -298,7 +303,7 @@
'scope': self.scope,
}
query.update(self.params)
- parts = list(urlparse.urlparse(self.authorization_uri))
+ parts = list(urlparse.urlparse(self.auth_uri))
query.update(dict(parse_qsl(parts[4]))) # 4 is the index of the query part
parts[4] = urllib.urlencode(query)
return urlparse.urlunparse(parts)
@@ -324,8 +329,8 @@
'scope': self.scope
})
headers = {
- 'user-agent': self.user_agent,
- 'content-type': 'application/x-www-form-urlencoded'
+ 'user-agent': self.user_agent,
+ 'content-type': 'application/x-www-form-urlencoded'
}
h = httplib2.Http()
resp, content = h.request(self.token_uri, method='POST', body=body, headers=headers)
@@ -340,8 +345,8 @@
logging.info('Successfully retrieved access token: %s' % content)
return OAuth2Credentials(access_token, self.client_id, self.client_secret,
- refresh_token, token_expiry, self.token_uri,
- self.user_agent)
+ refresh_token, token_expiry, self.token_uri,
+ self.user_agent)
else:
logging.error('Failed to retrieve access token: %s' % content)
raise RequestError('Invalid response %s.' % resp['status'])
diff --git a/oauth2client/django_orm.py b/oauth2client/django_orm.py
index 3ff2c85..18a4a28 100644
--- a/oauth2client/django_orm.py
+++ b/oauth2client/django_orm.py
@@ -1,3 +1,13 @@
+# Copyright 2010 Google Inc. All Rights Reserved.
+
+"""OAuth 2.0 utilities for Django.
+
+Utilities for using OAuth 2.0 in conjunction with
+the Django datastore.
+"""
+
+__author__ = 'jcgregorio@google.com (Joe Gregorio)'
+
import oauth2client
import base64
import pickle
@@ -31,7 +41,6 @@
return 'VARCHAR'
def to_python(self, value):
- print "In to_python", value
if value is None:
return None
if isinstance(value, oauth2client.client.Flow):
diff --git a/oauth2client/file.py b/oauth2client/file.py
index 0bcab03..12dee91 100644
--- a/oauth2client/file.py
+++ b/oauth2client/file.py
@@ -17,21 +17,22 @@
"""Store and retrieve a single credential to and from a file."""
def __init__(self, filename):
- self.filename = filename
+ self._filename = filename
def get(self):
"""Retrieve Credential from file.
Returns:
- apiclient.oauth.Credentials
+ oauth2client.client.Credentials
"""
try:
- f = open(self.filename, 'r')
+ f = open(self._filename, 'r')
credentials = pickle.loads(f.read())
f.close()
credentials.set_store(self.put)
except:
credentials = None
+
return credentials
def put(self, credentials):
@@ -40,6 +41,6 @@
Args:
credentials: Credentials, the credentials to store.
"""
- f = open(self.filename, 'w')
+ f = open(self._filename, 'w')
f.write(pickle.dumps(credentials))
f.close()
diff --git a/oauth2client/tools.py b/oauth2client/tools.py
index 644e72b..edc8827 100644
--- a/oauth2client/tools.py
+++ b/oauth2client/tools.py
@@ -14,14 +14,13 @@
"""Command-line tools for authenticating via OAuth 2.0
-Do the OAuth 2.0 Web Server dance for
-a command line application. Stores the generated
-credentials in a common file that is used by
-other example apps in the same directory.
+Do the OAuth 2.0 Web Server dance for a command line application. Stores the
+generated credentials in a common file that is used by other example apps in
+the same directory.
"""
__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-__all__ = ["run"]
+__all__ = ['run']
def run(flow, storage):