gdata.docs.client
index
/usr/local/svn/gdata-python-client/src/gdata/docs/client.py

DocsClient extends gdata.client.GDClient to streamline DocList API calls.

 
Modules
       
atom
gdata
mimetypes
urllib

 
Classes
       
gdata.client.GDClient(atom.client.AtomPubClient)
DocsClient
gdata.client.Query(__builtin__.object)
DocsQuery

 
class DocsClient(gdata.client.GDClient)
    Client extension for the Google Documents List API.
 
 
Method resolution order:
DocsClient
gdata.client.GDClient
atom.client.AtomPubClient
__builtin__.object

Methods defined here:
Copy = copy(self, source_entry, title, auth_token=None, **kwargs)
Create = create(self, doc_type, title, folder_or_id=None, writers_can_invite=None, auth_token=None, **kwargs)
Download = download(self, entry_or_id_or_url, file_path, extra_params=None, auth_token=None, **kwargs)
Export = export(self, entry_or_id_or_url, file_path, gid=None, auth_token=None, **kwargs)
GetAclPermissions = get_acl_permissions(self, resource_id, auth_token=None, **kwargs)
GetDoc = get_doc(self, resource_id, etag=None, auth_token=None, **kwargs)
GetDocList = get_doclist(self, uri=None, limit=None, auth_token=None, **kwargs)
GetEverything = get_everything(self, uri=None, auth_token=None, **kwargs)
GetFileContent = get_file_content(self, uri, auth_token=None, **kwargs)
GetRevisions = get_revisions(self, resource_id, auth_token=None, **kwargs)
Move = move(self, source_entry, folder_entry=None, keep_in_folders=False, auth_token=None, **kwargs)
Upload = upload(self, media, title, folder_or_uri=None, content_type=None, auth_token=None, **kwargs)
__init__(self, auth_token=None, **kwargs)
Constructs a new client for the DocList API.
 
Args:
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: The other parameters to pass to gdata.client.GDClient constructor.
copy(self, source_entry, title, auth_token=None, **kwargs)
Copies a native Google document, spreadsheet, or presentation.
 
Note: arbitrary file types and PDFs do not support this feature.
 
Args:
  source_entry: gdata.docs.data.DocsEntry An object representing the source
      document/folder.
  title: str A title for the new document.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to post().
 
Returns:
  A gdata.docs.data.DocsEntry of the duplicated document.
create(self, doc_type, title, folder_or_id=None, writers_can_invite=None, auth_token=None, **kwargs)
Creates a new item in the user's doclist.
 
Args:
  doc_type: str The type of object to create. For example: 'document',
      'spreadsheet', 'folder', 'presentation'.
  title: str A title for the document.
  folder_or_id: gdata.docs.data.DocsEntry or str (optional) Folder entry or
      the resouce id of a folder to create the object under. Note: A valid
      resource id for a folder is of the form: folder%3Afolder_id.
  writers_can_invite: bool (optional) False prevents collaborators from
      being able to invite others to edit or view the document.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to post().
 
Returns:
  gdata.docs.data.DocsEntry containing information newly created item.
download(self, entry_or_id_or_url, file_path, extra_params=None, auth_token=None, **kwargs)
Downloads a file from the Document List to local disk.
 
Note: to download a file in memory, use the GetFileContent() method.
 
Args:
  entry_or_id_or_url: gdata.docs.data.DocsEntry or string representing a
      resource id or URL to download the document from (such as the content
      src link).
  file_path: str The full path to save the file to.
  extra_params: dict (optional) A map of any further parameters to control
      how the document is downloaded/exported. For example, exporting a
      spreadsheet as a .csv: extra_params={'gid': 0, 'exportFormat': 'csv'}
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to _download_file().
 
Raises:
  gdata.client.RequestError if the download URL is malformed or the server's
  response was not successful.
  ValueError if entry_or_id_or_url was a resource id for a filetype
  in which the download link cannot be manually constructed (e.g. pdf).
export(self, entry_or_id_or_url, file_path, gid=None, auth_token=None, **kwargs)
Exports a document from the Document List in a different format.
 
