Refresh docs
diff --git a/docs/epy/apiclient.http.MediaIoBaseUpload-class.html b/docs/epy/apiclient.http.MediaIoBaseUpload-class.html
index 6b3f1ee..86501a5 100644
--- a/docs/epy/apiclient.http.MediaIoBaseUpload-class.html
+++ b/docs/epy/apiclient.http.MediaIoBaseUpload-class.html
@@ -56,8 +56,10 @@
 <h1 class="epydoc">Class MediaIoBaseUpload</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload">source&nbsp;code</a></span></p>
 <center>
 <center>  <map id="class_hierarchy_for_mediaiobas_2" name="class_hierarchy_for_mediaiobas_2">
-<area shape="rect" href="apiclient.http.MediaIoBaseUpload-class.html" title="MediaIoBaseUpload" alt="" coords="5,61,141,88"/>
-<area shape="rect" href="apiclient.http.MediaUpload-class.html" title="MediaUpload" alt="" coords="25,5,121,32"/>
+<area shape="rect" href="apiclient.http.MediaFileUpload-class.html" title="MediaFileUpload" alt="" coords="5,117,123,144"/>
+<area shape="rect" href="apiclient.http.MediaInMemoryUpload-class.html" title="MediaInMemoryUpload" alt="" coords="147,117,299,144"/>
+<area shape="rect" href="apiclient.http.MediaIoBaseUpload-class.html" title="MediaIoBaseUpload" alt="" coords="75,61,211,88"/>
+<area shape="rect" href="apiclient.http.MediaUpload-class.html" title="MediaUpload" alt="" coords="95,5,191,32"/>
 </map>
   <img src="class_hierarchy_for_mediaiobas_2.gif" alt='' usemap="#class_hierarchy_for_mediaiobas_2" ismap="ismap" class="graph-without-title" />
 </center>
@@ -77,6 +79,14 @@
       name='cow.png',
       media_body=media).execute()
 
+Depending on the platform you are working on, you may pass -1 as the
+chunksize, which indicates that the entire file should be uploaded in a single
+request. If the underlying platform supports streams, such as Python 2.6 or
+later, then this can be very efficient as it avoids multiple connections, and
+also avoids loading the entire file into memory before sending it. Note that
+Google App Engine has a 5MB limit on request size, so you should never set
+your chunksize larger than 5MB, or to -1.
+
 </pre>
 
 <!-- ==================== INSTANCE METHODS ==================== -->
@@ -102,14 +112,11 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">fd</span>,
-        <span class="summary-sig-arg">mimetype</span>,
-        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">524288</span>,
-        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">False</span>)</span><br />
+          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">*args</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
       Constructor.</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="oauth2client.util-pysrc.html">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -210,6 +217,40 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#has_stream" class="summary-sig-name">has_stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Does the underlying upload support a streaming interface.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.has_stream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#stream" class="summary-sig-name">stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      A stream interface to the data being uploaded.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.stream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td><span class="summary-sig"><a href="apiclient.http.MediaIoBaseUpload-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
       This upload type is not serializable.</td>
           <td align="right" valign="top">
@@ -318,15 +359,12 @@
 <tr><td>
   <table width="100%" cellpadding="0" cellspacing="0" border="0">
   <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">fd</span>,
-        <span class="sig-arg">mimetype</span>,
-        <span class="sig-arg">chunksize</span>=<span class="sig-default">524288</span>,
-        <span class="sig-arg">resumable</span>=<span class="sig-default">False</span>)</span>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">*args</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
     <br /><em class="fname">(Constructor)</em>
   </h3>
   </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.__init__">source&nbsp;code</a></span>&nbsp;
+    ><span class="codelink"><a href="oauth2client.util-pysrc.html">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
@@ -336,15 +374,23 @@
 Args:
   fd: io.Base or file object, The source of the bytes to upload. MUST be
     opened in blocking mode, do not use streams opened in non-blocking mode.
-  mimetype: string, Mime-type of the file. If None then a mime-type will be
-    guessed from the file extension.
+    The given stream must be seekable, that is, it must be able to call
+    seek() on fd.
+  mimetype: string, Mime-type of the file.
   chunksize: int, File will be uploaded in chunks of this many bytes. Only
-    used if resumable=True.
+    used if resumable=True. Pass in a value of -1 if the file is to be
+    uploaded as a single chunk. Note that Google App Engine has a 5MB limit
+    on request size, so you should never set your chunksize larger than 5MB,
+    or to -1.
   resumable: bool, True if this is a resumable upload. False means upload
     in a single request.
 
 </pre>
   <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(3)</code></li>
+    </ul></dd>
     <dt>Overrides:
         object.__init__
     </dt>
@@ -498,6 +544,67 @@
   </dl>
 </td></tr></table>
 </div>
+<a name="has_stream"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">has_stream</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.has_stream">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Does the underlying upload support a streaming interface.
+
+Streaming means it is an io.IOBase subclass that supports seek, i.e.
+seekable() returns True.
+
+Returns:
+  True if the call to stream() will return an instance of a seekable io.Base
+  subclass.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="apiclient.http.MediaUpload-class.html#has_stream">MediaUpload.has_stream</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="stream"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaIoBaseUpload.stream">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+A stream interface to the data being uploaded.
+
+Returns:
+  The returned value is an io.IOBase subclass that supports seek, i.e.
+  seekable() returns True.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="apiclient.http.MediaUpload-class.html#stream">MediaUpload.stream</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
 <a name="to_json"></a>
 <div>
 <table class="details" border="1" cellpadding="3"
@@ -547,7 +654,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Fri Aug  3 07:38:26 2012
+    Generated by Epydoc 3.0.1 on Fri Aug 24 11:02:03 2012
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"