1.0beta3 release
diff --git a/docs/apiclient.anyjson.html b/docs/apiclient.anyjson.html
index 8cd9037..df64fcd 100644
--- a/docs/apiclient.anyjson.html
+++ b/docs/apiclient.anyjson.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.anyjson</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/anyjson.py">/home/jcgregorio/projects/google-api-python-client/apiclient/anyjson.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/anyjson.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/anyjson.py</a></font></td></tr></table>
<p><tt>Utility module to import a JSON module<br>
<br>
Hides all the messy details of exactly where<br>
diff --git a/docs/apiclient.contrib.buzz.html b/docs/apiclient.contrib.buzz.html
index c0180e9..d188914 100644
--- a/docs/apiclient.contrib.buzz.html
+++ b/docs/apiclient.contrib.buzz.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.<a href="apiclient.contrib.html"><font color="#ffffff">contrib</font></a>.buzz</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/contrib/buzz/__init__.py">/home/jcgregorio/projects/google-api-python-client/apiclient/contrib/buzz/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/contrib/buzz/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/contrib/buzz/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/docs/apiclient.contrib.html b/docs/apiclient.contrib.html
index c190bda..1b772a9 100644
--- a/docs/apiclient.contrib.html
+++ b/docs/apiclient.contrib.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.contrib</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/contrib/__init__.py">/home/jcgregorio/projects/google-api-python-client/apiclient/contrib/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/contrib/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/contrib/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/docs/apiclient.contrib.latitude.html b/docs/apiclient.contrib.latitude.html
index 1aa202d..8b6d296 100644
--- a/docs/apiclient.contrib.latitude.html
+++ b/docs/apiclient.contrib.latitude.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.<a href="apiclient.contrib.html"><font color="#ffffff">contrib</font></a>.latitude</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/contrib/latitude/__init__.py">/home/jcgregorio/projects/google-api-python-client/apiclient/contrib/latitude/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/contrib/latitude/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/contrib/latitude/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/docs/apiclient.contrib.moderator.html b/docs/apiclient.contrib.moderator.html
index 9f8377b..91aea14 100644
--- a/docs/apiclient.contrib.moderator.html
+++ b/docs/apiclient.contrib.moderator.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.<a href="apiclient.contrib.html"><font color="#ffffff">contrib</font></a>.moderator</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/contrib/moderator/__init__.py">/home/jcgregorio/projects/google-api-python-client/apiclient/contrib/moderator/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/contrib/moderator/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/contrib/moderator/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/docs/apiclient.discovery.html b/docs/apiclient.discovery.html
index 7df9888..7de89cf 100644
--- a/docs/apiclient.discovery.html
+++ b/docs/apiclient.discovery.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.discovery</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/discovery.py">/home/jcgregorio/projects/google-api-python-client/apiclient/discovery.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/discovery.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/discovery.py</a></font></td></tr></table>
<p><tt>Client for discovery based APIs<br>
<br>
A client library for Google's discovery based APIs.</tt></p>
diff --git a/docs/apiclient.errors.html b/docs/apiclient.errors.html
index cf7200f..13bb898 100644
--- a/docs/apiclient.errors.html
+++ b/docs/apiclient.errors.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.errors</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/errors.py">/home/jcgregorio/projects/google-api-python-client/apiclient/errors.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/errors.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/errors.py</a></font></td></tr></table>
<p><tt>Errors for the library.<br>
<br>
All exceptions defined by the library<br>
@@ -39,6 +39,8 @@
</font></dt><dt><font face="helvetica, arial"><a href="apiclient.errors.html#InvalidJsonError">InvalidJsonError</a>
</font></dt><dt><font face="helvetica, arial"><a href="apiclient.errors.html#MediaUploadSizeError">MediaUploadSizeError</a>
</font></dt><dt><font face="helvetica, arial"><a href="apiclient.errors.html#UnacceptableMimeTypeError">UnacceptableMimeTypeError</a>
+</font></dt><dt><font face="helvetica, arial"><a href="apiclient.errors.html#UnexpectedBodyError">UnexpectedBodyError</a>
+</font></dt><dt><font face="helvetica, arial"><a href="apiclient.errors.html#UnexpectedMethodError">UnexpectedMethodError</a>
</font></dt><dt><font face="helvetica, arial"><a href="apiclient.errors.html#UnknownLinkType">UnknownLinkType</a>
</font></dt></dl>
</dd>
@@ -353,6 +355,128 @@
<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="UnexpectedBodyError">class <strong>UnexpectedBodyError</strong></a>(<a href="apiclient.errors.html#Error">Error</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt><a href="exceptions.html#Exception">Exception</a> raised by RequestMockBuilder on unexpected bodies.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="apiclient.errors.html#UnexpectedBodyError">UnexpectedBodyError</a></dd>
+<dd><a href="apiclient.errors.html#Error">Error</a></dd>
+<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
+<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="UnexpectedBodyError-__init__"><strong>__init__</strong></a>(self, expected, provided)</dt><dd><tt>Constructor for an <a href="#UnexpectedMethodError">UnexpectedMethodError</a>.</tt></dd></dl>
+
+<hr>
+Data descriptors inherited from <a href="apiclient.errors.html#Error">Error</a>:<br>
+<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="exceptions.html#Exception">exceptions.Exception</a>:<br>
+<dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#UnexpectedBodyError-__new__">__new__</a>(S, ...) -> a new object with type S, a subtype of T</tt></dl>
+
+<hr>
+Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
+<dl><dt><a name="UnexpectedBodyError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedBodyError-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedBodyError-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedBodyError-__getitem__">__getitem__</a>(y) <==> x[y]</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedBodyError-__getslice__">__getslice__</a>(i, j) <==> x[i:j]<br>
+ <br>
+Use of negative indices is not supported.</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedBodyError-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedBodyError-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedBodyError-__str__">__str__</a>() <==> str(x)</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedBodyError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
+
+<hr>
+Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
+<dl><dt><strong>__dict__</strong></dt>
+</dl>
+<dl><dt><strong>args</strong></dt>
+</dl>
+<dl><dt><strong>message</strong></dt>
+</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="UnexpectedMethodError">class <strong>UnexpectedMethodError</strong></a>(<a href="apiclient.errors.html#Error">Error</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt><a href="exceptions.html#Exception">Exception</a> raised by RequestMockBuilder on unexpected calls.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="apiclient.errors.html#UnexpectedMethodError">UnexpectedMethodError</a></dd>
+<dd><a href="apiclient.errors.html#Error">Error</a></dd>
+<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
+<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="UnexpectedMethodError-__init__"><strong>__init__</strong></a>(self, methodId<font color="#909090">=None</font>)</dt><dd><tt>Constructor for an <a href="#UnexpectedMethodError">UnexpectedMethodError</a>.</tt></dd></dl>
+
+<hr>
+Data descriptors inherited from <a href="apiclient.errors.html#Error">Error</a>:<br>
+<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="exceptions.html#Exception">exceptions.Exception</a>:<br>
+<dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#UnexpectedMethodError-__new__">__new__</a>(S, ...) -> a new object with type S, a subtype of T</tt></dl>
+
+<hr>
+Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
+<dl><dt><a name="UnexpectedMethodError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedMethodError-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedMethodError-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedMethodError-__getitem__">__getitem__</a>(y) <==> x[y]</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedMethodError-__getslice__">__getslice__</a>(i, j) <==> x[i:j]<br>
+ <br>
+Use of negative indices is not supported.</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedMethodError-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedMethodError-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#UnexpectedMethodError-__str__">__str__</a>() <==> str(x)</tt></dd></dl>
+
+<dl><dt><a name="UnexpectedMethodError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
+
+<hr>
+Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
+<dl><dt><strong>__dict__</strong></dt>
+</dl>
+<dl><dt><strong>args</strong></dt>
+</dl>
+<dl><dt><strong>message</strong></dt>
+</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="UnknownLinkType">class <strong>UnknownLinkType</strong></a>(<a href="apiclient.errors.html#Error">Error</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
diff --git a/docs/apiclient.ext.appengine.html b/docs/apiclient.ext.appengine.html
index f750e27..b5aafca 100644
--- a/docs/apiclient.ext.appengine.html
+++ b/docs/apiclient.ext.appengine.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.<a href="apiclient.ext.html"><font color="#ffffff">ext</font></a>.appengine</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/ext/appengine.py">/home/jcgregorio/projects/google-api-python-client/apiclient/ext/appengine.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/ext/appengine.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/ext/appengine.py</a></font></td></tr></table>
<p><tt>Utilities for Google App Engine<br>
<br>
Utilities for making it easier to use the<br>
diff --git a/docs/apiclient.ext.authtools.html b/docs/apiclient.ext.authtools.html
index 1ebaab0..b1cfd41 100644
--- a/docs/apiclient.ext.authtools.html
+++ b/docs/apiclient.ext.authtools.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.<a href="apiclient.ext.html"><font color="#ffffff">ext</font></a>.authtools</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/ext/authtools.py">/home/jcgregorio/projects/google-api-python-client/apiclient/ext/authtools.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/ext/authtools.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/ext/authtools.py</a></font></td></tr></table>
<p><tt>Command-line tools for authenticating via OAuth 1.0<br>
<br>
Do the OAuth 1.0 Three Legged Dance for<br>
diff --git a/docs/apiclient.ext.file.html b/docs/apiclient.ext.file.html
index 8a8c479..49df8e2 100644
--- a/docs/apiclient.ext.file.html
+++ b/docs/apiclient.ext.file.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.<a href="apiclient.ext.html"><font color="#ffffff">ext</font></a>.file</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/ext/file.py">/home/jcgregorio/projects/google-api-python-client/apiclient/ext/file.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/ext/file.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/ext/file.py</a></font></td></tr></table>
<p><tt>Utilities for OAuth.<br>
<br>
Utilities for making it easier to work with OAuth 1.0 credentials.</tt></p>
diff --git a/docs/apiclient.ext.html b/docs/apiclient.ext.html
index 639d3db..f121463 100644
--- a/docs/apiclient.ext.html
+++ b/docs/apiclient.ext.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.ext</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/ext/__init__.py">/home/jcgregorio/projects/google-api-python-client/apiclient/ext/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/ext/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/ext/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/docs/apiclient.html b/docs/apiclient.html
index 00c7d9c..11a41b8 100644
--- a/docs/apiclient.html
+++ b/docs/apiclient.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>apiclient</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/__init__.py">/home/jcgregorio/projects/google-api-python-client/apiclient/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/docs/apiclient.http.html b/docs/apiclient.http.html
index f2d9b11..0cbc0a6 100644
--- a/docs/apiclient.http.html
+++ b/docs/apiclient.http.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.http</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/http.py">/home/jcgregorio/projects/google-api-python-client/apiclient/http.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/http.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/http.py</a></font></td></tr></table>
<p><tt>Classes to encapsulate a single HTTP request.<br>
<br>
The classes implement a command pattern, with every<br>
@@ -95,9 +95,11 @@
<td colspan=2><tt>A simple mock of <a href="#HttpRequest">HttpRequest</a><br>
<br>
Pass in a dictionary to the constructor that maps request methodIds to<br>
-tuples of (httplib2.Response, content) that should be returned when that<br>
-method is called. None may also be passed in for the httplib2.Response, in<br>
-which case a 200 OK response will be generated.<br>
+tuples of (httplib2.Response, content, opt_expected_body) that should be<br>
+returned when that method is called. None may also be passed in for the<br>
+httplib2.Response, in which case a 200 OK response will be generated.<br>
+If an opt_expected_body (str or dict) is provided, it will be compared to<br>
+the body and UnexpectedBodyError will be raised on inequality.<br>
<br>
Example:<br>
response = '{"data": {"id": "tag:google.c...'<br>
@@ -109,8 +111,9 @@
apiclient.discovery.build("buzz", "v1", requestBuilder=requestBuilder)<br>
<br>
Methods that you do not supply a response for will return a<br>
-200 OK with an empty string as the response content. The methodId<br>
-is taken from the rpcName in the discovery document.<br>
+200 OK with an empty string as the response content or raise an excpetion if<br>
+check_unexpected is set to True. The methodId is taken from the rpcName<br>
+in the discovery document.<br>
<br>
For more details see the project wiki.<br> </tt></td></tr>
<tr><td> </td>
@@ -120,7 +123,7 @@
<a href="#HttpRequest">HttpRequest</a>.execute(). See that method for the description of the<br>
parameters and the expected response.</tt></dd></dl>
-<dl><dt><a name="RequestMockBuilder-__init__"><strong>__init__</strong></a>(self, responses)</dt><dd><tt>Constructor for <a href="#RequestMockBuilder">RequestMockBuilder</a><br>
+<dl><dt><a name="RequestMockBuilder-__init__"><strong>__init__</strong></a>(self, responses, check_unexpected<font color="#909090">=False</font>)</dt><dd><tt>Constructor for <a href="#RequestMockBuilder">RequestMockBuilder</a><br>
<br>
The constructed <a href="__builtin__.html#object">object</a> should be a callable <a href="__builtin__.html#object">object</a><br>
that can replace the class HttpResponse.<br>
@@ -128,7 +131,9 @@
responses - A dictionary that maps methodIds into tuples<br>
of (httplib2.Response, content). The methodId<br>
comes from the 'rpcName' field in the discovery<br>
- document.</tt></dd></dl>
+ document.<br>
+check_unexpected - A boolean setting whether or not UnexpectedMethodError<br>
+ should be raised on unsupplied method.</tt></dd></dl>
<hr>
Data descriptors defined here:<br>
diff --git a/docs/apiclient.mimeparse.html b/docs/apiclient.mimeparse.html
index ac2dbfe..0ce36c1 100644
--- a/docs/apiclient.mimeparse.html
+++ b/docs/apiclient.mimeparse.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.mimeparse</strong></big></big> (version 0.1.3)</font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/mimeparse.py">/home/jcgregorio/projects/google-api-python-client/apiclient/mimeparse.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/mimeparse.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/mimeparse.py</a></font></td></tr></table>
<p><tt>MIME-Type Parser<br>
<br>
This module provides basic functions for handling mime-types. It can handle<br>
diff --git a/docs/apiclient.model.html b/docs/apiclient.model.html
index 7dbc430..802ad5d 100644
--- a/docs/apiclient.model.html
+++ b/docs/apiclient.model.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.model</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/model.py">/home/jcgregorio/projects/google-api-python-client/apiclient/model.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/model.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/model.py</a></font></td></tr></table>
<p><tt><a href="#Model">Model</a> objects for requests and responses.<br>
<br>
Each API may support one or more serializations, such<br>
@@ -78,7 +78,8 @@
</dl>
<hr>
Methods defined here:<br>
-<dl><dt><a name="BaseModel-deserialize"><strong>deserialize</strong></a>(self, content)</dt><dd><tt>Perform the actual deserialization from response string to Python <a href="__builtin__.html#object">object</a>.<br>
+<dl><dt><a name="BaseModel-deserialize"><strong>deserialize</strong></a>(self, content)</dt><dd><tt>Perform the actual deserialization from response string to Python<br>
+<a href="__builtin__.html#object">object</a>.<br>
<br>
Args:<br>
content: string, the body of the HTTP response<br>
@@ -295,8 +296,8 @@
de-serialized using the given protocol buffer class.<br>
<br>
Args:<br>
- protocol_buffer: The protocol buffer class used to de-serialize a response<br>
- from the API.</tt></dd></dl>
+ protocol_buffer: The protocol buffer class used to de-serialize a<br>
+ response from the API.</tt></dd></dl>
<dl><dt><a name="ProtocolBufferModel-deserialize"><strong>deserialize</strong></a>(self, content)</dt></dl>
diff --git a/docs/apiclient.oauth.html b/docs/apiclient.oauth.html
index 5120e80..b019d53 100644
--- a/docs/apiclient.oauth.html
+++ b/docs/apiclient.oauth.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.oauth</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/apiclient/oauth.py">/home/jcgregorio/projects/google-api-python-client/apiclient/oauth.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/oauth.py">/usr/local/google/home/jcgregorio/projects/apiclient/apiclient/oauth.py</a></font></td></tr></table>
<p><tt>Utilities for OAuth.<br>
<br>
Utilities for making it easier to work with OAuth.</tt></p>
diff --git a/docs/dyn/audit.v1.activities.html b/docs/dyn/audit.v1.activities.html
index 7d1ccaf..bce94b4 100644
--- a/docs/dyn/audit.v1.activities.html
+++ b/docs/dyn/audit.v1.activities.html
@@ -17,20 +17,20 @@
<dl><dt><a name="Resource-list"><strong>list</strong></a> = method(self, **kwargs)</dt><dd><tt>Retrieves a list of activities for a specific customer and application.<br>
<br>
Args:<br>
- actorEmail: string, Email address of the user who performed the action.<br>
- parameters: string, Event parameters in the form [parameter1 name]:[parameter1 value],[parameter2 name]:[parameter2 value],...<br>
caller: string, Type of the caller.<br>
Allowed values<br>
application_owner - Caller is an application owner.<br>
customer - Caller is a customer.<br>
- maxResults: integer, Number of activity records to be shown in each page.<br>
actorApplicationId: string, Application ID of the application which interacted on behalf of the user while performing the event.<br>
- eventName: string, Name of the event being queried.<br>
- applicationId: string, Application ID of the application on which the event was performed. (required)<br>
- startTime: string, Return events which occured at or after this time.<br>
- endTime: string, Return events which occured at or before this time.<br>
- ipAddress: string, IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.<br>
+ actorIpAddress: string, IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.<br>
+ actorEmail: string, Email address of the user who performed the action.<br>
+ maxResults: integer, Number of activity records to be shown in each page.<br>
continuationToken: string, Next page URL.<br>
+ eventName: string, Name of the event being queried.<br>
+ endTime: string, Return events which occured at or before this time.<br>
+ startTime: string, Return events which occured at or after this time.<br>
+ parameters: string, Event parameters in the form [parameter1 name]:[parameter1 value],[parameter2 name]:[parameter2 value],...<br>
+ applicationId: string, Application ID of the application on which the event was performed. (required)<br>
customerId: string, Represents the customer who is the owner of target object on which action was performed. (required)</tt></dd></dl>
<hr>
diff --git a/docs/dyn/blogger.v2.blogs.html b/docs/dyn/blogger.v2.blogs.html
new file mode 100644
index 0000000..8f5084d
--- /dev/null
+++ b/docs/dyn/blogger.v2.blogs.html
@@ -0,0 +1,31 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: class Resource</title>
+</head><body bgcolor="#f0f0f8">
+<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="Resource">class <strong>Resource</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>A class for interacting with a resource.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Resource-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Resource-get"><strong>get</strong></a> = method(self, **kwargs)</dt><dd><tt>Gets one blog by id.<br>
+ <br>
+Args:<br>
+ blogId: string, The ID of the blog to get. (required)</tt></dd></dl>
+
+<hr>
+Data descriptors defined here:<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>
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger.v2.comments.html b/docs/dyn/blogger.v2.comments.html
new file mode 100644
index 0000000..526406b
--- /dev/null
+++ b/docs/dyn/blogger.v2.comments.html
@@ -0,0 +1,53 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: class Resource</title>
+</head><body bgcolor="#f0f0f8">
+<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="Resource">class <strong>Resource</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>A class for interacting with a resource.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Resource-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Resource-get"><strong>get</strong></a> = method(self, **kwargs)</dt><dd><tt>Gets one comment by id.<br>
+ <br>
+Args:<br>
+ commentId: string, The ID of the comment to get. (required)<br>
+ postId: string, ID of the post to fetch posts from. (required)<br>
+ blogId: string, ID of the blog to containing the comment. (required)</tt></dd></dl>
+
+<dl><dt><a name="Resource-list"><strong>list</strong></a> = method(self, **kwargs)</dt><dd><tt>Retrieves the comments for a blog, possibly filtered.<br>
+ <br>
+Args:<br>
+ startDate: string, Earliest date of comment to fetch.<br>
+ fetchBodies: boolean, Whether the body content of the comments is included.<br>
+ pageToken: string, Continuation token if request is paged.<br>
+ maxResults: integer, Maximum number of comments to include in the result.<br>
+ postId: string, ID of the post to fetch posts from. (required)<br>
+ blogId: string, ID of the blog to fetch comments from. (required)</tt></dd></dl>
+
+<dl><dt><a name="Resource-list_next"><strong>list_next</strong></a> = methodNext(self, previous_request, previous_response)</dt><dd><tt>Retrieves the next page of results.<br>
+ <br>
+Args:<br>
+ previous_request: The request for the previous page.<br>
+ previous_response: The response from the request for the previous page.<br>
+ <br>
+Returns:<br>
+ A request object that you can call 'execute()' on to request the next<br>
+ page. Returns None if there are no more items in the collection.</tt></dd></dl>
+
+<hr>
+Data descriptors defined here:<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>
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger.v2.html b/docs/dyn/blogger.v2.html
new file mode 100644
index 0000000..cb93864
--- /dev/null
+++ b/docs/dyn/blogger.v2.html
@@ -0,0 +1,36 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: class Resource</title>
+</head><body bgcolor="#f0f0f8">
+<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="Resource">class <strong>Resource</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>A class for interacting with a resource.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Resource-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Resource-blogs"><strong><a href="blogger.v2.blogs.html">blogs</a></strong></a> = methodResource(self)</dt><dd><tt>A collection resource.</tt></dd></dl>
+
+<dl><dt><a name="Resource-comments"><strong><a href="blogger.v2.comments.html">comments</a></strong></a> = methodResource(self)</dt><dd><tt>A collection resource.</tt></dd></dl>
+
+<dl><dt><a name="Resource-pages"><strong><a href="blogger.v2.pages.html">pages</a></strong></a> = methodResource(self)</dt><dd><tt>A collection resource.</tt></dd></dl>
+
+<dl><dt><a name="Resource-posts"><strong><a href="blogger.v2.posts.html">posts</a></strong></a> = methodResource(self)</dt><dd><tt>A collection resource.</tt></dd></dl>
+
+<dl><dt><a name="Resource-users"><strong><a href="blogger.v2.users.html">users</a></strong></a> = methodResource(self)</dt><dd><tt>A collection resource.</tt></dd></dl>
+
+<hr>
+Data descriptors defined here:<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>
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger.v2.pages.html b/docs/dyn/blogger.v2.pages.html
new file mode 100644
index 0000000..24b5e8a
--- /dev/null
+++ b/docs/dyn/blogger.v2.pages.html
@@ -0,0 +1,38 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: class Resource</title>
+</head><body bgcolor="#f0f0f8">
+<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="Resource">class <strong>Resource</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>A class for interacting with a resource.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Resource-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Resource-get"><strong>get</strong></a> = method(self, **kwargs)</dt><dd><tt>Gets one blog page by id.<br>
+ <br>
+Args:<br>
+ pageId: string, The ID of the page to get. (required)<br>
+ blogId: string, ID of the blog containing the page. (required)</tt></dd></dl>
+
+<dl><dt><a name="Resource-list"><strong>list</strong></a> = method(self, **kwargs)</dt><dd><tt>Retrieves pages for a blog, possibly filtered.<br>
+ <br>
+Args:<br>
+ fetchBodies: boolean, Whether to retrieve the Page bodies.<br>
+ blogId: string, ID of the blog to fetch pages from. (required)</tt></dd></dl>
+
+<hr>
+Data descriptors defined here:<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>
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger.v2.posts.html b/docs/dyn/blogger.v2.posts.html
new file mode 100644
index 0000000..8b72531
--- /dev/null
+++ b/docs/dyn/blogger.v2.posts.html
@@ -0,0 +1,51 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: class Resource</title>
+</head><body bgcolor="#f0f0f8">
+<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="Resource">class <strong>Resource</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>A class for interacting with a resource.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Resource-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Resource-get"><strong>get</strong></a> = method(self, **kwargs)</dt><dd><tt>Get a post by id.<br>
+ <br>
+Args:<br>
+ postId: string, The ID of the post (required)<br>
+ blogId: string, ID of the blog to fetch the post from. (required)</tt></dd></dl>
+
+<dl><dt><a name="Resource-list"><strong>list</strong></a> = method(self, **kwargs)</dt><dd><tt>Retrieves a list of posts, possibly filtered.<br>
+ <br>
+Args:<br>
+ startDate: string, Earliest post date to fetch.<br>
+ pageToken: string, Continuation token if the request is paged.<br>
+ maxResults: integer, Maximum number of posts to fetch.<br>
+ fetchBodies: boolean, Whether the body content of posts is included.<br>
+ blogId: string, ID of the blog to fetch posts from. (required)</tt></dd></dl>
+
+<dl><dt><a name="Resource-list_next"><strong>list_next</strong></a> = methodNext(self, previous_request, previous_response)</dt><dd><tt>Retrieves the next page of results.<br>
+ <br>
+Args:<br>
+ previous_request: The request for the previous page.<br>
+ previous_response: The response from the request for the previous page.<br>
+ <br>
+Returns:<br>
+ A request object that you can call 'execute()' on to request the next<br>
+ page. Returns None if there are no more items in the collection.</tt></dd></dl>
+
+<hr>
+Data descriptors defined here:<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>
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger.v2.users.blogs.html b/docs/dyn/blogger.v2.users.blogs.html
new file mode 100644
index 0000000..eaabe4e
--- /dev/null
+++ b/docs/dyn/blogger.v2.users.blogs.html
@@ -0,0 +1,31 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: class Resource</title>
+</head><body bgcolor="#f0f0f8">
+<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="Resource">class <strong>Resource</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>A class for interacting with a resource.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Resource-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Resource-list"><strong>list</strong></a> = method(self, **kwargs)</dt><dd><tt>Retrieves a list of blogs, possibly filtered.<br>
+ <br>
+Args:<br>
+ userId: string, ID of the user whose blogs are to be fetched. (required)</tt></dd></dl>
+
+<hr>
+Data descriptors defined here:<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>
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger.v2.users.html b/docs/dyn/blogger.v2.users.html
new file mode 100644
index 0000000..7cb34cc
--- /dev/null
+++ b/docs/dyn/blogger.v2.users.html
@@ -0,0 +1,33 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: class Resource</title>
+</head><body bgcolor="#f0f0f8">
+<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="Resource">class <strong>Resource</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>A class for interacting with a resource.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Resource-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="Resource-blogs"><strong><a href="blogger.v2.users.blogs.html">blogs</a></strong></a> = methodResource(self)</dt><dd><tt>A collection resource.</tt></dd></dl>
+
+<dl><dt><a name="Resource-get"><strong>get</strong></a> = method(self, **kwargs)</dt><dd><tt>Gets one user by id.<br>
+ <br>
+Args:<br>
+ userId: string, The ID of the user to get. (required)</tt></dd></dl>
+
+<hr>
+Data descriptors defined here:<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>
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/shopping.v1.products.html b/docs/dyn/shopping.v1.products.html
index 2a12c9b..4a540ed 100644
--- a/docs/dyn/shopping.v1.products.html
+++ b/docs/dyn/shopping.v1.products.html
@@ -25,6 +25,7 @@
source: string, Query source (required)<br>
recommendations_include: string, Recommendation specification<br>
debug_enabled: boolean, Google Internal<br>
+ location: string, Location used to determine tax and shipping<br>
debug_searchRequest: boolean, Google Internal<br>
productId: string, Id of product (required)<br>
productIdType: string, Type of productId (required)<br>
@@ -59,6 +60,7 @@
source: string, Query source (required)<br>
useCase: string, One of CommerceSearchUseCase, ShoppingApiUseCase<br>
debug_geocodeResponse: boolean, Google Internal<br>
+ location: string, Location used to determine tax and shipping<br>
categories_include: string, Category specification<br>
debug_searchRequest: boolean, Google Internal<br>
relatedQueries_enabled: boolean, Whether to return related queries<br>
diff --git a/docs/httplib2.html b/docs/httplib2.html
index 271d87f..e02bd39 100644
--- a/docs/httplib2.html
+++ b/docs/httplib2.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>httplib2</strong></big></big> (version 0.7.0)</font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/httplib2/__init__.py">/home/jcgregorio/projects/google-api-python-client/httplib2/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/httplib2/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/httplib2/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
diff --git a/docs/httplib2.socks.html b/docs/httplib2.socks.html
index e124e0f..4f65a85 100644
--- a/docs/httplib2.socks.html
+++ b/docs/httplib2.socks.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="httplib2.html"><font color="#ffffff">httplib2</font></a>.socks</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/httplib2/socks.py">/home/jcgregorio/projects/google-api-python-client/httplib2/socks.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/httplib2/socks.py">/usr/local/google/home/jcgregorio/projects/apiclient/httplib2/socks.py</a></font></td></tr></table>
<p><tt>SocksiPy - Python SOCKS module.<br>
Version 1.00<br>
<br>
diff --git a/docs/oauth2client.appengine.html b/docs/oauth2client.appengine.html
index e3cba8b..1607892 100644
--- a/docs/oauth2client.appengine.html
+++ b/docs/oauth2client.appengine.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="oauth2client.html"><font color="#ffffff">oauth2client</font></a>.appengine</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/oauth2client/appengine.py">/home/jcgregorio/projects/google-api-python-client/oauth2client/appengine.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/appengine.py">/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/appengine.py</a></font></td></tr></table>
<p><tt>Utilities for Google App Engine<br>
<br>
Utilities for making it easier to use OAuth 2.0 on Google App Engine.</tt></p>
@@ -23,13 +23,12 @@
<a href="base64.html">base64</a><br>
<a href="google.appengine.ext.db.html">google.appengine.ext.db</a><br>
</td><td width="25%" valign=top><a href="httplib2.html">httplib2</a><br>
-<a href="logging.html">logging</a><br>
<a href="google.appengine.api.memcache.html">google.appengine.api.memcache</a><br>
-</td><td width="25%" valign=top><a href="pickle.html">pickle</a><br>
-<a href="simplejson.html">simplejson</a><br>
+<a href="pickle.html">pickle</a><br>
+</td><td width="25%" valign=top><a href="simplejson.html">simplejson</a><br>
<a href="time.html">time</a><br>
-</td><td width="25%" valign=top><a href="google.appengine.api.users.html">google.appengine.api.users</a><br>
-<a href="google.appengine.ext.webapp.html">google.appengine.ext.webapp</a><br>
+<a href="google.appengine.api.users.html">google.appengine.api.users</a><br>
+</td><td width="25%" valign=top><a href="google.appengine.ext.webapp.html">google.appengine.ext.webapp</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
@@ -122,6 +121,10 @@
defaults to Google's endpoints but any OAuth 2.0 provider can be used.</tt></dd></dl>
<hr>
+Class methods defined here:<br>
+<dl><dt><a name="AppAssertionCredentials-from_json"><strong>from_json</strong></a>(cls, json)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt></dl>
+
+<hr>
Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">oauth2client.client.OAuth2Credentials</a>:<br>
<dl><dt><a name="AppAssertionCredentials-__getstate__"><strong>__getstate__</strong></a>(self)</dt><dd><tt>Trim the state down to something that can be pickled.</tt></dd></dl>
@@ -141,28 +144,43 @@
h = httplib2.Http()<br>
h = credentials.<a href="#AppAssertionCredentials-authorize">authorize</a>(h)<br>
<br>
-You can't create a new OAuth<br>
-subclass of httplib2.Authenication because<br>
-it never gets passed the absolute URI, which is<br>
-needed for signing. So instead we have to overload<br>
-'request' with a closure that adds in the<br>
-Authorization header and then calls the original version<br>
-of 'request()'.</tt></dd></dl>
+You can't create a new OAuth subclass of httplib2.Authenication<br>
+because it never gets passed the absolute URI, which is needed for<br>
+signing. So instead we have to overload 'request' with a closure<br>
+that adds in the Authorization header and then calls the original<br>
+version of 'request()'.</tt></dd></dl>
-<dl><dt><a name="AppAssertionCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set the storage for the credential.<br>
+<dl><dt><a name="AppAssertionCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set the <a href="oauth2client.client.html#Storage">Storage</a> for the credential.<br>
<br>
Args:<br>
- store: callable, a callable that when passed a Credential<br>
- will store the credential back to where it came from.<br>
+ store: <a href="oauth2client.client.html#Storage">Storage</a>, an implementation of Stroage <a href="__builtin__.html#object">object</a>.<br>
This is needed to store the latest access_token if it<br>
- has expired and been refreshed.</tt></dd></dl>
+ has expired and been refreshed. This implementation uses<br>
+ locking to check for updates before updating the<br>
+ access_token.</tt></dd></dl>
+
+<dl><dt><a name="AppAssertionCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
<hr>
Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">oauth2client.client.OAuth2Credentials</a>:<br>
-<dl><dt><strong>invalid</strong></dt>
-<dd><tt>True if the credentials are invalid, such as being revoked.</tt></dd>
+<dl><dt><strong>access_token_expired</strong></dt>
+<dd><tt>True if the credential is expired or invalid.<br>
+ <br>
+If the token_expiry isn't set, we assume the token doesn't expire.</tt></dd>
</dl>
<hr>
+Class methods inherited from <a href="oauth2client.client.html#Credentials">oauth2client.client.Credentials</a>:<br>
+<dl><dt><a name="AppAssertionCredentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility class method to instantiate a Credentials subclass from a JSON<br>
+representation produced by <a href="#AppAssertionCredentials-to_json">to_json</a>().<br>
+ <br>
+Args:<br>
+ s: string, JSON from <a href="#AppAssertionCredentials-to_json">to_json</a>().<br>
+ <br>
+Returns:<br>
+ An instance of the subclass of Credentials that was serialized with<br>
+ <a href="#AppAssertionCredentials-to_json">to_json</a>().</tt></dd></dl>
+
+<hr>
Data descriptors inherited from <a href="oauth2client.client.html#Credentials">oauth2client.client.Credentials</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
@@ -170,6 +188,10 @@
<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="oauth2client.client.html#Credentials">oauth2client.client.Credentials</a>:<br>
+<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
+
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
@@ -515,8 +537,11 @@
Data and other attributes defined here:<br>
<dl><dt><strong>data_type</strong> = <class 'oauth2client.client.Credentials'><dd><tt>Base class for all Credentials objects.<br>
<br>
-Subclasses must define an authorize() method<br>
-that applies the credentials to an HTTP transport.</tt></dl>
+Subclasses must define an authorize() method that applies the credentials to<br>
+an HTTP transport.<br>
+ <br>
+Subclasses must also specify a classmethod named 'from_json' that takes a JSON<br>
+string as input and returns an instaniated Crentials <a href="__builtin__.html#object">object</a>.</tt></dl>
<hr>
Methods inherited from <a href="google.appengine.ext.db.html#Property">google.appengine.ext.db.Property</a>:<br>
@@ -903,6 +928,31 @@
credentials: Credentials, the credentials to store.</tt></dd></dl>
<hr>
+Methods inherited from <a href="oauth2client.client.html#Storage">oauth2client.client.Storage</a>:<br>
+<dl><dt><a name="StorageByKeyName-acquire_lock"><strong>acquire_lock</strong></a>(self)</dt><dd><tt>Acquires any lock necessary to access this <a href="oauth2client.client.html#Storage">Storage</a>.<br>
+ <br>
+This lock is not reentrant.</tt></dd></dl>
+
+<dl><dt><a name="StorageByKeyName-locked_get"><strong>locked_get</strong></a>(self)</dt><dd><tt>Retrieve credential.<br>
+ <br>
+The <a href="oauth2client.client.html#Storage">Storage</a> lock must be held when this is called.<br>
+ <br>
+Returns:<br>
+ oauth2client.client.Credentials</tt></dd></dl>
+
+<dl><dt><a name="StorageByKeyName-locked_put"><strong>locked_put</strong></a>(self, credentials)</dt><dd><tt>Write a credential.<br>
+ <br>
+The <a href="oauth2client.client.html#Storage">Storage</a> lock must be held when this is called.<br>
+ <br>
+Args:<br>
+ credentials: Credentials, the credentials to store.</tt></dd></dl>
+
+<dl><dt><a name="StorageByKeyName-release_lock"><strong>release_lock</strong></a>(self)</dt><dd><tt>Release the <a href="oauth2client.client.html#Storage">Storage</a> lock.<br>
+ <br>
+Trying to release a lock that isn't held will result in a<br>
+RuntimeError.</tt></dd></dl>
+
+<hr>
Data descriptors inherited from <a href="oauth2client.client.html#Storage">oauth2client.client.Storage</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
diff --git a/docs/oauth2client.client.html b/docs/oauth2client.client.html
index fd34ab1..e3d266b 100644
--- a/docs/oauth2client.client.html
+++ b/docs/oauth2client.client.html
@@ -8,11 +8,10 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="oauth2client.html"><font color="#ffffff">oauth2client</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:/home/jcgregorio/projects/google-api-python-client/oauth2client/client.py">/home/jcgregorio/projects/google-api-python-client/oauth2client/client.py</a></font></td></tr></table>
- <p><tt>An OAuth 2.0 client<br>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/client.py">/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/client.py</a></font></td></tr></table>
+ <p><tt>An OAuth 2.0 client.<br>
<br>
-Tools for interacting with OAuth 2.0 protected<br>
-resources.</tt></p>
+Tools for interacting with OAuth 2.0 protected resources.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
@@ -80,14 +79,15 @@
<font color="#000000" face="helvetica, arial"><a name="AccessTokenCredentials">class <strong>AccessTokenCredentials</strong></a>(<a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt><a href="#Credentials">Credentials</a> <a href="__builtin__.html#object">object</a> for OAuth 2.0<br>
+<td colspan=2><tt><a href="#Credentials">Credentials</a> <a href="__builtin__.html#object">object</a> for OAuth 2.0.<br>
<br>
-<a href="#Credentials">Credentials</a> can be applied to an httplib2.Http <a href="__builtin__.html#object">object</a> using the <a href="#AccessTokenCredentials-authorize">authorize</a>()<br>
-method, which then signs each request from that <a href="__builtin__.html#object">object</a> with the OAuth 2.0<br>
-access token. This set of credentials is for the use case where you have<br>
-acquired an OAuth 2.0 access_token from another place such as a JavaScript<br>
-client or another web application, and wish to use it from Python. Because<br>
-only the access_token is present it can not be refreshed and will in time<br>
+<a href="#Credentials">Credentials</a> can be applied to an httplib2.Http <a href="__builtin__.html#object">object</a> using the<br>
+<a href="#AccessTokenCredentials-authorize">authorize</a>() method, which then signs each request from that <a href="__builtin__.html#object">object</a><br>
+with the OAuth 2.0 access token. This set of credentials is for the<br>
+use case where you have acquired an OAuth 2.0 access_token from<br>
+another place such as a JavaScript client or another web<br>
+application, and wish to use it from Python. Because only the<br>
+access_token is present it can not be refreshed and will in time<br>
expire.<br>
<br>
<a href="#AccessTokenCredentials">AccessTokenCredentials</a> objects may be safely pickled and unpickled.<br>
@@ -124,6 +124,10 @@
will store the credential back to where it came from.</tt></dd></dl>
<hr>
+Class methods defined here:<br>
+<dl><dt><a name="AccessTokenCredentials-from_json"><strong>from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt></dl>
+
+<hr>
Methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
<dl><dt><a name="AccessTokenCredentials-__getstate__"><strong>__getstate__</strong></a>(self)</dt><dd><tt>Trim the state down to something that can be pickled.</tt></dd></dl>
@@ -143,28 +147,43 @@
h = httplib2.Http()<br>
h = credentials.<a href="#AccessTokenCredentials-authorize">authorize</a>(h)<br>
<br>
-You can't create a new OAuth<br>
-subclass of httplib2.Authenication because<br>
-it never gets passed the absolute URI, which is<br>
-needed for signing. So instead we have to overload<br>
-'request' with a closure that adds in the<br>
-Authorization header and then calls the original version<br>
-of 'request()'.</tt></dd></dl>
+You can't create a new OAuth subclass of httplib2.Authenication<br>
+because it never gets passed the absolute URI, which is needed for<br>
+signing. So instead we have to overload 'request' with a closure<br>
+that adds in the Authorization header and then calls the original<br>
+version of 'request()'.</tt></dd></dl>
-<dl><dt><a name="AccessTokenCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set the storage for the credential.<br>
+<dl><dt><a name="AccessTokenCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set the <a href="#Storage">Storage</a> for the credential.<br>
<br>
Args:<br>
- store: callable, a callable that when passed a Credential<br>
- will store the credential back to where it came from.<br>
+ store: <a href="#Storage">Storage</a>, an implementation of Stroage <a href="__builtin__.html#object">object</a>.<br>
This is needed to store the latest access_token if it<br>
- has expired and been refreshed.</tt></dd></dl>
+ has expired and been refreshed. This implementation uses<br>
+ locking to check for updates before updating the<br>
+ access_token.</tt></dd></dl>
+
+<dl><dt><a name="AccessTokenCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
<hr>
Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
-<dl><dt><strong>invalid</strong></dt>
-<dd><tt>True if the credentials are invalid, such as being revoked.</tt></dd>
+<dl><dt><strong>access_token_expired</strong></dt>
+<dd><tt>True if the credential is expired or invalid.<br>
+ <br>
+If the token_expiry isn't set, we assume the token doesn't expire.</tt></dd>
</dl>
<hr>
+Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
+<dl><dt><a name="AccessTokenCredentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility class method to instantiate a <a href="#Credentials">Credentials</a> subclass from a JSON<br>
+representation produced by <a href="#AccessTokenCredentials-to_json">to_json</a>().<br>
+ <br>
+Args:<br>
+ s: string, JSON from <a href="#AccessTokenCredentials-to_json">to_json</a>().<br>
+ <br>
+Returns:<br>
+ An instance of the subclass of <a href="#Credentials">Credentials</a> that was serialized with<br>
+ <a href="#AccessTokenCredentials-to_json">to_json</a>().</tt></dd></dl>
+
+<hr>
Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
@@ -172,6 +191,10 @@
<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="oauth2client.client.html#Credentials">Credentials</a>:<br>
+<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
+
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
@@ -301,12 +324,12 @@
<font color="#000000" face="helvetica, arial"><a name="AssertionCredentials">class <strong>AssertionCredentials</strong></a>(<a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt>Abstract <a href="#Credentials">Credentials</a> <a href="__builtin__.html#object">object</a> used for OAuth 2.0 assertion grants<br>
+<td colspan=2><tt>Abstract <a href="#Credentials">Credentials</a> <a href="__builtin__.html#object">object</a> used for OAuth 2.0 assertion grants.<br>
<br>
-This credential does not require a flow to instantiate because it represents<br>
-a two legged flow, and therefore has all of the required information to<br>
-generate and refresh its own access tokens. It must be subclassed to<br>
-generate the appropriate assertion string.<br>
+This credential does not require a flow to instantiate because it<br>
+represents a two legged flow, and therefore has all of the required<br>
+information to generate and refresh its own access tokens. It must<br>
+be subclassed to generate the appropriate assertion string.<br>
<br>
<a href="#AssertionCredentials">AssertionCredentials</a> objects may be safely pickled and unpickled.<br> </tt></td></tr>
<tr><td> </td>
@@ -318,7 +341,7 @@
</dl>
<hr>
Methods defined here:<br>
-<dl><dt><a name="AssertionCredentials-__init__"><strong>__init__</strong></a>(self, assertion_type, user_agent, token_uri<font color="#909090">='https://accounts.google.com/o/oauth2/token'</font>, **kwargs)</dt><dd><tt>Constructor for AssertionFlowCredentials<br>
+<dl><dt><a name="AssertionCredentials-__init__"><strong>__init__</strong></a>(self, assertion_type, user_agent, token_uri<font color="#909090">='https://accounts.google.com/o/oauth2/token'</font>, **unused_kwargs)</dt><dd><tt>Constructor for AssertionFlowCredentials.<br>
<br>
Args:<br>
assertion_type: string, assertion type that will be declared to the auth<br>
@@ -347,28 +370,54 @@
h = httplib2.Http()<br>
h = credentials.<a href="#AssertionCredentials-authorize">authorize</a>(h)<br>
<br>
-You can't create a new OAuth<br>
-subclass of httplib2.Authenication because<br>
-it never gets passed the absolute URI, which is<br>
-needed for signing. So instead we have to overload<br>
-'request' with a closure that adds in the<br>
-Authorization header and then calls the original version<br>
-of 'request()'.</tt></dd></dl>
+You can't create a new OAuth subclass of httplib2.Authenication<br>
+because it never gets passed the absolute URI, which is needed for<br>
+signing. So instead we have to overload 'request' with a closure<br>
+that adds in the Authorization header and then calls the original<br>
+version of 'request()'.</tt></dd></dl>
-<dl><dt><a name="AssertionCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set the storage for the credential.<br>
+<dl><dt><a name="AssertionCredentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set the <a href="#Storage">Storage</a> for the credential.<br>
<br>
Args:<br>
- store: callable, a callable that when passed a Credential<br>
- will store the credential back to where it came from.<br>
+ store: <a href="#Storage">Storage</a>, an implementation of Stroage <a href="__builtin__.html#object">object</a>.<br>
This is needed to store the latest access_token if it<br>
- has expired and been refreshed.</tt></dd></dl>
+ has expired and been refreshed. This implementation uses<br>
+ locking to check for updates before updating the<br>
+ access_token.</tt></dd></dl>
+
+<dl><dt><a name="AssertionCredentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
+
+<hr>
+Class methods inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
+<dl><dt><a name="AssertionCredentials-from_json"><strong>from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Instantiate a <a href="#Credentials">Credentials</a> <a href="__builtin__.html#object">object</a> from a JSON description of it. The JSON<br>
+should have been produced by calling .<a href="#AssertionCredentials-to_json">to_json</a>() on the <a href="__builtin__.html#object">object</a>.<br>
+ <br>
+Args:<br>
+ data: dict, A deserialized JSON <a href="__builtin__.html#object">object</a>.<br>
+ <br>
+Returns:<br>
+ An instance of a <a href="#Credentials">Credentials</a> subclass.</tt></dd></dl>
<hr>
Data descriptors inherited from <a href="oauth2client.client.html#OAuth2Credentials">OAuth2Credentials</a>:<br>
-<dl><dt><strong>invalid</strong></dt>
-<dd><tt>True if the credentials are invalid, such as being revoked.</tt></dd>
+<dl><dt><strong>access_token_expired</strong></dt>
+<dd><tt>True if the credential is expired or invalid.<br>
+ <br>
+If the token_expiry isn't set, we assume the token doesn't expire.</tt></dd>
</dl>
<hr>
+Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
+<dl><dt><a name="AssertionCredentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility class method to instantiate a <a href="#Credentials">Credentials</a> subclass from a JSON<br>
+representation produced by <a href="#AssertionCredentials-to_json">to_json</a>().<br>
+ <br>
+Args:<br>
+ s: string, JSON from <a href="#AssertionCredentials-to_json">to_json</a>().<br>
+ <br>
+Returns:<br>
+ An instance of the subclass of <a href="#Credentials">Credentials</a> that was serialized with<br>
+ <a href="#AssertionCredentials-to_json">to_json</a>().</tt></dd></dl>
+
+<hr>
Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
@@ -376,6 +425,10 @@
<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="oauth2client.client.html#Credentials">Credentials</a>:<br>
+<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
+
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
@@ -385,8 +438,11 @@
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>Base class for all <a href="#Credentials">Credentials</a> objects.<br>
<br>
-Subclasses must define an <a href="#Credentials-authorize">authorize</a>() method<br>
-that applies the credentials to an HTTP transport.<br> </tt></td></tr>
+Subclasses must define an <a href="#Credentials-authorize">authorize</a>() method that applies the credentials to<br>
+an HTTP transport.<br>
+ <br>
+Subclasses must also specify a classmethod named 'from_json' that takes a JSON<br>
+string as input and returns an instaniated Crentials <a href="__builtin__.html#object">object</a>.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Credentials-authorize"><strong>authorize</strong></a>(self, http)</dt><dd><tt>Take an httplib2.Http instance (or equivalent) and<br>
@@ -395,6 +451,24 @@
the appropriate headers and then delegates to the original<br>
Http.request() method.</tt></dd></dl>
+<dl><dt><a name="Credentials-to_json"><strong>to_json</strong></a>(self)</dt><dd><tt>Creating a JSON representation of an instance of <a href="#Credentials">Credentials</a>.<br>
+ <br>
+Returns:<br>
+ string, a JSON representation of this instance, suitable to pass to<br>
+ from_json().</tt></dd></dl>
+
+<hr>
+Class methods defined here:<br>
+<dl><dt><a name="Credentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility class method to instantiate a <a href="#Credentials">Credentials</a> subclass from a JSON<br>
+representation produced by <a href="#Credentials-to_json">to_json</a>().<br>
+ <br>
+Args:<br>
+ s: string, JSON from <a href="#Credentials-to_json">to_json</a>().<br>
+ <br>
+Returns:<br>
+ An instance of the subclass of <a href="#Credentials">Credentials</a> that was serialized with<br>
+ <a href="#Credentials-to_json">to_json</a>().</tt></dd></dl>
+
<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
@@ -403,6 +477,10 @@
<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 defined here:<br>
+<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
+
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
@@ -547,7 +625,7 @@
<font color="#000000" face="helvetica, arial"><a name="OAuth2Credentials">class <strong>OAuth2Credentials</strong></a>(<a href="oauth2client.client.html#Credentials">Credentials</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt><a href="#Credentials">Credentials</a> <a href="__builtin__.html#object">object</a> for OAuth 2.0<br>
+<td colspan=2><tt><a href="#Credentials">Credentials</a> <a href="__builtin__.html#object">object</a> for OAuth 2.0.<br>
<br>
<a href="#Credentials">Credentials</a> can be applied to an httplib2.Http <a href="__builtin__.html#object">object</a> using the <a href="#OAuth2Credentials-authorize">authorize</a>()<br>
method, which then signs each request from that <a href="__builtin__.html#object">object</a> with the OAuth 2.0<br>
@@ -564,21 +642,20 @@
Methods defined here:<br>
<dl><dt><a name="OAuth2Credentials-__getstate__"><strong>__getstate__</strong></a>(self)</dt><dd><tt>Trim the state down to something that can be pickled.</tt></dd></dl>
-<dl><dt><a name="OAuth2Credentials-__init__"><strong>__init__</strong></a>(self, access_token, client_id, client_secret, refresh_token, token_expiry, token_uri, user_agent)</dt><dd><tt>Create an instance of <a href="#OAuth2Credentials">OAuth2Credentials</a><br>
+<dl><dt><a name="OAuth2Credentials-__init__"><strong>__init__</strong></a>(self, access_token, client_id, client_secret, refresh_token, token_expiry, token_uri, user_agent)</dt><dd><tt>Create an instance of <a href="#OAuth2Credentials">OAuth2Credentials</a>.<br>
<br>
This constructor is not usually called by the user, instead<br>
<a href="#OAuth2Credentials">OAuth2Credentials</a> objects are instantiated by the <a href="#OAuth2WebServerFlow">OAuth2WebServerFlow</a>.<br>
<br>
Args:<br>
- token_uri: string, URI of token endpoint.<br>
+ access_token: string, access token.<br>
client_id: string, client identifier.<br>
client_secret: string, client secret.<br>
- access_token: string, access token.<br>
- token_expiry: datetime, when the access_token expires.<br>
refresh_token: string, refresh token.<br>
+ token_expiry: datetime, when the access_token expires.<br>
+ token_uri: string, URI of token endpoint.<br>
user_agent: string, The HTTP User-Agent to provide for this application.<br>
<br>
- <br>
Notes:<br>
store: callable, a callable that when passed a Credential<br>
will store the credential back to where it came from.<br>
@@ -601,28 +678,54 @@
h = httplib2.Http()<br>
h = credentials.<a href="#OAuth2Credentials-authorize">authorize</a>(h)<br>
<br>
-You can't create a new OAuth<br>
-subclass of httplib2.Authenication because<br>
-it never gets passed the absolute URI, which is<br>
-needed for signing. So instead we have to overload<br>
-'request' with a closure that adds in the<br>
-Authorization header and then calls the original version<br>
-of 'request()'.</tt></dd></dl>
+You can't create a new OAuth subclass of httplib2.Authenication<br>
+because it never gets passed the absolute URI, which is needed for<br>
+signing. So instead we have to overload 'request' with a closure<br>
+that adds in the Authorization header and then calls the original<br>
+version of 'request()'.</tt></dd></dl>
-<dl><dt><a name="OAuth2Credentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set the storage for the credential.<br>
+<dl><dt><a name="OAuth2Credentials-set_store"><strong>set_store</strong></a>(self, store)</dt><dd><tt>Set the <a href="#Storage">Storage</a> for the credential.<br>
<br>
Args:<br>
- store: callable, a callable that when passed a Credential<br>
- will store the credential back to where it came from.<br>
+ store: <a href="#Storage">Storage</a>, an implementation of Stroage <a href="__builtin__.html#object">object</a>.<br>
This is needed to store the latest access_token if it<br>
- has expired and been refreshed.</tt></dd></dl>
+ has expired and been refreshed. This implementation uses<br>
+ locking to check for updates before updating the<br>
+ access_token.</tt></dd></dl>
+
+<dl><dt><a name="OAuth2Credentials-to_json"><strong>to_json</strong></a>(self)</dt></dl>
+
+<hr>
+Class methods defined here:<br>
+<dl><dt><a name="OAuth2Credentials-from_json"><strong>from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Instantiate a <a href="#Credentials">Credentials</a> <a href="__builtin__.html#object">object</a> from a JSON description of it. The JSON<br>
+should have been produced by calling .<a href="#OAuth2Credentials-to_json">to_json</a>() on the <a href="__builtin__.html#object">object</a>.<br>
+ <br>
+Args:<br>
+ data: dict, A deserialized JSON <a href="__builtin__.html#object">object</a>.<br>
+ <br>
+Returns:<br>
+ An instance of a <a href="#Credentials">Credentials</a> subclass.</tt></dd></dl>
<hr>
Data descriptors defined here:<br>
-<dl><dt><strong>invalid</strong></dt>
-<dd><tt>True if the credentials are invalid, such as being revoked.</tt></dd>
+<dl><dt><strong>access_token_expired</strong></dt>
+<dd><tt>True if the credential is expired or invalid.<br>
+ <br>
+If the token_expiry isn't set, we assume the token doesn't expire.</tt></dd>
</dl>
<hr>
+Class methods inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
+<dl><dt><a name="OAuth2Credentials-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility class method to instantiate a <a href="#Credentials">Credentials</a> subclass from a JSON<br>
+representation produced by <a href="#OAuth2Credentials-to_json">to_json</a>().<br>
+ <br>
+Args:<br>
+ s: string, JSON from <a href="#OAuth2Credentials-to_json">to_json</a>().<br>
+ <br>
+Returns:<br>
+ An instance of the subclass of <a href="#Credentials">Credentials</a> that was serialized with<br>
+ <a href="#OAuth2Credentials-to_json">to_json</a>().</tt></dd></dl>
+
+<hr>
Data descriptors inherited from <a href="oauth2client.client.html#Credentials">Credentials</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
@@ -630,6 +733,10 @@
<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="oauth2client.client.html#Credentials">Credentials</a>:<br>
+<dl><dt><strong>NON_SERIALIZED_MEMBERS</strong> = ['store']</dl>
+
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
@@ -648,7 +755,7 @@
</dl>
<hr>
Methods defined here:<br>
-<dl><dt><a name="OAuth2WebServerFlow-__init__"><strong>__init__</strong></a>(self, client_id, client_secret, scope, user_agent, auth_uri<font color="#909090">='https://accounts.google.com/o/oauth2/auth'</font>, token_uri<font color="#909090">='https://accounts.google.com/o/oauth2/token'</font>, **kwargs)</dt><dd><tt>Constructor for <a href="#OAuth2WebServerFlow">OAuth2WebServerFlow</a><br>
+<dl><dt><a name="OAuth2WebServerFlow-__init__"><strong>__init__</strong></a>(self, client_id, client_secret, scope, user_agent, auth_uri<font color="#909090">='https://accounts.google.com/o/oauth2/auth'</font>, token_uri<font color="#909090">='https://accounts.google.com/o/oauth2/token'</font>, **kwargs)</dt><dd><tt>Constructor for <a href="#OAuth2WebServerFlow">OAuth2WebServerFlow</a>.<br>
<br>
Args:<br>
client_id: string, client identifier.<br>
@@ -699,19 +806,48 @@
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>Base class for all <a href="#Storage">Storage</a> objects.<br>
<br>
-Store and retrieve a single credential.<br> </tt></td></tr>
+Store and retrieve a single credential. This class supports locking<br>
+such that multiple processes and threads can operate on a single<br>
+store.<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Storage-acquire_lock"><strong>acquire_lock</strong></a>(self)</dt><dd><tt>Acquires any lock necessary to access this <a href="#Storage">Storage</a>.<br>
+ <br>
+This lock is not reentrant.</tt></dd></dl>
+
<dl><dt><a name="Storage-get"><strong>get</strong></a>(self)</dt><dd><tt>Retrieve credential.<br>
<br>
+The <a href="#Storage">Storage</a> lock must *not* be held when this is called.<br>
+ <br>
Returns:<br>
oauth2client.client.<a href="#Credentials">Credentials</a></tt></dd></dl>
-<dl><dt><a name="Storage-put"><strong>put</strong></a>(self, credentials)</dt><dd><tt>Write a credential.<br>
+<dl><dt><a name="Storage-locked_get"><strong>locked_get</strong></a>(self)</dt><dd><tt>Retrieve credential.<br>
+ <br>
+The <a href="#Storage">Storage</a> lock must be held when this is called.<br>
+ <br>
+Returns:<br>
+ oauth2client.client.<a href="#Credentials">Credentials</a></tt></dd></dl>
+
+<dl><dt><a name="Storage-locked_put"><strong>locked_put</strong></a>(self, credentials)</dt><dd><tt>Write a credential.<br>
+ <br>
+The <a href="#Storage">Storage</a> lock must be held when this is called.<br>
<br>
Args:<br>
credentials: <a href="#Credentials">Credentials</a>, the credentials to store.</tt></dd></dl>
+<dl><dt><a name="Storage-put"><strong>put</strong></a>(self, credentials)</dt><dd><tt>Write a credential.<br>
+ <br>
+The <a href="#Storage">Storage</a> lock must be held when this is called.<br>
+ <br>
+Args:<br>
+ credentials: <a href="#Credentials">Credentials</a>, the credentials to store.</tt></dd></dl>
+
+<dl><dt><a name="Storage-release_lock"><strong>release_lock</strong></a>(self)</dt><dd><tt>Release the <a href="#Storage">Storage</a> lock.<br>
+ <br>
+Trying to release a lock that isn't held will result in a<br>
+RuntimeError.</tt></dd></dl>
+
<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
@@ -727,7 +863,9 @@
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
-<td width="100%"><strong>__author__</strong> = 'jcgregorio@google.com (Joe Gregorio)'</td></tr></table><p>
+<td width="100%"><strong>EXPIRY_FORMAT</strong> = '%Y-%m-%dT%H:%M:%S.%fZ'<br>
+<strong>__author__</strong> = 'jcgregorio@google.com (Joe Gregorio)'<br>
+<strong>logger</strong> = <logging.Logger instance></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom> <br>
diff --git a/docs/oauth2client.django_orm.html b/docs/oauth2client.django_orm.html
index 2b1d7d3..19fb474 100644
--- a/docs/oauth2client.django_orm.html
+++ b/docs/oauth2client.django_orm.html
@@ -282,6 +282,31 @@
credentials: Credentials, the credentials to store.</tt></dd></dl>
<hr>
+Methods inherited from <a href="oauth2client.client.html#Storage">oauth2client.client.Storage</a>:<br>
+<dl><dt><a name="Storage-acquire_lock"><strong>acquire_lock</strong></a>(self)</dt><dd><tt>Acquires any lock necessary to access this <a href="#Storage">Storage</a>.<br>
+ <br>
+This lock is not reentrant.</tt></dd></dl>
+
+<dl><dt><a name="Storage-locked_get"><strong>locked_get</strong></a>(self)</dt><dd><tt>Retrieve credential.<br>
+ <br>
+The <a href="#Storage">Storage</a> lock must be held when this is called.<br>
+ <br>
+Returns:<br>
+ oauth2client.client.Credentials</tt></dd></dl>
+
+<dl><dt><a name="Storage-locked_put"><strong>locked_put</strong></a>(self, credentials)</dt><dd><tt>Write a credential.<br>
+ <br>
+The <a href="#Storage">Storage</a> lock must be held when this is called.<br>
+ <br>
+Args:<br>
+ credentials: Credentials, the credentials to store.</tt></dd></dl>
+
+<dl><dt><a name="Storage-release_lock"><strong>release_lock</strong></a>(self)</dt><dd><tt>Release the <a href="#Storage">Storage</a> lock.<br>
+ <br>
+Trying to release a lock that isn't held will result in a<br>
+RuntimeError.</tt></dd></dl>
+
+<hr>
Data descriptors inherited from <a href="oauth2client.client.html#Storage">oauth2client.client.Storage</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
diff --git a/docs/oauth2client.file.html b/docs/oauth2client.file.html
index cc5ea82..dd6c318 100644
--- a/docs/oauth2client.file.html
+++ b/docs/oauth2client.file.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="oauth2client.html"><font color="#ffffff">oauth2client</font></a>.file</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/oauth2client/file.py">/home/jcgregorio/projects/google-api-python-client/oauth2client/file.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/file.py">/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/file.py</a></font></td></tr></table>
<p><tt>Utilities for OAuth.<br>
<br>
Utilities for making it easier to work with OAuth 2.0<br>
@@ -21,8 +21,9 @@
<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="pickle.html">pickle</a><br>
+</td><td width="25%" valign=top><a href="simplejson.html">simplejson</a><br>
</td><td width="25%" valign=top><a href="threading.html">threading</a><br>
-</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+</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>
@@ -60,12 +61,37 @@
Returns:<br>
oauth2client.client.Credentials</tt></dd></dl>
-<dl><dt><a name="Storage-put"><strong>put</strong></a>(self, credentials)</dt><dd><tt>Write a pickled Credentials to file.<br>
+<dl><dt><a name="Storage-put"><strong>put</strong></a>(self, credentials)</dt><dd><tt>Write Credentials to file.<br>
<br>
Args:<br>
credentials: Credentials, the credentials to store.</tt></dd></dl>
<hr>
+Methods inherited from <a href="oauth2client.client.html#Storage">oauth2client.client.Storage</a>:<br>
+<dl><dt><a name="Storage-acquire_lock"><strong>acquire_lock</strong></a>(self)</dt><dd><tt>Acquires any lock necessary to access this <a href="#Storage">Storage</a>.<br>
+ <br>
+This lock is not reentrant.</tt></dd></dl>
+
+<dl><dt><a name="Storage-locked_get"><strong>locked_get</strong></a>(self)</dt><dd><tt>Retrieve credential.<br>
+ <br>
+The <a href="#Storage">Storage</a> lock must be held when this is called.<br>
+ <br>
+Returns:<br>
+ oauth2client.client.Credentials</tt></dd></dl>
+
+<dl><dt><a name="Storage-locked_put"><strong>locked_put</strong></a>(self, credentials)</dt><dd><tt>Write a credential.<br>
+ <br>
+The <a href="#Storage">Storage</a> lock must be held when this is called.<br>
+ <br>
+Args:<br>
+ credentials: Credentials, the credentials to store.</tt></dd></dl>
+
+<dl><dt><a name="Storage-release_lock"><strong>release_lock</strong></a>(self)</dt><dd><tt>Release the <a href="#Storage">Storage</a> lock.<br>
+ <br>
+Trying to release a lock that isn't held will result in a<br>
+RuntimeError.</tt></dd></dl>
+
+<hr>
Data descriptors inherited from <a href="oauth2client.client.html#Storage">oauth2client.client.Storage</a>:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
diff --git a/docs/oauth2client.html b/docs/oauth2client.html
index 2a973c6..b19eaab 100644
--- a/docs/oauth2client.html
+++ b/docs/oauth2client.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>oauth2client</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/oauth2client/__init__.py">/home/jcgregorio/projects/google-api-python-client/oauth2client/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
@@ -19,8 +19,11 @@
<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="oauth2client.appengine.html">appengine</a><br>
<a href="oauth2client.client.html">client</a><br>
+</td><td width="25%" valign=top><a href="oauth2client.clientid.html">clientid</a><br>
+<a href="oauth2client.clientsecrets.html">clientsecrets</a><br>
</td><td width="25%" valign=top><a href="oauth2client.django_orm.html">django_orm</a><br>
<a href="oauth2client.file.html">file</a><br>
-</td><td width="25%" valign=top><a href="oauth2client.tools.html">tools</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table>
+</td><td width="25%" valign=top><a href="oauth2client.multistore_file.html">multistore_file</a><br>
+<a href="oauth2client.tools.html">tools</a><br>
+</td></tr></table></td></tr></table>
</body></html>
\ No newline at end of file
diff --git a/docs/oauth2client.multistore_file.html b/docs/oauth2client.multistore_file.html
new file mode 100644
index 0000000..c3b9ecc
--- /dev/null
+++ b/docs/oauth2client.multistore_file.html
@@ -0,0 +1,229 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module oauth2client.multistore_file</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="oauth2client.html"><font color="#ffffff">oauth2client</font></a>.multistore_file</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/jcgregorio/projects/apiclient/oauth2client/multistore_file.py">/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/multistore_file.py</a></font></td></tr></table>
+ <p><tt>Multi-credential file store with lock support.<br>
+ <br>
+This module implements a JSON credential store where multiple<br>
+credentials can be stored in one file. That file supports locking<br>
+both in a single process and across processes.<br>
+ <br>
+The credential themselves are keyed off of:<br>
+* client_id<br>
+* user_agent<br>
+* scope<br>
+ <br>
+The format of the stored data is like so:<br>
+{<br>
+ 'file_version': 1,<br>
+ 'data': [<br>
+ {<br>
+ 'key': {<br>
+ 'clientId': '<client id>',<br>
+ 'userAgent': '<user agent>',<br>
+ 'scope': '<scope>'<br>
+ },<br>
+ 'credential': {<br>
+ # JSON serialized Credentials.<br>
+ }<br>
+ }<br>
+ ]<br>
+}</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="base64.html">base64</a><br>
+<a href="fcntl.html">fcntl</a><br>
+</td><td width="25%" valign=top><a href="logging.html">logging</a><br>
+<a href="os.html">os</a><br>
+</td><td width="25%" valign=top><a href="pickle.html">pickle</a><br>
+<a href="simplejson.html">simplejson</a><br>
+</td><td width="25%" valign=top><a href="threading.html">threading</a><br>
+</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="exceptions.html#Exception">exceptions.Exception</a>(<a href="exceptions.html#BaseException">exceptions.BaseException</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="oauth2client.multistore_file.html#Error">Error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="oauth2client.multistore_file.html#NewerCredentialStoreError">NewerCredentialStoreError</a>
+</font></dt></dl>
+</dd>
+</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="Error">class <strong>Error</strong></a>(<a href="exceptions.html#Exception">exceptions.Exception</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>Base error for this module.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="oauth2client.multistore_file.html#Error">Error</a></dd>
+<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
+<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Data descriptors defined here:<br>
+<dl><dt><strong>__weakref__</strong></dt>
+<dd><tt>list of weak references to the object (if defined)</tt></dd>
+</dl>
+<hr>
+Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
+<dl><dt><a name="Error-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__init__">__init__</a>(...) initializes x; see x.__class__.__doc__ for signature</tt></dd></dl>
+
+<hr>
+Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
+<dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#Error-__new__">__new__</a>(S, ...) -> a new object with type S, a subtype of T</tt></dl>
+
+<hr>
+Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
+<dl><dt><a name="Error-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl>
+
+<dl><dt><a name="Error-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl>
+
+<dl><dt><a name="Error-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__getitem__">__getitem__</a>(y) <==> x[y]</tt></dd></dl>
+
+<dl><dt><a name="Error-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__getslice__">__getslice__</a>(i, j) <==> x[i:j]<br>
+ <br>
+Use of negative indices is not supported.</tt></dd></dl>
+
+<dl><dt><a name="Error-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
+
+<dl><dt><a name="Error-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl>
+
+<dl><dt><a name="Error-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl>
+
+<dl><dt><a name="Error-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
+
+<dl><dt><a name="Error-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#Error-__str__">__str__</a>() <==> str(x)</tt></dd></dl>
+
+<dl><dt><a name="Error-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
+
+<hr>
+Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
+<dl><dt><strong>__dict__</strong></dt>
+</dl>
+<dl><dt><strong>args</strong></dt>
+</dl>
+<dl><dt><strong>message</strong></dt>
+</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="NewerCredentialStoreError">class <strong>NewerCredentialStoreError</strong></a>(<a href="oauth2client.multistore_file.html#Error">Error</a>)</font></td></tr>
+
+<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
+<td colspan=2><tt>The credential store is a newer version that supported.<br> </tt></td></tr>
+<tr><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="oauth2client.multistore_file.html#NewerCredentialStoreError">NewerCredentialStoreError</a></dd>
+<dd><a href="oauth2client.multistore_file.html#Error">Error</a></dd>
+<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
+<dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Data descriptors inherited from <a href="oauth2client.multistore_file.html#Error">Error</a>:<br>
+<dl><dt><strong>__weakref__</strong></dt>
+<dd><tt>list of weak references to the object (if defined)</tt></dd>
+</dl>
+<hr>
+Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
+<dl><dt><a name="NewerCredentialStoreError-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#NewerCredentialStoreError-__init__">__init__</a>(...) initializes x; see x.__class__.__doc__ for signature</tt></dd></dl>
+
+<hr>
+Data and other attributes inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
+<dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#NewerCredentialStoreError-__new__">__new__</a>(S, ...) -> a new object with type S, a subtype of T</tt></dl>
+
+<hr>
+Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
+<dl><dt><a name="NewerCredentialStoreError-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#NewerCredentialStoreError-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#NewerCredentialStoreError-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#NewerCredentialStoreError-__getitem__">__getitem__</a>(y) <==> x[y]</tt></dd></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#NewerCredentialStoreError-__getslice__">__getslice__</a>(i, j) <==> x[i:j]<br>
+ <br>
+Use of negative indices is not supported.</tt></dd></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#NewerCredentialStoreError-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#NewerCredentialStoreError-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#NewerCredentialStoreError-__str__">__str__</a>() <==> str(x)</tt></dd></dl>
+
+<dl><dt><a name="NewerCredentialStoreError-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl>
+
+<hr>
+Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br>
+<dl><dt><strong>__dict__</strong></dt>
+</dl>
+<dl><dt><strong>args</strong></dt>
+</dl>
+<dl><dt><strong>message</strong></dt>
+</dl>
+</td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#eeaa77">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
+
+<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt><a name="-get_credential_storage"><strong>get_credential_storage</strong></a>(filename, client_id, user_agent, scope, warn_on_readonly<font color="#909090">=True</font>)</dt><dd><tt>Get a Storage instance for a credential.<br>
+ <br>
+Args:<br>
+ filename: The JSON file storing a set of credentials<br>
+ client_id: The client_id for the credential<br>
+ user_agent: The user agent for the credential<br>
+ scope: A string for the scope being requested<br>
+ warn_on_readonly: if True, log a warning if the store is readonly<br>
+ <br>
+Returns:<br>
+ An object derived from client.Storage for getting/setting the<br>
+ credential.</tt></dd></dl>
+</td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#55aa55">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
+
+<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
+<td width="100%"><strong>__author__</strong> = 'jbeda@google.com (Joe Beda)'<br>
+<strong>logger</strong> = <logging.Logger instance></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#7799ee">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
+
+<tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td>
+<td width="100%">jbeda@google.com (Joe Beda)</td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/docs/oauth2client.tools.html b/docs/oauth2client.tools.html
index f12e779..9ae70c0 100644
--- a/docs/oauth2client.tools.html
+++ b/docs/oauth2client.tools.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="oauth2client.html"><font color="#ffffff">oauth2client</font></a>.tools</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/oauth2client/tools.py">/home/jcgregorio/projects/google-api-python-client/oauth2client/tools.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/tools.py">/usr/local/google/home/jcgregorio/projects/apiclient/oauth2client/tools.py</a></font></td></tr></table>
<p><tt>Command-line tools for authenticating via OAuth 2.0<br>
<br>
Do the OAuth 2.0 Web Server dance for a command line application. Stores the<br>
@@ -22,11 +22,10 @@
<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="BaseHTTPServer.html">BaseHTTPServer</a><br>
-<a href="gflags.html">gflags</a><br>
-</td><td width="25%" valign=top><a href="logging.html">logging</a><br>
-<a href="socket.html">socket</a><br>
+</td><td width="25%" valign=top><a href="gflags.html">gflags</a><br>
+</td><td width="25%" valign=top><a href="socket.html">socket</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom> <br>
diff --git a/docs/uritemplate.html b/docs/uritemplate.html
index 585f50e..4801a0a 100644
--- a/docs/uritemplate.html
+++ b/docs/uritemplate.html
@@ -8,7 +8,7 @@
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>uritemplate</strong></big></big></font></td
><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/google-api-python-client/uritemplate/__init__.py">/home/jcgregorio/projects/google-api-python-client/uritemplate/__init__.py</a></font></td></tr></table>
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/jcgregorio/projects/apiclient/uritemplate/__init__.py">/usr/local/google/home/jcgregorio/projects/apiclient/uritemplate/__init__.py</a></font></td></tr></table>
<p><tt># Early, and incomplete implementation of -04.<br>
#</tt></p>
<p>
diff --git a/setup.py b/setup.py
index db17fcb..87e54d9 100644
--- a/setup.py
+++ b/setup.py
@@ -64,7 +64,7 @@
accessing the Buzz, Moderator, and Latitude APIs."""
setup(name="google-api-python-client",
- version="1.0beta2",
+ version="1.0beta3",
description="Google API Client Library for Python",
long_description=long_desc,
author="Joe Gregorio",
diff --git a/setup_oauth2client.py b/setup_oauth2client.py
index ec87873..6090c1a 100644
--- a/setup_oauth2client.py
+++ b/setup_oauth2client.py
@@ -55,7 +55,7 @@
long_desc = """The oauth2client is a client library for OAuth 2.0."""
setup(name="oauth2client",
- version="1.0beta2",
+ version="1.0beta3",
description="OAuth 2.0 client library",
long_description=long_desc,
author="Joe Gregorio",