Args:
  entry_or_id_or_url: gdata.docs.data.DocsEntry or string representing a
      resource id or URL to download the document from (such as the content
      src link).
  file_path: str The full path to save the file to.  The export
      format is inferred from the the file extension.
  gid: str (optional) grid id for downloading a single grid of a
      spreadsheet. The param should only be used for .csv and .tsv
      spreadsheet exports.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to download().
 
Raises:
  gdata.client.RequestError if the download URL is malformed or the server's
  response was not successful.
get_acl_permissions(self, resource_id, auth_token=None, **kwargs)
Retrieves a the ACL sharing permissions for a document.
 
Args:
  resource_id: str The document/item's resource id. Example for pdf:
      'pdf%3A0A1234567890'.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to get_feed().
 
Returns:
  A gdata.docs.data.AclFeed object representing the document's ACL entries.
 
Raises:
  ValueError if the resource_id is not a valid format.
get_doc(self, resource_id, etag=None, auth_token=None, **kwargs)
Retrieves a particular document given by its resource id.
 
Args:
  resource_id: str The document/item's resource id. Example spreadsheet:
      'spreadsheet%3A0A1234567890'.
  etag: str (optional) The document/item's etag value to be used in a
      conditional GET. See http://code.google.com/apis/documents/docs/3.0/
      developers_guide_protocol.html#RetrievingCached.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to get_entry().
 
Returns:
  A gdata.docs.data.DocsEntry object representing the retrieved entry.
 
Raises:
  ValueError if the resource_id is not a valid format.
get_doclist(self, uri=None, limit=None, auth_token=None, **kwargs)
Retrieves the main doclist feed containing the user's items.
 
Args:
  uri: str (optional) A URI to query the doclist feed.
  limit: int (optional) A maximum cap for the number of results to
      return in the feed. By default, the API returns a maximum of 100
      per page. Thus, if you set limit=5000, you will get <= 5000
      documents (guarenteed no more than 5000), and will need to follow the
      feed's next links (feed.GetNextLink()) to the rest. See
      get_everything(). Similarly, if you set limit=50, only <= 50
      documents are returned. Note: if the max-results parameter is set in
      the uri parameter, it is chosen over a value set for limit.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to get_feed().
 
Returns:
  gdata.docs.data.DocList feed.
get_everything(self, uri=None, auth_token=None, **kwargs)
Retrieves the user's entire doc list.
 
