1<?xml version="1.0" encoding="ascii"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 3 "DTD/xhtml1-transitional.dtd"> 4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 5<head> 6 <title>googleapiclient.http.MediaIoBaseDownload</title> 7 <link rel="stylesheet" href="epydoc.css" type="text/css" /> 8 <script type="text/javascript" src="epydoc.js"></script> 9</head> 10 11<body bgcolor="white" text="black" link="blue" vlink="#204080" 12 alink="#204080"> 13<!-- ==================== NAVIGATION BAR ==================== --> 14<table class="navbar" border="0" width="100%" cellpadding="0" 15 bgcolor="#a0c0ff" cellspacing="0"> 16 <tr valign="middle"> 17 <!-- Home link --> 18 <th> <a 19 href="googleapiclient-module.html">Home</a> </th> 20 21 <!-- Tree link --> 22 <th> <a 23 href="module-tree.html">Trees</a> </th> 24 25 <!-- Index link --> 26 <th> <a 27 href="identifier-index.html">Indices</a> </th> 28 29 <!-- Help link --> 30 <th> <a 31 href="help.html">Help</a> </th> 32 33 <th class="navbar" width="100%"></th> 34 </tr> 35</table> 36<table width="100%" cellpadding="0" cellspacing="0"> 37 <tr valign="top"> 38 <td width="100%"> 39 <span class="breadcrumbs"> 40 <a href="googleapiclient-module.html">Package googleapiclient</a> :: 41 <a href="googleapiclient.http-module.html">Module http</a> :: 42 Class MediaIoBaseDownload 43 </span> 44 </td> 45 <td> 46 <table cellpadding="0" cellspacing="0"> 47 <!-- hide/show private --> 48 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" 49 onclick="toggle_private();">hide private</a>]</span></td></tr> 50 <tr><td align="right"><span class="options" 51 >[<a href="frames.html" target="_top">frames</a 52 >] | <a href="googleapiclient.http.MediaIoBaseDownload-class.html" 53 target="_top">no frames</a>]</span></td></tr> 54 </table> 55 </td> 56 </tr> 57</table> 58<!-- ==================== CLASS DESCRIPTION ==================== --> 59<h1 class="epydoc">Class MediaIoBaseDownload</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload">source code</a></span></p> 60<center> 61<center> <map id="uml_class_diagram_for_googleap_32" name="uml_class_diagram_for_googleap_32"> 62<area shape="rect" id="node1_2" href="googleapiclient.http.MediaIoBaseDownload-class.html#__init__" title="Constructor." alt="" coords="17,38,396,58"/> 63<area shape="rect" id="node1_3" href="googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk" title="Get the next chunk of the download." alt="" coords="17,58,396,78"/> 64<area shape="rect" id="node1" href="googleapiclient.http.MediaIoBaseDownload-class.html" title=""Download media resources." alt="" coords="5,5,408,84"/> 65</map> 66 <img src="uml_class_diagram_for_googleap_32.gif" alt='' usemap="#uml_class_diagram_for_googleap_32" ismap="ismap" class="graph-without-title" /> 67</center> 68</center> 69<hr /> 70<pre class="literalblock"> 71"Download media resources. 72 73Note that the Python file object is compatible with io.Base and can be used 74with this class also. 75 76 77Example: 78 request = farms.animals().get_media(id='cow') 79 fh = io.FileIO('cow.png', mode='wb') 80 downloader = MediaIoBaseDownload(fh, request, chunksize=1024*1024) 81 82 done = False 83 while done is False: 84 status, done = downloader.next_chunk() 85 if status: 86 print "Download %d%%." % int(status.progress() * 100) 87 print "Download Complete!" 88 89</pre> 90 91<!-- ==================== INSTANCE METHODS ==================== --> 92<a name="section-InstanceMethods"></a> 93<table class="summary" border="1" cellpadding="3" 94 cellspacing="0" width="100%" bgcolor="white"> 95<tr bgcolor="#70b0f0" class="table-header"> 96 <td colspan="2" class="table-header"> 97 <table border="0" cellpadding="0" cellspacing="0" width="100%"> 98 <tr valign="top"> 99 <td align="left"><span class="table-header">Instance Methods</span></td> 100 <td align="right" valign="top" 101 ><span class="options">[<a href="#section-InstanceMethods" 102 class="privatelink" onclick="toggle_private();" 103 >hide private</a>]</span></td> 104 </tr> 105 </table> 106 </td> 107</tr> 108<tr> 109 <td width="15%" align="right" valign="top" class="summary"> 110 <span class="summary-type"> </span> 111 </td><td class="summary"> 112 <table width="100%" cellpadding="0" cellspacing="0" border="0"> 113 <tr> 114 <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseDownload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, 115 <span class="summary-sig-arg">fd</span>, 116 <span class="summary-sig-arg">request</span>, 117 <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>)</span><br /> 118 Constructor.</td> 119 <td align="right" valign="top"> 120 <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload.__init__">source code</a></span> 121 122 </td> 123 </tr> 124 </table> 125 126 </td> 127 </tr> 128<tr> 129 <td width="15%" align="right" valign="top" class="summary"> 130 <span class="summary-type"> </span> 131 </td><td class="summary"> 132 <table width="100%" cellpadding="0" cellspacing="0" border="0"> 133 <tr> 134 <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk" class="summary-sig-name">next_chunk</a>(<span class="summary-sig-arg">self</span>, 135 <span class="summary-sig-arg">num_retries</span>=<span class="summary-sig-default">0</span>)</span><br /> 136 Get the next chunk of the download.</td> 137 <td align="right" valign="top"> 138 <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload.next_chunk">source code</a></span> 139 140 </td> 141 </tr> 142 </table> 143 144 </td> 145 </tr> 146 <tr> 147 <td colspan="2" class="summary"> 148 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: 149 <code>__delattr__</code>, 150 <code>__format__</code>, 151 <code>__getattribute__</code>, 152 <code>__hash__</code>, 153 <code>__new__</code>, 154 <code>__reduce__</code>, 155 <code>__reduce_ex__</code>, 156 <code>__repr__</code>, 157 <code>__setattr__</code>, 158 <code>__sizeof__</code>, 159 <code>__str__</code>, 160 <code>__subclasshook__</code> 161 </p> 162 </td> 163 </tr> 164</table> 165<!-- ==================== PROPERTIES ==================== --> 166<a name="section-Properties"></a> 167<table class="summary" border="1" cellpadding="3" 168 cellspacing="0" width="100%" bgcolor="white"> 169<tr bgcolor="#70b0f0" class="table-header"> 170 <td colspan="2" class="table-header"> 171 <table border="0" cellpadding="0" cellspacing="0" width="100%"> 172 <tr valign="top"> 173 <td align="left"><span class="table-header">Properties</span></td> 174 <td align="right" valign="top" 175 ><span class="options">[<a href="#section-Properties" 176 class="privatelink" onclick="toggle_private();" 177 >hide private</a>]</span></td> 178 </tr> 179 </table> 180 </td> 181</tr> 182 <tr> 183 <td colspan="2" class="summary"> 184 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: 185 <code>__class__</code> 186 </p> 187 </td> 188 </tr> 189</table> 190<!-- ==================== METHOD DETAILS ==================== --> 191<a name="section-MethodDetails"></a> 192<table class="details" border="1" cellpadding="3" 193 cellspacing="0" width="100%" bgcolor="white"> 194<tr bgcolor="#70b0f0" class="table-header"> 195 <td colspan="2" class="table-header"> 196 <table border="0" cellpadding="0" cellspacing="0" width="100%"> 197 <tr valign="top"> 198 <td align="left"><span class="table-header">Method Details</span></td> 199 <td align="right" valign="top" 200 ><span class="options">[<a href="#section-MethodDetails" 201 class="privatelink" onclick="toggle_private();" 202 >hide private</a>]</span></td> 203 </tr> 204 </table> 205 </td> 206</tr> 207</table> 208<a name="__init__"></a> 209<div> 210<table class="details" border="1" cellpadding="3" 211 cellspacing="0" width="100%" bgcolor="white"> 212<tr><td> 213 <table width="100%" cellpadding="0" cellspacing="0" border="0"> 214 <tr valign="top"><td> 215 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, 216 <span class="sig-arg">fd</span>, 217 <span class="sig-arg">request</span>, 218 <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>)</span> 219 <br /><em class="fname">(Constructor)</em> 220 </h3> 221 </td><td align="right" valign="top" 222 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload.__init__">source code</a></span> 223 </td> 224 </tr></table> 225 226 <pre class="literalblock"> 227Constructor. 228 229Args: 230 fd: io.Base or file object, The stream in which to write the downloaded 231 bytes. 232 request: googleapiclient.http.HttpRequest, the media request to perform in 233 chunks. 234 chunksize: int, File will be downloaded in chunks of this many bytes. 235 236</pre> 237 <dl class="fields"> 238 <dt>Decorators:</dt> 239 <dd><ul class="nomargin-top"> 240 <li><code>@util.positional(3)</code></li> 241 </ul></dd> 242 <dt>Overrides: 243 object.__init__ 244 </dt> 245 </dl> 246</td></tr></table> 247</div> 248<a name="next_chunk"></a> 249<div> 250<table class="details" border="1" cellpadding="3" 251 cellspacing="0" width="100%" bgcolor="white"> 252<tr><td> 253 <table width="100%" cellpadding="0" cellspacing="0" border="0"> 254 <tr valign="top"><td> 255 <h3 class="epydoc"><span class="sig"><span class="sig-name">next_chunk</span>(<span class="sig-arg">self</span>, 256 <span class="sig-arg">num_retries</span>=<span class="sig-default">0</span>)</span> 257 </h3> 258 </td><td align="right" valign="top" 259 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload.next_chunk">source code</a></span> 260 </td> 261 </tr></table> 262 263 <pre class="literalblock"> 264Get the next chunk of the download. 265 266Args: 267 num_retries: Integer, number of times to retry with randomized 268 exponential backoff. If all retries fail, the raised HttpError 269 represents the last request. If zero (default), we attempt the 270 request only once. 271 272Returns: 273 (status, done): (MediaDownloadProgress, boolean) 274 The value of 'done' will be True when the media has been fully 275 downloaded or the total size of the media is unknown. 276 277Raises: 278 googleapiclient.errors.HttpError if the response was not a 2xx. 279 httplib2.HttpLib2Error if a transport error has occured. 280 281</pre> 282 <dl class="fields"> 283 <dt>Decorators:</dt> 284 <dd><ul class="nomargin-top"> 285 <li><code>@util.positional(1)</code></li> 286 </ul></dd> 287 </dl> 288</td></tr></table> 289</div> 290<br /> 291<!-- ==================== NAVIGATION BAR ==================== --> 292<table class="navbar" border="0" width="100%" cellpadding="0" 293 bgcolor="#a0c0ff" cellspacing="0"> 294 <tr valign="middle"> 295 <!-- Home link --> 296 <th> <a 297 href="googleapiclient-module.html">Home</a> </th> 298 299 <!-- Tree link --> 300 <th> <a 301 href="module-tree.html">Trees</a> </th> 302 303 <!-- Index link --> 304 <th> <a 305 href="identifier-index.html">Indices</a> </th> 306 307 <!-- Help link --> 308 <th> <a 309 href="help.html">Help</a> </th> 310 311 <th class="navbar" width="100%"></th> 312 </tr> 313</table> 314<table border="0" cellpadding="0" cellspacing="0" width="100%%"> 315 <tr> 316 <td align="left" class="footer"> 317 Generated by Epydoc 3.0.1 on Fri Jun 14 15:57:28 2019 318 </td> 319 <td align="right" class="footer"> 320 <a target="mainFrame" href="http://epydoc.sourceforge.net" 321 >http://epydoc.sourceforge.net</a> 322 </td> 323 </tr> 324</table> 325 326<script type="text/javascript"> 327 <!-- 328 // Private objects are initially displayed (because if 329 // javascript is turned off then we want them to be 330 // visible); but by default, we want to hide them. So hide 331 // them unless we have a cookie that says to show them. 332 checkCookie(); 333 // --> 334</script> 335</body> 336</html> 337