Repository URL to install this package:
|
Version:
2.1.0.jo1 ▾
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module gdata.projecthosting.client</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="gdata.html"><font color="#ffffff">gdata</font></a>.<a href="gdata.projecthosting.html"><font color="#ffffff">projecthosting</font></a>.client</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/projecthosting/client.py">/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/projecthosting/client.py</a></font></td></tr></table>
<p><tt># Copyright 2009 Google Inc.<br>
#<br>
# Licensed under the Apache License, Version 2.0 (the "License");<br>
# you may not use this file except in compliance with the License.<br>
# You may obtain a copy of the License at<br>
#<br>
# <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a><br>
#<br>
# Unless required by applicable law or agreed to in writing, software<br>
# distributed under the License is distributed on an "AS IS" BASIS,<br>
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br>
# See the License for the specific language governing permissions and<br>
# limitations under the License.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="atom.html">atom</a><br>
</td><td width="25%" valign=top><a href="gdata.html">gdata</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="gdata.client.html#GDClient">gdata.client.GDClient</a>(<a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="gdata.projecthosting.client.html#ProjectHostingClient">ProjectHostingClient</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="gdata.client.html#Query">gdata.client.Query</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="gdata.projecthosting.client.html#Query">Query</a>
</font></dt></dl>
</dd>
</dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="ProjectHostingClient">class <strong>ProjectHostingClient</strong></a>(<a href="gdata.client.html#GDClient">gdata.client.GDClient</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>Client to interact with the Project Hosting GData API.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="gdata.projecthosting.client.html#ProjectHostingClient">ProjectHostingClient</a></dd>
<dd><a href="gdata.client.html#GDClient">gdata.client.GDClient</a></dd>
<dd><a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a></dd>
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="ProjectHostingClient-add_issue"><strong>add_issue</strong></a>(self, project_name, title, content, author, status<font color="#909090">=None</font>, owner<font color="#909090">=None</font>, labels<font color="#909090">=None</font>, ccs<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Create a new issue for the project.<br>
<br>
Args:<br>
project_name str The name of the project.<br>
title str The title of the new issue.<br>
content str The summary of the new issue.<br>
author str The authenticated user's username.<br>
status str The status of the new issue, Accepted, etc.<br>
owner str The username of new issue's owner.<br>
labels [str] Labels to associate with the new issue.<br>
ccs [str] usernames to Cc on the new issue.<br>
Returns:<br>
data.IssueEntry</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-delete"><strong>delete</strong></a>(self, entry_or_uri, auth_token<font color="#909090">=None</font>, force<font color="#909090">=False</font>, **kwargs)</dt><dd><tt>Unsupported GData delete method.<br>
<br>
Use <a href="#ProjectHostingClient-update_issue">update_issue</a>(status='Closed') instead.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-get_comments"><strong>get_comments</strong></a>(self, project_name, issue_id, desired_class<font color="#909090">=<class 'gdata.projecthosting.data.CommentsFeed'></font>, **kwargs)</dt><dd><tt>Get a feed of all updates to an issue.<br>
<br>
Args:<br>
project_name str The name of the issue's project.<br>
issue_id str The issue number needing updated.<br>
<br>
Returns:<br>
data.CommentsFeed</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-get_issues"><strong>get_issues</strong></a>(self, project_name, desired_class<font color="#909090">=<class 'gdata.projecthosting.data.IssuesFeed'></font>, **kwargs)</dt><dd><tt>Get a feed of issues for a particular project.<br>
<br>
Args:<br>
project_name str The name of the project.<br>
query <a href="#Query">Query</a> Set returned issues parameters.<br>
<br>
Returns:<br>
data.IssuesFeed</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-update"><strong>update</strong></a>(self, entry, auth_token<font color="#909090">=None</font>, force<font color="#909090">=False</font>, **kwargs)</dt><dd><tt>Unsupported GData update method.<br>
<br>
Use update_*() instead.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-update_issue"><strong>update_issue</strong></a>(self, project_name, issue_id, author, comment<font color="#909090">=None</font>, summary<font color="#909090">=None</font>, status<font color="#909090">=None</font>, owner<font color="#909090">=None</font>, labels<font color="#909090">=None</font>, ccs<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Update or comment on one issue for the project.<br>
<br>
Args:<br>
project_name str The name of the issue's project.<br>
issue_id str The issue number needing updated.<br>
author str The authenticated user's username.<br>
comment str A comment to append to the issue<br>
summary str Rewrite the summary of the issue.<br>
status str A new status for the issue.<br>
owner str The username of the new owner.<br>
labels [str] Labels to set on the issue (prepend issue with - to remove a<br>
label).<br>
ccs [str] Ccs to set on th enew issue (prepend cc with - to remove a cc).<br>
<br>
Returns:<br>
data.CommentEntry</tt></dd></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>api_version</strong> = '1.0'</dl>
<dl><dt><strong>auth_scopes</strong> = ('http://code.google.com/feeds/issues',)</dl>
<dl><dt><strong>auth_service</strong> = 'code'</dl>
<dl><dt><strong>host</strong> = 'code.google.com'</dl>
<dl><dt><strong>ssl</strong> = True</dl>
<hr>
Methods inherited from <a href="gdata.client.html#GDClient">gdata.client.GDClient</a>:<br>
<dl><dt><a name="ProjectHostingClient-Batch"><strong>Batch</strong></a> = batch(self, feed, uri<font color="#909090">=None</font>, force<font color="#909090">=False</font>, auth_token<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Sends a batch request to the server to execute operation entries.<br>
<br>
Args:<br>
feed: A batch feed containing batch entries, each is an operation.<br>
uri: (optional) The uri to which the batch request feed should be POSTed.<br>
If none is provided, then the feed's edit link will be used.<br>
force: (optional) boolean set to True if you want the batch update to<br>
clobber all data. If False, the version in the information in the<br>
feed object will cause the server to check to see that no changes<br>
intervened between when you fetched the data and when you sent the<br>
changes.<br>
auth_token: (optional) An object which sets the Authorization HTTP header<br>
in its modify_request method. Recommended classes include<br>
gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken<br>
among others.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-ClientLogin"><strong>ClientLogin</strong></a> = client_login(self, email, password, source, service<font color="#909090">=None</font>, account_type<font color="#909090">='HOSTED_OR_GOOGLE'</font>, auth_url<font color="#909090">=<atom.http_core.Uri object></font>, captcha_token<font color="#909090">=None</font>, captcha_response<font color="#909090">=None</font>)</dt><dd><tt>Performs an auth request using the user's email address and password.<br>
<br>
In order to modify user specific data and read user private data, your<br>
application must be authorized by the user. One way to demonstrage<br>
authorization is by including a Client Login token in the Authorization<br>
HTTP header of all requests. This method requests the Client Login token<br>
by sending the user's email address, password, the name of the<br>
application, and the service code for the service which will be accessed<br>
by the application. If the username and password are correct, the server<br>
will respond with the client login code and a new ClientLoginToken<br>
object will be set in the client's auth_token member. With the auth_token<br>
set, future requests from this client will include the Client Login<br>
token.<br>
<br>
For a list of service names, see <br>
<a href="http://code.google.com/apis/gdata/faq.html#clientlogin">http://code.google.com/apis/gdata/faq.html#clientlogin</a><br>
For more information on Client Login, see:<br>
<a href="http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html">http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html</a><br>
<br>
Args:<br>
email: str The user's email address or username.<br>
password: str The password for the user's account.<br>
source: str The name of your application. This can be anything you<br>
like but should should give some indication of which app is<br>
making the request.<br>
service: str The service code for the service you would like to access.<br>
For example, 'cp' for contacts, 'cl' for calendar. For a full<br>
list see<br>
<a href="http://code.google.com/apis/gdata/faq.html#clientlogin">http://code.google.com/apis/gdata/faq.html#clientlogin</a><br>
If you are using a subclass of the gdata.client.<a href="gdata.client.html#GDClient">GDClient</a>, the<br>
service will usually be filled in for you so you do not need<br>
to specify it. For example see BloggerClient,<br>
SpreadsheetsClient, etc.<br>
account_type: str (optional) The type of account which is being<br>
authenticated. This can be either 'GOOGLE' for a Google<br>
Account, 'HOSTED' for a Google Apps Account, or the<br>
default 'HOSTED_OR_GOOGLE' which will select the Google<br>
Apps Account if the same email address is used for both<br>
a Google Account and a Google Apps Account.<br>
auth_url: str (optional) The URL to which the login request should be<br>
sent.<br>
captcha_token: str (optional) If a previous login attempt was reponded<br>
to with a CAPTCHA challenge, this is the token which<br>
identifies the challenge (from the CAPTCHA's URL).<br>
captcha_response: str (optional) If a previous login attempt was<br>
reponded to with a CAPTCHA challenge, this is the<br>
response text which was contained in the challenge.<br>
<br>
Returns:<br>
Generated token, which is also stored in this object.<br>
<br>
Raises:<br>
A RequestError or one of its suclasses: BadAuthentication,<br>
BadAuthenticationServiceURL, ClientLoginFailed,<br>
ClientLoginTokenMissing, or CaptchaChallenge</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-Delete"><strong>Delete</strong></a> = delete(self, entry_or_uri, auth_token<font color="#909090">=None</font>, force<font color="#909090">=False</font>, **kwargs)</dt></dl>
<dl><dt><a name="ProjectHostingClient-GetAccessToken"><strong>GetAccessToken</strong></a> = get_access_token(self, request_token, url<font color="#909090">='https://www.google.com/accounts/OAuthGetAccessToken'</font>)</dt><dd><tt>Exchanges an authorized OAuth request token for an access token.<br>
<br>
Contacts the Google OAuth server to upgrade a previously authorized<br>
request token. Once the request token is upgraded to an access token,<br>
the access token may be used to access the user's data.<br>
<br>
For more details, see the Google Accounts OAuth documentation:<br>
<a href="http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken">http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken</a><br>
<br>
Args:<br>
request_token: An OAuth token which has been authorized by the user.<br>
url: (optional) The URL to which the upgrade request should be sent.<br>
Defaults to: https://www.google.com/accounts/OAuthAuthorizeToken</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-GetEntry"><strong>GetEntry</strong></a> = get_entry(self, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=<class 'gdata.data.GDEntry'></font>, etag<font color="#909090">=None</font>, **kwargs)</dt></dl>
<dl><dt><a name="ProjectHostingClient-GetFeed"><strong>GetFeed</strong></a> = get_feed(self, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=<class 'gdata.data.GDFeed'></font>, **kwargs)</dt></dl>
<dl><dt><a name="ProjectHostingClient-GetNext"><strong>GetNext</strong></a> = get_next(self, feed, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Fetches the next set of results from the feed.<br>
<br>
When requesting a feed, the number of entries returned is capped at a<br>
service specific default limit (often 25 entries). You can specify your<br>
own entry-count cap using the max-results URL query parameter. If there<br>
are more results than could fit under max-results, the feed will contain<br>
a next link. This method performs a GET against this next results URL.<br>
<br>
Returns:<br>
A new feed object containing the next set of entries in this feed.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-GetOAuthToken"><strong>GetOAuthToken</strong></a> = get_oauth_token(self, scopes, next, consumer_key, consumer_secret<font color="#909090">=None</font>, rsa_private_key<font color="#909090">=None</font>, url<font color="#909090">='https://www.google.com/accounts/OAuthGetRequestToken'</font>)</dt><dd><tt>Obtains an OAuth request token to allow the user to authorize this app.<br>
<br>
Once this client has a request token, the user can authorize the request<br>
token by visiting the authorization URL in their browser. After being<br>
redirected back to this app at the 'next' URL, this app can then exchange<br>
the authorized request token for an access token.<br>
<br>
For more information see the documentation on Google Accounts with OAuth:<br>
<a href="http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess">http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess</a><br>
<br>
Args:<br>
scopes: list of strings or atom.http_core.Uri objects which specify the<br>
URL prefixes which this app will be accessing. For example, to access<br>
the Google Calendar API, you would want to use scopes:<br>
['https://www.google.com/calendar/feeds/',<br>
'<a href="http://www.google.com/calendar/feeds/">http://www.google.com/calendar/feeds/</a>']<br>
next: str or atom.http_core.Uri object, The URL which the user's browser<br>
should be sent to after they authorize access to their data. This<br>
should be a URL in your application which will read the token<br>
information from the URL and upgrade the request token to an access<br>
token.<br>
consumer_key: str This is the identifier for this application which you<br>
should have received when you registered your application with Google<br>
to use OAuth.<br>
consumer_secret: str (optional) The shared secret between your app and<br>
Google which provides evidence that this request is coming from you<br>
application and not another app. If present, this libraries assumes<br>
you want to use an HMAC signature to verify requests. Keep this data<br>
a secret.<br>
rsa_private_key: str (optional) The RSA private key which is used to<br>
generate a digital signature which is checked by Google's server. If<br>
present, this library assumes that you want to use an RSA signature<br>
to verify requests. Keep this data a secret.<br>
url: The URL to which a request for a token should be made. The default<br>
is Google's OAuth request token provider.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-ModifyRequest"><strong>ModifyRequest</strong></a> = modify_request(self, http_request)</dt><dd><tt>Adds or changes request before making the HTTP request.<br>
<br>
This client will add the API version if it is specified.<br>
Subclasses may override this method to add their own request<br>
modifications before the request is made.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-Post"><strong>Post</strong></a> = post(self, entry, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, **kwargs)</dt></dl>
<dl><dt><a name="ProjectHostingClient-Request"><strong>Request</strong></a> = request(self, method<font color="#909090">=None</font>, uri<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, redirects_remaining<font color="#909090">=4</font>, **kwargs)</dt><dd><tt>Make an HTTP request to the server.<br>
<br>
See also documentation for atom.client.AtomPubClient.request.<br>
<br>
If a 302 redirect is sent from the server to the client, this client<br>
assumes that the redirect is in the form used by the Google Calendar API.<br>
The same request URI and method will be used as in the original request,<br>
but a gsessionid URL parameter will be added to the request URI with<br>
the value provided in the server's 302 redirect response. If the 302<br>
redirect is not in the format specified by the Google Calendar API, a<br>
RedirectError will be raised containing the body of the server's<br>
response.<br>
<br>
The method calls the client's modify_request method to make any changes<br>
required by the client before the request is made. For example, a<br>
version 2 client could add a GData-Version: 2 header to the request in<br>
its modify_request method.<br>
<br>
Args:<br>
method: str The HTTP verb for this request, usually 'GET', 'POST',<br>
'PUT', or 'DELETE'<br>
uri: atom.http_core.Uri, str, or unicode The URL being requested.<br>
auth_token: An object which sets the Authorization HTTP header in its<br>
modify_request method. Recommended classes include<br>
gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken<br>
among others.<br>
http_request: (optional) atom.http_core.HttpRequest<br>
converter: function which takes the body of the response as its only<br>
argument and returns the desired object.<br>
desired_class: class descended from atom.core.XmlElement to which a<br>
successful response should be converted. If there is no<br>
converter function specified (converter=None) then the<br>
desired_class will be used in calling the<br>
atom.core.parse function. If neither<br>
the desired_class nor the converter is specified, an<br>
HTTP reponse object will be returned.<br>
redirects_remaining: (optional) int, if this number is 0 and the<br>
server sends a 302 redirect, the request method<br>
will raise an exception. This parameter is used in<br>
recursive request calls to avoid an infinite loop.<br>
<br>
Any additional arguments are passed through to<br>
atom.client.AtomPubClient.request.<br>
<br>
Returns:<br>
An HTTP response object (see atom.http_core.HttpResponse for a<br>
description of the object's interface) if no converter was<br>
specified and no desired_class was specified. If a converter function<br>
was provided, the results of calling the converter are returned. If no<br>
converter was specified but a desired_class was provided, the response<br>
body will be converted to the class using<br>
atom.core.parse.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-RequestClientLoginToken"><strong>RequestClientLoginToken</strong></a> = request_client_login_token(self, email, password, source, service<font color="#909090">=None</font>, account_type<font color="#909090">='HOSTED_OR_GOOGLE'</font>, auth_url<font color="#909090">=<atom.http_core.Uri object></font>, captcha_token<font color="#909090">=None</font>, captcha_response<font color="#909090">=None</font>)</dt></dl>
<dl><dt><a name="ProjectHostingClient-RevokeToken"><strong>RevokeToken</strong></a> = revoke_token(self, token<font color="#909090">=None</font>, url<font color="#909090">=<atom.http_core.Uri object></font>)</dt><dd><tt>Requests that the token be invalidated.<br>
<br>
This method can be used for both AuthSub and OAuth tokens (to invalidate<br>
a ClientLogin token, the user must change their password).<br>
<br>
Returns:<br>
True if the server responded with a 200.<br>
<br>
Raises:<br>
A RequestError if the server responds with a non-200 status.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-Update"><strong>Update</strong></a> = update(self, entry, auth_token<font color="#909090">=None</font>, force<font color="#909090">=False</font>, uri<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Edits the entry on the server by sending the XML for this entry.<br>
<br>
Performs a PUT and converts the response to a new entry object with a<br>
matching class to the entry passed in.<br>
<br>
Args:<br>
entry:<br>
auth_token:<br>
force: boolean stating whether an update should be forced. Defaults to<br>
False. Normally, if a change has been made since the passed in<br>
entry was obtained, the server will not overwrite the entry since<br>
the changes were based on an obsolete version of the entry.<br>
Setting force to True will cause the update to silently<br>
overwrite whatever version is present.<br>
uri: The uri to put to. If provided, this uri is PUT to rather than the<br>
inferred uri from the entry's edit link.<br>
<br>
Returns:<br>
A new Entry object of a matching type to the entry which was passed in.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-UpgradeToken"><strong>UpgradeToken</strong></a> = upgrade_token(self, token<font color="#909090">=None</font>, url<font color="#909090">=<atom.http_core.Uri object></font>)</dt><dd><tt>Asks the Google auth server for a multi-use AuthSub token.<br>
<br>
For details on AuthSub, see:<br>
<a href="http://code.google.com/apis/accounts/docs/AuthSub.html">http://code.google.com/apis/accounts/docs/AuthSub.html</a><br>
<br>
Args:<br>
token: gdata.gauth.AuthSubToken or gdata.gauth.SecureAuthSubToken<br>
(optional) If no token is passed in, the client's auth_token member<br>
is used to request the new token. The token object will be modified<br>
to contain the new session token string.<br>
url: str or atom.http_core.Uri (optional) The URL to which the token<br>
upgrade request should be sent. Defaults to:<br>
https://www.google.com/accounts/AuthSubSessionToken<br>
<br>
Returns:<br>
The upgraded gdata.gauth.AuthSubToken object.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-batch"><strong>batch</strong></a>(self, feed, uri<font color="#909090">=None</font>, force<font color="#909090">=False</font>, auth_token<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Sends a batch request to the server to execute operation entries.<br>
<br>
Args:<br>
feed: A batch feed containing batch entries, each is an operation.<br>
uri: (optional) The uri to which the batch request feed should be POSTed.<br>
If none is provided, then the feed's edit link will be used.<br>
force: (optional) boolean set to True if you want the batch update to<br>
clobber all data. If False, the version in the information in the<br>
feed object will cause the server to check to see that no changes<br>
intervened between when you fetched the data and when you sent the<br>
changes.<br>
auth_token: (optional) An object which sets the Authorization HTTP header<br>
in its modify_request method. Recommended classes include<br>
gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken<br>
among others.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-client_login"><strong>client_login</strong></a>(self, email, password, source, service<font color="#909090">=None</font>, account_type<font color="#909090">='HOSTED_OR_GOOGLE'</font>, auth_url<font color="#909090">=<atom.http_core.Uri object></font>, captcha_token<font color="#909090">=None</font>, captcha_response<font color="#909090">=None</font>)</dt><dd><tt>Performs an auth request using the user's email address and password.<br>
<br>
In order to modify user specific data and read user private data, your<br>
application must be authorized by the user. One way to demonstrage<br>
authorization is by including a Client Login token in the Authorization<br>
HTTP header of all requests. This method requests the Client Login token<br>
by sending the user's email address, password, the name of the<br>
application, and the service code for the service which will be accessed<br>
by the application. If the username and password are correct, the server<br>
will respond with the client login code and a new ClientLoginToken<br>
object will be set in the client's auth_token member. With the auth_token<br>
set, future requests from this client will include the Client Login<br>
token.<br>
<br>
For a list of service names, see <br>
<a href="http://code.google.com/apis/gdata/faq.html#clientlogin">http://code.google.com/apis/gdata/faq.html#clientlogin</a><br>
For more information on Client Login, see:<br>
<a href="http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html">http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html</a><br>
<br>
Args:<br>
email: str The user's email address or username.<br>
password: str The password for the user's account.<br>
source: str The name of your application. This can be anything you<br>
like but should should give some indication of which app is<br>
making the request.<br>
service: str The service code for the service you would like to access.<br>
For example, 'cp' for contacts, 'cl' for calendar. For a full<br>
list see<br>
<a href="http://code.google.com/apis/gdata/faq.html#clientlogin">http://code.google.com/apis/gdata/faq.html#clientlogin</a><br>
If you are using a subclass of the gdata.client.<a href="gdata.client.html#GDClient">GDClient</a>, the<br>
service will usually be filled in for you so you do not need<br>
to specify it. For example see BloggerClient,<br>
SpreadsheetsClient, etc.<br>
account_type: str (optional) The type of account which is being<br>
authenticated. This can be either 'GOOGLE' for a Google<br>
Account, 'HOSTED' for a Google Apps Account, or the<br>
default 'HOSTED_OR_GOOGLE' which will select the Google<br>
Apps Account if the same email address is used for both<br>
a Google Account and a Google Apps Account.<br>
auth_url: str (optional) The URL to which the login request should be<br>
sent.<br>
captcha_token: str (optional) If a previous login attempt was reponded<br>
to with a CAPTCHA challenge, this is the token which<br>
identifies the challenge (from the CAPTCHA's URL).<br>
captcha_response: str (optional) If a previous login attempt was<br>
reponded to with a CAPTCHA challenge, this is the<br>
response text which was contained in the challenge.<br>
<br>
Returns:<br>
Generated token, which is also stored in this object.<br>
<br>
Raises:<br>
A RequestError or one of its suclasses: BadAuthentication,<br>
BadAuthenticationServiceURL, ClientLoginFailed,<br>
ClientLoginTokenMissing, or CaptchaChallenge</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-get_access_token"><strong>get_access_token</strong></a>(self, request_token, url<font color="#909090">='https://www.google.com/accounts/OAuthGetAccessToken'</font>)</dt><dd><tt>Exchanges an authorized OAuth request token for an access token.<br>
<br>
Contacts the Google OAuth server to upgrade a previously authorized<br>
request token. Once the request token is upgraded to an access token,<br>
the access token may be used to access the user's data.<br>
<br>
For more details, see the Google Accounts OAuth documentation:<br>
<a href="http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken">http://code.google.com/apis/accounts/docs/OAuth.html#AccessToken</a><br>
<br>
Args:<br>
request_token: An OAuth token which has been authorized by the user.<br>
url: (optional) The URL to which the upgrade request should be sent.<br>
Defaults to: https://www.google.com/accounts/OAuthAuthorizeToken</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-get_entry"><strong>get_entry</strong></a>(self, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=<class 'gdata.data.GDEntry'></font>, etag<font color="#909090">=None</font>, **kwargs)</dt></dl>
<dl><dt><a name="ProjectHostingClient-get_feed"><strong>get_feed</strong></a>(self, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=<class 'gdata.data.GDFeed'></font>, **kwargs)</dt></dl>
<dl><dt><a name="ProjectHostingClient-get_next"><strong>get_next</strong></a>(self, feed, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Fetches the next set of results from the feed.<br>
<br>
When requesting a feed, the number of entries returned is capped at a<br>
service specific default limit (often 25 entries). You can specify your<br>
own entry-count cap using the max-results URL query parameter. If there<br>
are more results than could fit under max-results, the feed will contain<br>
a next link. This method performs a GET against this next results URL.<br>
<br>
Returns:<br>
A new feed object containing the next set of entries in this feed.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-get_oauth_token"><strong>get_oauth_token</strong></a>(self, scopes, next, consumer_key, consumer_secret<font color="#909090">=None</font>, rsa_private_key<font color="#909090">=None</font>, url<font color="#909090">='https://www.google.com/accounts/OAuthGetRequestToken'</font>)</dt><dd><tt>Obtains an OAuth request token to allow the user to authorize this app.<br>
<br>
Once this client has a request token, the user can authorize the request<br>
token by visiting the authorization URL in their browser. After being<br>
redirected back to this app at the 'next' URL, this app can then exchange<br>
the authorized request token for an access token.<br>
<br>
For more information see the documentation on Google Accounts with OAuth:<br>
<a href="http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess">http://code.google.com/apis/accounts/docs/OAuth.html#AuthProcess</a><br>
<br>
Args:<br>
scopes: list of strings or atom.http_core.Uri objects which specify the<br>
URL prefixes which this app will be accessing. For example, to access<br>
the Google Calendar API, you would want to use scopes:<br>
['https://www.google.com/calendar/feeds/',<br>
'<a href="http://www.google.com/calendar/feeds/">http://www.google.com/calendar/feeds/</a>']<br>
next: str or atom.http_core.Uri object, The URL which the user's browser<br>
should be sent to after they authorize access to their data. This<br>
should be a URL in your application which will read the token<br>
information from the URL and upgrade the request token to an access<br>
token.<br>
consumer_key: str This is the identifier for this application which you<br>
should have received when you registered your application with Google<br>
to use OAuth.<br>
consumer_secret: str (optional) The shared secret between your app and<br>
Google which provides evidence that this request is coming from you<br>
application and not another app. If present, this libraries assumes<br>
you want to use an HMAC signature to verify requests. Keep this data<br>
a secret.<br>
rsa_private_key: str (optional) The RSA private key which is used to<br>
generate a digital signature which is checked by Google's server. If<br>
present, this library assumes that you want to use an RSA signature<br>
to verify requests. Keep this data a secret.<br>
url: The URL to which a request for a token should be made. The default<br>
is Google's OAuth request token provider.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-modify_request"><strong>modify_request</strong></a>(self, http_request)</dt><dd><tt>Adds or changes request before making the HTTP request.<br>
<br>
This client will add the API version if it is specified.<br>
Subclasses may override this method to add their own request<br>
modifications before the request is made.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-post"><strong>post</strong></a>(self, entry, uri, auth_token<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, **kwargs)</dt></dl>
<dl><dt><a name="ProjectHostingClient-request"><strong>request</strong></a>(self, method<font color="#909090">=None</font>, uri<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, converter<font color="#909090">=None</font>, desired_class<font color="#909090">=None</font>, redirects_remaining<font color="#909090">=4</font>, **kwargs)</dt><dd><tt>Make an HTTP request to the server.<br>
<br>
See also documentation for atom.client.AtomPubClient.request.<br>
<br>
If a 302 redirect is sent from the server to the client, this client<br>
assumes that the redirect is in the form used by the Google Calendar API.<br>
The same request URI and method will be used as in the original request,<br>
but a gsessionid URL parameter will be added to the request URI with<br>
the value provided in the server's 302 redirect response. If the 302<br>
redirect is not in the format specified by the Google Calendar API, a<br>
RedirectError will be raised containing the body of the server's<br>
response.<br>
<br>
The method calls the client's modify_request method to make any changes<br>
required by the client before the request is made. For example, a<br>
version 2 client could add a GData-Version: 2 header to the request in<br>
its modify_request method.<br>
<br>
Args:<br>
method: str The HTTP verb for this request, usually 'GET', 'POST',<br>
'PUT', or 'DELETE'<br>
uri: atom.http_core.Uri, str, or unicode The URL being requested.<br>
auth_token: An object which sets the Authorization HTTP header in its<br>
modify_request method. Recommended classes include<br>
gdata.gauth.ClientLoginToken and gdata.gauth.AuthSubToken<br>
among others.<br>
http_request: (optional) atom.http_core.HttpRequest<br>
converter: function which takes the body of the response as its only<br>
argument and returns the desired object.<br>
desired_class: class descended from atom.core.XmlElement to which a<br>
successful response should be converted. If there is no<br>
converter function specified (converter=None) then the<br>
desired_class will be used in calling the<br>
atom.core.parse function. If neither<br>
the desired_class nor the converter is specified, an<br>
HTTP reponse object will be returned.<br>
redirects_remaining: (optional) int, if this number is 0 and the<br>
server sends a 302 redirect, the request method<br>
will raise an exception. This parameter is used in<br>
recursive request calls to avoid an infinite loop.<br>
<br>
Any additional arguments are passed through to<br>
atom.client.AtomPubClient.request.<br>
<br>
Returns:<br>
An HTTP response object (see atom.http_core.HttpResponse for a<br>
description of the object's interface) if no converter was<br>
specified and no desired_class was specified. If a converter function<br>
was provided, the results of calling the converter are returned. If no<br>
converter was specified but a desired_class was provided, the response<br>
body will be converted to the class using<br>
atom.core.parse.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-request_client_login_token"><strong>request_client_login_token</strong></a>(self, email, password, source, service<font color="#909090">=None</font>, account_type<font color="#909090">='HOSTED_OR_GOOGLE'</font>, auth_url<font color="#909090">=<atom.http_core.Uri object></font>, captcha_token<font color="#909090">=None</font>, captcha_response<font color="#909090">=None</font>)</dt></dl>
<dl><dt><a name="ProjectHostingClient-revoke_token"><strong>revoke_token</strong></a>(self, token<font color="#909090">=None</font>, url<font color="#909090">=<atom.http_core.Uri object></font>)</dt><dd><tt>Requests that the token be invalidated.<br>
<br>
This method can be used for both AuthSub and OAuth tokens (to invalidate<br>
a ClientLogin token, the user must change their password).<br>
<br>
Returns:<br>
True if the server responded with a 200.<br>
<br>
Raises:<br>
A RequestError if the server responds with a non-200 status.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-upgrade_token"><strong>upgrade_token</strong></a>(self, token<font color="#909090">=None</font>, url<font color="#909090">=<atom.http_core.Uri object></font>)</dt><dd><tt>Asks the Google auth server for a multi-use AuthSub token.<br>
<br>
For details on AuthSub, see:<br>
<a href="http://code.google.com/apis/accounts/docs/AuthSub.html">http://code.google.com/apis/accounts/docs/AuthSub.html</a><br>
<br>
Args:<br>
token: gdata.gauth.AuthSubToken or gdata.gauth.SecureAuthSubToken<br>
(optional) If no token is passed in, the client's auth_token member<br>
is used to request the new token. The token object will be modified<br>
to contain the new session token string.<br>
url: str or atom.http_core.Uri (optional) The URL to which the token<br>
upgrade request should be sent. Defaults to:<br>
https://www.google.com/accounts/AuthSubSessionToken<br>
<br>
Returns:<br>
The upgraded gdata.gauth.AuthSubToken object.</tt></dd></dl>
<hr>
Data and other attributes inherited from <a href="gdata.client.html#GDClient">gdata.client.GDClient</a>:<br>
<dl><dt><strong>alt_auth_service</strong> = None</dl>
<hr>
Methods inherited from <a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a>:<br>
<dl><dt><a name="ProjectHostingClient-Get"><strong>Get</strong></a> = get(self, uri<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Performs a request using the GET method, returns an HTTP response.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-Put"><strong>Put</strong></a> = put(self, uri<font color="#909090">=None</font>, data<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Sends data using the PUT method, returns an HTTP response.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-__init__"><strong>__init__</strong></a>(self, http_client<font color="#909090">=None</font>, host<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, source<font color="#909090">=None</font>, xoauth_requestor_id<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Creates a new AtomPubClient instance.<br>
<br>
Args:<br>
source: The name of your application.<br>
http_client: An object capable of performing HTTP requests through a<br>
request method. This object is used to perform the request<br>
when the AtomPubClient's request method is called. Used to<br>
allow HTTP requests to be directed to a mock server, or use<br>
an alternate library instead of the default of httplib to<br>
make HTTP requests.<br>
host: str The default host name to use if a host is not specified in the<br>
requested URI.<br>
auth_token: An object which sets the HTTP Authorization header when its<br>
modify_request method is called.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-get"><strong>get</strong></a>(self, uri<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Performs a request using the GET method, returns an HTTP response.</tt></dd></dl>
<dl><dt><a name="ProjectHostingClient-put"><strong>put</strong></a>(self, uri<font color="#909090">=None</font>, data<font color="#909090">=None</font>, auth_token<font color="#909090">=None</font>, http_request<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Sends data using the PUT method, returns an HTTP response.</tt></dd></dl>
<hr>
Data descriptors inherited from <a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list of weak references to the object (if defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from <a href="atom.client.html#AtomPubClient">atom.client.AtomPubClient</a>:<br>
<dl><dt><strong>auth_token</strong> = None</dl>
<dl><dt><strong>xoauth_requestor_id</strong> = None</dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="Query">class <strong>Query</strong></a>(<a href="gdata.client.html#Query">gdata.client.Query</a>)</font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="gdata.projecthosting.client.html#Query">Query</a></dd>
<dd><a href="gdata.client.html#Query">gdata.client.Query</a></dd>
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Query-ModifyRequest"><strong>ModifyRequest</strong></a> = <a href="#Query-modify_request">modify_request</a>(self, http_request)</dt></dl>
<dl><dt><a name="Query-__init__"><strong>__init__</strong></a>(self, issue_id<font color="#909090">=None</font>, label<font color="#909090">=None</font>, canned_query<font color="#909090">=None</font>, owner<font color="#909090">=None</font>, status<font color="#909090">=None</font>, **kwargs)</dt><dd><tt>Constructs a Google Data <a href="#Query">Query</a> to filter feed contents serverside.<br>
Args:<br>
issue_id: int or str The issue to return based on the issue id.<br>
label: str A label returned issues must have.<br>
canned_query: str Return issues based on a canned query identifier<br>
owner: str Return issues based on the owner of the issue. For Gmail users,<br>
this will be the part of the email preceding the '@' sign.<br>
status: str Return issues based on the status of the issue.</tt></dd></dl>
<dl><dt><a name="Query-modify_request"><strong>modify_request</strong></a>(self, http_request)</dt></dl>
<hr>
Methods inherited from <a href="gdata.client.html#Query">gdata.client.Query</a>:<br>
<dl><dt><a name="Query-AddCustomParameter"><strong>AddCustomParameter</strong></a> = add_custom_parameter(self, key, value)</dt></dl>
<dl><dt><a name="Query-add_custom_parameter"><strong>add_custom_parameter</strong></a>(self, key, value)</dt></dl>
<hr>
Data descriptors inherited from <a href="gdata.client.html#Query">gdata.client.Query</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list of weak references to the object (if defined)</tt></dd>
</dl>
</td></tr></table></td></tr></table>
</body></html>