The method makes multiple HTTP requests (by following the feed's next links)
in order to fetch the user's entire document list.
 
Args:
  uri: str (optional) A URI to query the doclist feed with.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to GetDocList().
 
Returns:
  A list of gdata.docs.data.DocsEntry objects representing the retrieved
  entries.
get_file_content(self, uri, auth_token=None, **kwargs)
Fetches the file content from the specified uri.
 
This method is useful for downloading/exporting a file within enviornments
like Google App Engine, where the user does not have the ability to write
the file to a local disk.
 
Args:
  uri: str The full URL to fetch the file contents from.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to request().
 
Returns:
  The binary file content.
 
Raises:
  gdata.client.RequestError: on error response from server.
get_revisions(self, resource_id, auth_token=None, **kwargs)
Retrieves the revision history for a document.
 
Args:
  resource_id: str The document/item's resource id. Example for pdf:
      'pdf%3A0A1234567890'.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to get_feed().
 
Returns:
  A gdata.docs.data.RevisionFeed representing the document's revisions.
 
Raises:
  ValueError if the resource_id is not a valid format.
move(self, source_entry, folder_entry=None, keep_in_folders=False, auth_token=None, **kwargs)
Moves an item into a different folder (or to the root document list).
 
Args:
  source_entry: gdata.docs.data.DocsEntry An object representing the source
      document/folder.
  folder_entry: gdata.docs.data.DocsEntry (optional) An object representing
      the destination folder. If None, set keep_in_folders to
      True to remove the item from all parent folders.
  keep_in_folders: boolean (optional) If True, the source entry
      is not removed from any existing parent folders it is in.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to post().
 
Returns:
  A gdata.docs.data.DocsEntry of the moved entry or True if just moving the
  item out of all folders (e.g. Move(source_entry)).
upload(self, media, title, folder_or_uri=None, content_type=None, auth_token=None, **kwargs)
Uploads a file to Google Docs.
 
Args:
  media: A gdata.data.MediaSource object containing the file to be
      uploaded or a string of the filepath.
  title: str The title of the document on the server after being
      uploaded.
  folder_or_uri: gdata.docs.data.DocsEntry or str (optional) An object with
      a link to the folder or the uri to upload the file to.
      Note: A valid uri for a folder is of the form:
            /feeds/default/private/full/folder%3Afolder_id/contents
  content_type: str (optional) The file's mimetype. If not provided, the
      one in the media source object is used or the mimetype is inferred
      from the filename (if media is a string). When media is a filename,
      it is always recommended to pass in a content type.
  auth_token: (optional) gdata.gauth.ClientLoginToken, AuthSubToken, or
      OAuthToken which authorizes this client to edit the user's data.
  kwargs: Other parameters to pass to post().
 
Returns:
  A gdata.docs.data.DocsEntry containing information about uploaded doc.

Data and other attributes defined here:
api_version = '3.0'
auth_scopes = ('https://docs.google.com/feeds/', 'http://docs.google.com/feeds/')
auth_service = 'writely'
host = 'docs.google.com'

Methods inherited from gdata.client.GDClient:
ClientLogin = client_login(self, email, password, source, service=None, account_type='HOSTED_OR_GOOGLE', auth_url=<atom.http_core.Uri object at 0xbdf9d0>, captcha_token=None, captcha_response=None)
Performs an auth request using the user's email address and password.
 
In order to modify user specific data and read user private data, your
application must be authorized by the user. One way to demonstrage
authorization is by including a Client Login token in the Authorization
HTTP header of all requests. This method requests the Client Login token
by sending the user's email address, password, the name of the
application, and the service code for the service which will be accessed
by the application. If the username and password are correct, the server
will respond with the client login code and a new ClientLoginToken
object will be set in the client's auth_token member. With the auth_token
set, future requests from this client will include the Client Login
token.
 
For a list of service names, see 
http://code.google.com/apis/gdata/faq.html#clientlogin
For more information on Client Login, see:
http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html
 
Args:
  email: str The user's email address or username.
  password: str The password for the user's account.
  source: str The name of your application. This can be anything you
          like but should should give some indication of which app is
          making the request.
  service: str The service code for the service you would like to access.
           For example, 'cp' for contacts, 'cl' for calendar. For a full
           list see
           http://code.google.com/apis/gdata/faq.html#clientlogin
           If you are using a subclass of the gdata.client.GDClient, the
           service will usually be filled in for you so you do not need
           to specify it. For example see BloggerClient,
           SpreadsheetsClient, etc.
  account_type: str (optional) The type of account which is being
                authenticated. This can be either 'GOOGLE' for a Google
                Account, 'HOSTED' for a Google Apps Account, or the
                default 'HOSTED_OR_GOOGLE' which will select the Google
                Apps Account if the same email address is used for both
                a Google Account and a Google Apps Account.
  auth_url: str (optional) The URL to which the login request should be
            sent.
  captcha_token: str (optional) If a previous login attempt was reponded
                 to with a CAPTCHA challenge, this is the token which
                 identifies the challenge (from the CAPTCHA's URL).
  captcha_response: str (optional) If a previous login attempt was
                    reponded to with a CAPTCHA challenge, this is the
                    response text which was contained in the challenge.
 
  Returns:
    None
 
  Raises:
    A RequestError or one of its suclasses: BadAuthentication,
    BadAuthenticationServiceURL, ClientLoginFailed,
    ClientLoginTokenMissing, or CaptchaChallenge
Delete = delete(self, entry_or_uri, auth_token=None, force=False, **kwargs)
GetAccessToken = get_access_token(self, request_token, url='https://www.google.com/accounts/OAuthGetAccessToken')
Exchanges an authorized OAuth request token for an access token.
 
Contacts the Google OAuth server to upgrade a previously authorized
request token. Once the request token is upgraded to an access token,
the access token may be used to access the user's data.
 
For more details, see the Google Accounts OAuth documentation:
http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken
 
Args:
  request_token: An OAuth token which has been authorized by the user.
  url: (optional) The URL to which the upgrade request should be sent.
      Defaults to: https://www.google.com/accounts/OAuthAuthorizeToken
GetEntry = get_entry(self, uri, auth_token=None, converter=None, desired_class=<class 'gdata.data.GDEntry'>, etag=None, **kwargs)
GetFeed = get_feed(self, uri, auth_token=None, converter=None, desired_class=<class 'gdata.data.GDFeed'>, **kwargs)
GetNext = get_next(self, feed, auth_token=None, converter=None, desired_class=None, **kwargs)
Fetches the next set of results from the feed.
 
When requesting a feed, the number of entries returned is capped at a
service specific default limit (often 25 entries). You can specify your
own entry-count cap using the max-results URL query parameter. If there
are more results than could fit under max-results, the feed will contain
a next link. This method performs a GET against this next results URL.
 
Returns:
  A new feed object containing the next set of entries in this feed.
GetOAuthToken = get_oauth_token(self, scopes, next, consumer_key, consumer_secret=None, rsa_private_key=None, url='https://www.google.com/accounts/OAuthGetRequestToken')
Obtains an OAuth request token to allow the user to authorize this app.
 
Once this client has a request token, the user can authorize the request
token by visiting the authorization URL in their browser. After being
redirected back to this app at the 'next' URL, this app can then exchange
the authorized request token for an access token.
 
For more information see the documentation on Google Accounts with OAuth:
http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess
 
Args:
  scopes: list of strings or atom.http_core.Uri objects which specify the
      URL prefixes which this app will be accessing. For example, to access
      the Google Calendar API, you would want to use scopes:
      ['https://www.google.com/calendar/feeds/',
       'http://www.google.com/calendar/feeds/']
  next: str or atom.http_core.Uri object, The URL which the user's browser
      should be sent to after they authorize access to their data. This
      should be a URL in your application which will read the token
      information from the URL and upgrade the request token to an access
      token.
  consumer_key: str This is the identifier for this application which you
      should have received when you registered your application with Google
      to use OAuth.
  consumer_secret: str (optional) The shared secret between your app and
      Google which provides evidence that this request is coming from you
      application and not another app. If present, this libraries assumes
      you want to use an HMAC signature to verify requests. Keep this data
      a secret.
  rsa_private_key: str (optional) The RSA private key which is used to
      generate a digital signature which is checked by Google's server. If
      present, this library assumes that you want to use an RSA signature
      to verify requests. Keep this data a secret.
  url: The URL to which a request for a token should be made. The default
      is Google's OAuth request token provider.
ModifyRequest = modify_request(self, http_request)
Adds or changes request before making the HTTP request.
 
This client will add the API version if it is specified.
Subclasses may override this method to add their own request
modifications before the request is made.
Post = post(self, entry, uri, auth_token=None, converter=None, desired_class=None, **kwargs)
Request = request(self, method=None, uri=None, auth_token=None, http_request=None, converter=None, desired_class=None, redirects_remaining=4, **kwargs)
Make an HTTP request to the server.
 
See also documentation for atom.client.AtomPubClient.request.
 
If a 302 redirect is sent from the server to the client, this client
assumes that the redirect is in the form used by the Google Calendar API.
The same request URI and method will be used as in the original request,
but a gsessionid URL parameter will be added to the request URI with
the value provided in the server's 302 redirect response. If the 302
redirect is not in the format specified by the Google Calendar API, a
RedirectError will be raised containing the body of the server's
response.
 
The method calls the client's modify_request method to make any changes
required by the client before the request is made. For example, a
version 2 client could add a GData-Version: 2 header to the request in
its modify_request method.
 
Args:
  method: str The HTTP verb for this request, usually 'GET', 'POST',
          'PUT', or 'DELETE'
  uri: atom.http_core.Uri, str, or unicode The URL being requested.
  auth_token: An object which sets the Authorization HTTP header in its
              modify_request method. Recommended classes include
              gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken
              among others.
  http_request: (optional) atom.http_core.HttpRequest
  converter: function which takes the body of the response as it's only
             argument and returns the desired object.
  desired_class: class descended from atom.core.XmlElement to which a
                 successful response should be converted. If there is no
                 converter function specified (converter=None) then the
                 desired_class will be used in calling the
                 atom.core.parse function. If neither
                 the desired_class nor the converter is specified, an
                 HTTP reponse object will be returned.
  redirects_remaining: (optional) int, if this number is 0 and the
                       server sends a 302 redirect, the request method
                       will raise an exception. This parameter is used in
                       recursive request calls to avoid an infinite loop.
 
Any additional arguments are passed through to
atom.client.AtomPubClient.request.
 
Returns:
  An HTTP response object (see atom.http_core.HttpResponse for a
  description of the object's interface) if no converter was
  specified and no desired_class was specified. If a converter function
  was provided, the results of calling the converter are returned. If no
  converter was specified but a desired_class was provided, the response
  body will be converted to the class using
  atom.core.parse.
RequestClientLoginToken = request_client_login_token(self, email, password, source, service=None, account_type='HOSTED_OR_GOOGLE', auth_url=<atom.http_core.Uri object at 0xbdf990>, captcha_token=None, captcha_response=None)
RevokeToken = revoke_token(self, token=None, url=<atom.http_core.Uri object at 0xbdfa50>)
Requests that the token be invalidated.
 
This method can be used for both AuthSub and OAuth tokens (to invalidate
a ClientLogin token, the user must change their password).
 
Returns:
  True if the server responded with a 200.
 
Raises:
  A RequestError if the server responds with a non-200 status.
Update = update(self, entry, auth_token=None, force=False, **kwargs)
Edits the entry on the server by sending the XML for this entry.
 
Performs a PUT and converts the response to a new entry object with a
matching class to the entry passed in.
 
Args:
  entry:
  auth_token:
  force: boolean stating whether an update should be forced. Defaults to
         False. Normally, if a change has been made since the passed in
         entry was obtained, the server will not overwrite the entry since
         the changes were based on an obsolete version of the entry.
         Setting force to True will cause the update to silently
         overwrite whatever version is present.
 
Returns:
  A new Entry object of a matching type to the entry which was passed in.
UpgradeToken = upgrade_token(self, token=None, url=<atom.http_core.Uri object at 0xbdfa10>)
Asks the Google auth server for a multi-use AuthSub token.
 
For details on AuthSub, see:
http://code.google.com/apis/accounts/docs/AuthSub.html
 
Args:
  token: gdata.gauth.AuthSubToken or gdata.gauth.SecureAuthSubToken
      (optional) If no token is passed in, the client's auth_token member
      is used to request the new token. The token object will be modified
      to contain the new session token string.
  url: str or atom.http_core.Uri (optional) The URL to which the token
      upgrade request should be sent. Defaults to:
      https://www.google.com/accounts/AuthSubSessionToken
 
Returns:
  The upgraded gdata.gauth.AuthSubToken object.
client_login(self, email, password, source, service=None, account_type='HOSTED_OR_GOOGLE', auth_url=<atom.http_core.Uri object at 0xbdf9d0>, captcha_token=None, captcha_response=None)
Performs an auth request using the user's email address and password.
 
In order to modify user specific data and read user private data, your
application must be authorized by the user. One way to demonstrage
authorization is by including a Client Login token in the Authorization
HTTP header of all requests. This method requests the Client Login token
by sending the user's email address, password, the name of the
application, and the service code for the service which will be accessed
by the application. If the username and password are correct, the server
will respond with the client login code and a new ClientLoginToken
object will be set in the client's auth_token member. With the auth_token
set, future requests from this client will include the Client Login
token.
 
For a list of service names, see 
http://code.google.com/apis/gdata/faq.html#clientlogin
For more information on Client Login, see:
http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html
 
Args:
  email: str The user's email address or username.
  password: str The password for the user's account.
  source: str The name of your application. This can be anything you
          like but should should give some indication of which app is
          making the request.
  service: str The service code for the service you would like to access.
           For example, 'cp' for contacts, 'cl' for calendar. For a full
           list see
           http://code.google.com/apis/gdata/faq.html#clientlogin
           If you are using a subclass of the gdata.client.GDClient, the
           service will usually be filled in for you so you do not need
           to specify it. For example see BloggerClient,
           SpreadsheetsClient, etc.
  account_type: str (optional) The type of account which is being
                authenticated. This can be either 'GOOGLE' for a Google
                Account, 'HOSTED' for a Google Apps Account, or the
                default 'HOSTED_OR_GOOGLE' which will select the Google
                Apps Account if the same email address is used for both
                a Google Account and a Google Apps Account.
  auth_url: str (optional) The URL to which the login request should be
            sent.
  captcha_token: str (optional) If a previous login attempt was reponded
                 to with a CAPTCHA challenge, this is the token which
                 identifies the challenge (from the CAPTCHA's URL).
  captcha_response: str (optional) If a previous login attempt was
                    reponded to with a CAPTCHA challenge, this is the
                    response text which was contained in the challenge.
 
  Returns:
    None
 
  Raises:
    A RequestError or one of its suclasses: BadAuthentication,
    BadAuthenticationServiceURL, ClientLoginFailed,
    ClientLoginTokenMissing, or CaptchaChallenge
delete(self, entry_or_uri, auth_token=None, force=False, **kwargs)
get_access_token(self, request_token, url='https://www.google.com/accounts/OAuthGetAccessToken')
Exchanges an authorized OAuth request token for an access token.
 
Contacts the Google OAuth server to upgrade a previously authorized
request token. Once the request token is upgraded to an access token,
the access token may be used to access the user's data.
 
For more details, see the Google Accounts OAuth documentation:
http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken
 
Args:
  request_token: An OAuth token which has been authorized by the user.
  url: (optional) The URL to which the upgrade request should be sent.
      Defaults to: https://www.google.com/accounts/OAuthAuthorizeToken
get_entry(self, uri, auth_token=None, converter=None, desired_class=<class 'gdata.data.GDEntry'>, etag=None, **kwargs)
get_feed(self, uri, auth_token=None, converter=None, desired_class=<class 'gdata.data.GDFeed'>, **kwargs)
get_next(self, feed, auth_token=None, converter=None, desired_class=None, **kwargs)
Fetches the next set of results from the feed.
 
When requesting a feed, the number of entries returned is capped at a
service specific default limit (often 25 entries). You can specify your
own entry-count cap using the max-results URL query parameter. If there
are more results than could fit under max-results, the feed will contain
a next link. This method performs a GET against this next results URL.
 
Returns:
  A new feed object containing the next set of entries in this feed.
get_oauth_token(self, scopes, next, consumer_key, consumer_secret=None, rsa_private_key=None, url='https://www.google.com/accounts/OAuthGetRequestToken')
Obtains an OAuth request token to allow the user to authorize this app.
 
Once this client has a request token, the user can authorize the request
token by visiting the authorization URL in their browser. After being
redirected back to this app at the 'next' URL, this app can then exchange
the authorized request token for an access token.
 
For more information see the documentation on Google Accounts with OAuth:
http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess
 
Args:
  scopes: list of strings or atom.http_core.Uri objects which specify the
      URL prefixes which this app will be accessing. For example, to access
      the Google Calendar API, you would want to use scopes:
      ['https://www.google.com/calendar/feeds/',
       'http://www.google.com/calendar/feeds/']
  next: str or atom.http_core.Uri object, The URL which the user's browser
      should be sent to after they authorize access to their data. This
      should be a URL in your application which will read the token
      information from the URL and upgrade the request token to an access
      token.
  consumer_key: str This is the identifier for this application which you
      should have received when you registered your application with Google
      to use OAuth.
  consumer_secret: str (optional) The shared secret between your app and
      Google which provides evidence that this request is coming from you
      application and not another app. If present, this libraries assumes
      you want to use an HMAC signature to verify requests. Keep this data
      a secret.
  rsa_private_key: str (optional) The RSA private key which is used to
      generate a digital signature which is checked by Google's server. If
      present, this library assumes that you want to use an RSA signature
      to verify requests. Keep this data a secret.
  url: The URL to which a request for a token should be made. The default
      is Google's OAuth request token provider.
modify_request(self, http_request)
Adds or changes request before making the HTTP request.
 
This client will add the API version if it is specified.
Subclasses may override this method to add their own request
modifications before the request is made.
post(self, entry, uri, auth_token=None, converter=None, desired_class=None, **kwargs)
request(self, method=None, uri=None, auth_token=None, http_request=None, converter=None, desired_class=None, redirects_remaining=4, **kwargs)
Make an HTTP request to the server.
 
See also documentation for atom.client.AtomPubClient.request.
 
If a 302 redirect is sent from the server to the client, this client
assumes that the redirect is in the form used by the Google Calendar API.
The same request URI and method will be used as in the original request,
but a gsessionid URL parameter will be added to the request URI with
the value provided in the server's 302 redirect response. If the 302
redirect is not in the format specified by the Google Calendar API, a
RedirectError will be raised containing the body of the server's
response.
 
The method calls the client's modify_request method to make any changes
required by the client before the request is made. For example, a
version 2 client could add a GData-Version: 2 header to the request in
its modify_request method.
 
Args:
  method: str The HTTP verb for this request, usually 'GET', 'POST',
          'PUT', or 'DELETE'
  uri: atom.http_core.Uri, str, or unicode The URL being requested.
  auth_token: An object which sets the Authorization HTTP header in its
              modify_request method. Recommended classes include
              gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken
              among others.
  http_request: (optional) atom.http_core.HttpRequest
  converter: function which takes the body of the response as it's only
             argument and returns the desired object.
  desired_class: class descended from atom.core.XmlElement to which a
                 successful response should be converted. If there is no
                 converter function specified (converter=None) then the
                 desired_class will be used in calling the
                 atom.core.parse function. If neither
                 the desired_class nor the converter is specified, an
                 HTTP reponse object will be returned.
  redirects_remaining: (optional) int, if this number is 0 and the
                       server sends a 302 redirect, the request method
                       will raise an exception. This parameter is used in
                       recursive request calls to avoid an infinite loop.
 
Any additional arguments are passed through to
atom.client.AtomPubClient.request.
 
Returns:
  An HTTP response object (see atom.http_core.HttpResponse for a
  description of the object's interface) if no converter was
  specified and no desired_class was specified. If a converter function
  was provided, the results of calling the converter are returned. If no
  converter was specified but a desired_class was provided, the response
  body will be converted to the class using
  atom.core.parse.
request_client_login_token(self, email, password, source, service=None, account_type='HOSTED_OR_GOOGLE', auth_url=<atom.http_core.Uri object at 0xbdf990>, captcha_token=None, captcha_response=None)
revoke_token(self, token=None, url=<atom.http_core.Uri object at 0xbdfa50>)
Requests that the token be invalidated.
 
This method can be used for both AuthSub and OAuth tokens (to invalidate
a ClientLogin token, the user must change their password).
 
Returns:
  True if the server responded with a 200.
 
Raises:
  A RequestError if the server responds with a non-200 status.
update(self, entry, auth_token=None, force=False, **kwargs)
Edits the entry on the server by sending the XML for this entry.
 
Performs a PUT and converts the response to a new entry object with a
matching class to the entry passed in.
 
Args:
  entry:
  auth_token:
  force: boolean stating whether an update should be forced. Defaults to
         False. Normally, if a change has been made since the passed in
         entry was obtained, the server will not overwrite the entry since
         the changes were based on an obsolete version of the entry.
         Setting force to True will cause the update to silently
         overwrite whatever version is present.
 
Returns:
  A new Entry object of a matching type to the entry which was passed in.
upgrade_token(self, token=None, url=<atom.http_core.Uri object at 0xbdfa10>)
Asks the Google auth server for a multi-use AuthSub token.
 
For details on AuthSub, see:
http://code.google.com/apis/accounts/docs/AuthSub.html
 
Args:
  token: gdata.gauth.AuthSubToken or gdata.gauth.SecureAuthSubToken
      (optional) If no token is passed in, the client's auth_token member
      is used to request the new token. The token object will be modified
      to contain the new session token string.
  url: str or atom.http_core.Uri (optional) The URL to which the token
      upgrade request should be sent. Defaults to:
      https://www.google.com/accounts/AuthSubSessionToken
 
Returns:
  The upgraded gdata.gauth.AuthSubToken object.

Methods inherited from atom.client.AtomPubClient:
Get = get(self, uri=None, auth_token=None, http_request=None, **kwargs)
Performs a request using the GET method, returns an HTTP response.
Put = put(self, uri=None, data=None, auth_token=None, http_request=None, **kwargs)
Sends data using the PUT method, returns an HTTP response.
get(self, uri=None, auth_token=None, http_request=None, **kwargs)
Performs a request using the GET method, returns an HTTP response.
put(self, uri=None, data=None, auth_token=None, http_request=None, **kwargs)
Sends data using the PUT method, returns an HTTP response.

Data descriptors inherited from atom.client.AtomPubClient:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from atom.client.AtomPubClient:
auth_token = None
ssl = False

 
class DocsQuery(gdata.client.Query)
    
Method resolution order:
DocsQuery
gdata.client.Query
__builtin__.object

Methods defined here:
ModifyRequest = modify_request(self, http_request)
__init__(self, title=None, title_exact=None, opened_min=None, opened_max=None, edited_min=None, edited_max=None, owner=None, writer=None, reader=None, show_folders=None, show_deleted=None, ocr=None, target_language=None, source_language=None, convert=None, **kwargs)
Constructs a query URL for the Google Documents List  API.
 
Args:
  title: str (optional) Specifies the search terms for the title of a
         document. This parameter used without title_exact will only
         submit partial queries, not exact queries.
  title_exact: str (optional) Meaningless without title. Possible values
               are 'true' and 'false'. Note: Matches are case-insensitive.
  opened_min: str (optional) Lower bound on the last time a document was
              opened by the current user. Use the RFC 3339 timestamp
              format. For example: opened_min='2005-08-09T09:57:00-08:00'.
  opened_max: str (optional) Upper bound on the last time a document was
              opened by the current user. (See also opened_min.)
  edited_min: str (optional) Lower bound on the last time a document was
              edited by the current user. This value corresponds to the
              edited.text value in the doc's entry object, which
              represents changes to the document's content or metadata.
              Use the RFC 3339 timestamp format. For example:
              edited_min='2005-08-09T09:57:00-08:00'
  edited_max: str (optional) Upper bound on the last time a document was
              edited by the user. (See also edited_min.)
  owner: str (optional) Searches for documents with a specific owner. Use
         the email address of the owner. For example:
         owner='user@gmail.com'
  writer: str (optional) Searches for documents which can be written to
          by specific users. Use a single email address or a comma
          separated list of email addresses. For example:
          writer='user1@gmail.com,user@example.com'
  reader: str (optional) Searches for documents which can be read by
          specific users. (See also writer.)
  show_folders: str (optional) Specifies whether the query should return
                folders as well as documents. Possible values are 'true'
                and 'false'. Default is false.
  show_deleted: str (optional) Specifies whether the query should return
                documents which are in the trash as well as other
                documents. Possible values are 'true' and 'false'.
                Default is false.
  ocr: str (optional) Specifies whether to attempt OCR on a .jpg, .png, or
       .gif upload. Possible values are 'true' and 'false'. Default is
       false. See OCR in the Protocol Guide: 
       http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#OCR
  target_language: str (optional) Specifies the language to translate a
                   document into. See Document Translation in the Protocol
                   Guide for a table of possible values:
                   http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#DocumentTranslation
  source_language: str (optional) Specifies the source language of the
                   original document. Optional when using the translation
                   service. If not provided, Google will attempt to
                   auto-detect the source language. See Document
                   Translation in the Protocol Guide for a table of
                   possible values (link in target_language).
  convert: str (optional) Used when uploading arbitrary file types to
           specity if document-type uploads should convert to a native
           Google Docs format. Possible values are 'true' and 'false'.
           The default is 'true'.
modify_request(self, http_request)

Data descriptors inherited from gdata.client.Query:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
Data
        ACL_FEED_TEMPLATE = '/feeds/default/private/full/%s/acl'
DOCLIST_FEED_URI = '/feeds/default/private/full/'
FOLDERS_FEED_TEMPLATE = '/feeds/default/private/full/%s/contents'
REVISIONS_FEED_TEMPLATE = '/feeds/default/private/full/%s/revisions'
__author__ = 'e.bidelman (Eric Bidelman)'

 
Author
        e.bidelman (Eric Bidelman)