blob: 62125e00d67112256f11374b015c2a04b730ebf3 [file] [log] [blame]
John Asmuth614db982014-04-24 15:46:26 -04001<?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>&nbsp;&nbsp;&nbsp;<a
19 href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21 <!-- Tree link -->
22 <th>&nbsp;&nbsp;&nbsp;<a
23 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25 <!-- Index link -->
26 <th>&nbsp;&nbsp;&nbsp;<a
27 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29 <!-- Help link -->
30 <th>&nbsp;&nbsp;&nbsp;<a
31 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</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&nbsp;googleapiclient</a> ::
41 <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
42 Class&nbsp;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&nbsp;private</a>]</span></td></tr>
50 <tr><td align="right"><span class="options"
51 >[<a href="frames.html" target="_top">frames</a
52 >]&nbsp;|&nbsp;<a href="googleapiclient.http.MediaIoBaseDownload-class.html"
53 target="_top">no&nbsp;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&nbsp;code</a></span></p>
60<center>
61<center> <map id="uml_class_diagram_for_googleap_27" name="uml_class_diagram_for_googleap_27">
62<area shape="rect" id="node73" href="googleapiclient.http.MediaIoBaseDownload-class.html#__init__" title="Constructor." alt="" coords="17,39,397,57"/>
63<area shape="rect" id="node73" href="googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk" title="Get the next chunk of the download." alt="" coords="17,57,397,76"/>
64<area shape="rect" id="node1" href="googleapiclient.http.MediaIoBaseDownload-class.html" title="&quot;Download media resources." alt="" coords="5,6,408,82"/>
65</map>
66 <img src="uml_class_diagram_for_googleap_27.gif" alt='' usemap="#uml_class_diagram_for_googleap_27" ismap="ismap" class="graph-without-title" />
67</center>
68</center>
69<hr />
70<pre class="literalblock">
71&quot;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 &quot;Download %d%%.&quot; % int(status.progress() * 100)
87 print &quot;Download Complete!&quot;
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">&nbsp;</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&nbsp;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">&nbsp;</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&nbsp;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&nbsp;code</a></span>&nbsp;
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&nbsp;code</a></span>&nbsp;
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 500's 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): (MediaDownloadStatus, boolean)
274 The value of 'done' will be True when the media has been fully
275 downloaded.
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>&nbsp;&nbsp;&nbsp;<a
297 href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
298
299 <!-- Tree link -->
300 <th>&nbsp;&nbsp;&nbsp;<a
301 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
302
303 <!-- Index link -->
304 <th>&nbsp;&nbsp;&nbsp;<a
305 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
306
307 <!-- Help link -->
308 <th>&nbsp;&nbsp;&nbsp;<a
309 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</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 Thu Apr 24 15:46:10 2014
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>