Refresh docs
diff --git a/docs/epy/apiclient.http.MediaUpload-class.html b/docs/epy/apiclient.http.MediaUpload-class.html
index c34e1dc..c354cfd 100644
--- a/docs/epy/apiclient.http.MediaUpload-class.html
+++ b/docs/epy/apiclient.http.MediaUpload-class.html
@@ -56,10 +56,10 @@
 <h1 class="epydoc">Class MediaUpload</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload">source&nbsp;code</a></span></p>
 <center>
 <center>  <map id="class_hierarchy_for_mediauploa_2" name="class_hierarchy_for_mediauploa_2">
-<area shape="rect" href="apiclient.http.MediaFileUpload-class.html" title="MediaFileUpload" alt="" coords="5,61,123,88"/>
-<area shape="rect" href="apiclient.http.MediaInMemoryUpload-class.html" title="MediaInMemoryUpload" alt="" coords="147,61,299,88"/>
-<area shape="rect" href="apiclient.http.MediaIoBaseUpload-class.html" title="MediaIoBaseUpload" alt="" coords="323,61,459,88"/>
-<area shape="rect" href="apiclient.http.MediaUpload-class.html" title="MediaUpload" alt="" coords="175,5,271,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_mediauploa_2.gif" alt='' usemap="#class_hierarchy_for_mediauploa_2" ismap="ismap" class="graph-without-title" />
 </center>
@@ -71,12 +71,26 @@
 Base class that defines the interface of MediaUpload subclasses.
 
 Note that subclasses of MediaUpload may allow you to control the chunksize
-when upload a media object. It is important to keep the size of the chunk as
-large as possible to keep the upload efficient. Other factors may influence
+when uploading a media object. It is important to keep the size of the chunk
+as large as possible to keep the upload efficient. Other factors may influence
 the size of the chunk you use, particularly if you are working in an
 environment where individual HTTP requests may have a hardcoded time limit,
 such as under certain classes of requests under Google App Engine.
 
+Streams are io.Base compatible objects that support seek(). Some MediaUpload
+subclasses support using streams directly to upload data. Support for
+streaming may be indicated by a MediaUpload sub-class and if appropriate for a
+platform that stream will be used for uploading the media object. The support
+for streaming is indicated by has_stream() returning True. The stream() method
+should return an io.Base object that supports seek(). On platforms where the
+underlying httplib module supports streaming, for example Python 2.6 and
+later, the stream will be passed into the http library which will result in
+less memory being used and possibly faster uploads.
+
+If you need to upload media that can't be uploaded using any of the existing
+MediaUpload sub-class then you can sub-class MediaUpload for your particular
+needs.
+
 </pre>
 
 <!-- ==================== INSTANCE METHODS ==================== -->
@@ -183,17 +197,51 @@
       
     </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.MediaUpload-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#MediaUpload.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.MediaUpload-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#MediaUpload.stream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
 <tr class="private">
     <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.MediaUpload-class.html#_to_json" class="summary-sig-name" onclick="show_private();">_to_json</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">strip</span>=<span class="summary-sig-default">None</span>)</span><br />
+          <td><span class="summary-sig"><a href="apiclient.http.MediaUpload-class.html#_to_json" class="summary-sig-name" onclick="show_private();">_to_json</a>(<span class="summary-sig-arg">*args</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
       Utility function for creating a JSON representation of a MediaUpload.</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload._to_json">source&nbsp;code</a></span>
+            <span class="codelink"><a href="oauth2client.util-pysrc.html">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -450,6 +498,61 @@
   </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#MediaUpload.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">
+  </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#MediaUpload.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">
+  </dl>
+</td></tr></table>
+</div>
 <a name="_to_json"></a>
 <div class="private">
 <table class="details" border="1" cellpadding="3"
@@ -457,11 +560,11 @@
 <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">_to_json</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">strip</span>=<span class="sig-default">None</span>)</span>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_to_json</span>(<span class="sig-arg">*args</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
   </h3>
   </td><td align="right" valign="top"
-    ><span class="codelink"><a href="apiclient.http-pysrc.html#MediaUpload._to_json">source&nbsp;code</a></span>&nbsp;
+    ><span class="codelink"><a href="oauth2client.util-pysrc.html">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
@@ -477,6 +580,10 @@
 
 </pre>
   <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(1)</code></li>
+    </ul></dd>
   </dl>
 </td></tr></table>
 </div>
@@ -562,7 +669,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:27 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"