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.MediaUpload</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;MediaUpload
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.MediaUpload-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 MediaUpload</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload">source&nbsp;code</a></span></p>
60<pre class="base-tree">
61object --+
62         |
63        <strong class="uidshort">MediaUpload</strong>
64</pre>
65
66<dl><dt>Known Subclasses:</dt>
67<dd>
68      <ul class="subclass-list">
69<li><a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a></li>  </ul>
70</dd></dl>
71
72<hr />
73<p>Describes a media object to upload.</p>
74  <p>Base class that defines the interface of MediaUpload subclasses.</p>
75  <p>Note that subclasses of MediaUpload may allow you to control the
76  chunksize when uploading a media object. It is important to keep the size
77  of the chunk as large as possible to keep the upload efficient. Other
78  factors may influence the size of the chunk you use, particularly if you
79  are working in an environment where individual HTTP requests may have a
80  hardcoded time limit, such as under certain classes of requests under
81  Google App Engine.</p>
82  <p>Streams are io.Base compatible objects that support seek(). Some
83  MediaUpload subclasses support using streams directly to upload data.
84  Support for streaming may be indicated by a MediaUpload sub-class and if
85  appropriate for a platform that stream will be used for uploading the
86  media object. The support for streaming is indicated by has_stream()
87  returning True. The stream() method should return an io.Base object that
88  supports seek(). On platforms where the underlying httplib module
89  supports streaming, for example Python 2.6 and later, the stream will be
90  passed into the http library which will result in less memory being used
91  and possibly faster uploads.</p>
92  <p>If you need to upload media that can't be uploaded using any of the
93  existing MediaUpload sub-class then you can sub-class MediaUpload for
94  your particular needs.</p>
95
96<!-- ==================== INSTANCE METHODS ==================== -->
97<a name="section-InstanceMethods"></a>
98<table class="summary" border="1" cellpadding="3"
99       cellspacing="0" width="100%" bgcolor="white">
100<tr bgcolor="#70b0f0" class="table-header">
101  <td colspan="2" class="table-header">
102    <table border="0" cellpadding="0" cellspacing="0" width="100%">
103      <tr valign="top">
104        <td align="left"><span class="table-header">Instance Methods</span></td>
105        <td align="right" valign="top"
106         ><span class="options">[<a href="#section-InstanceMethods"
107         class="privatelink" onclick="toggle_private();"
108         >hide private</a>]</span></td>
109      </tr>
110    </table>
111  </td>
112</tr>
113<tr>
114    <td width="15%" align="right" valign="top" class="summary">
115      <span class="summary-type">&nbsp;</span>
116    </td><td class="summary">
117      <table width="100%" cellpadding="0" cellspacing="0" border="0">
118        <tr>
119          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#chunksize" class="summary-sig-name">chunksize</a>(<span class="summary-sig-arg">self</span>)</span><br />
120      Chunk size for resumable uploads.</td>
121          <td align="right" valign="top">
122            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.chunksize">source&nbsp;code</a></span>
123
124          </td>
125        </tr>
126      </table>
127
128    </td>
129  </tr>
130<tr>
131    <td width="15%" align="right" valign="top" class="summary">
132      <span class="summary-type">&nbsp;</span>
133    </td><td class="summary">
134      <table width="100%" cellpadding="0" cellspacing="0" border="0">
135        <tr>
136          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#mimetype" class="summary-sig-name">mimetype</a>(<span class="summary-sig-arg">self</span>)</span><br />
137      Mime type of the body.</td>
138          <td align="right" valign="top">
139            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.mimetype">source&nbsp;code</a></span>
140
141          </td>
142        </tr>
143      </table>
144
145    </td>
146  </tr>
147<tr>
148    <td width="15%" align="right" valign="top" class="summary">
149      <span class="summary-type">&nbsp;</span>
150    </td><td class="summary">
151      <table width="100%" cellpadding="0" cellspacing="0" border="0">
152        <tr>
153          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#size" class="summary-sig-name">size</a>(<span class="summary-sig-arg">self</span>)</span><br />
154      Size of upload.</td>
155          <td align="right" valign="top">
156            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.size">source&nbsp;code</a></span>
157
158          </td>
159        </tr>
160      </table>
161
162    </td>
163  </tr>
164<tr>
165    <td width="15%" align="right" valign="top" class="summary">
166      <span class="summary-type">&nbsp;</span>
167    </td><td class="summary">
168      <table width="100%" cellpadding="0" cellspacing="0" border="0">
169        <tr>
170          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#resumable" class="summary-sig-name">resumable</a>(<span class="summary-sig-arg">self</span>)</span><br />
171      Whether this upload is resumable.</td>
172          <td align="right" valign="top">
173            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.resumable">source&nbsp;code</a></span>
174
175          </td>
176        </tr>
177      </table>
178
179    </td>
180  </tr>
181<tr>
182    <td width="15%" align="right" valign="top" class="summary">
183      <span class="summary-type">&nbsp;</span>
184    </td><td class="summary">
185      <table width="100%" cellpadding="0" cellspacing="0" border="0">
186        <tr>
187          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#getbytes" class="summary-sig-name">getbytes</a>(<span class="summary-sig-arg">self</span>,
188        <span class="summary-sig-arg">begin</span>,
189        <span class="summary-sig-arg">end</span>)</span><br />
190      Get bytes from the media.</td>
191          <td align="right" valign="top">
192            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.getbytes">source&nbsp;code</a></span>
193
194          </td>
195        </tr>
196      </table>
197
198    </td>
199  </tr>
200<tr>
201    <td width="15%" align="right" valign="top" class="summary">
202      <span class="summary-type">&nbsp;</span>
203    </td><td class="summary">
204      <table width="100%" cellpadding="0" cellspacing="0" border="0">
205        <tr>
206          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#has_stream" class="summary-sig-name">has_stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
207      Does the underlying upload support a streaming interface.</td>
208          <td align="right" valign="top">
209            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.has_stream">source&nbsp;code</a></span>
210
211          </td>
212        </tr>
213      </table>
214
215    </td>
216  </tr>
217<tr>
218    <td width="15%" align="right" valign="top" class="summary">
219      <span class="summary-type">&nbsp;</span>
220    </td><td class="summary">
221      <table width="100%" cellpadding="0" cellspacing="0" border="0">
222        <tr>
223          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#stream" class="summary-sig-name">stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
224      A stream interface to the data being uploaded.</td>
225          <td align="right" valign="top">
226            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.stream">source&nbsp;code</a></span>
227
228          </td>
229        </tr>
230      </table>
231
232    </td>
233  </tr>
234<tr class="private">
235    <td width="15%" align="right" valign="top" class="summary">
236      <span class="summary-type">&nbsp;</span>
237    </td><td class="summary">
238      <table width="100%" cellpadding="0" cellspacing="0" border="0">
239        <tr>
240          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#_to_json" class="summary-sig-name" onclick="show_private();">_to_json</a>(<span class="summary-sig-arg">*args</span>,
241        <span class="summary-sig-arg">**kwargs</span>)</span><br />
242      Utility function for creating a JSON representation of a MediaUpload.</td>
243          <td align="right" valign="top">
244            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload._to_json">source&nbsp;code</a></span>
245
246          </td>
247        </tr>
248      </table>
249
250    </td>
251  </tr>
252<tr>
253    <td width="15%" align="right" valign="top" class="summary">
254      <span class="summary-type">&nbsp;</span>
255    </td><td class="summary">
256      <table width="100%" cellpadding="0" cellspacing="0" border="0">
257        <tr>
258          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
259      Create a JSON representation of an instance of MediaUpload.</td>
260          <td align="right" valign="top">
261            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.to_json">source&nbsp;code</a></span>
262
263          </td>
264        </tr>
265      </table>
266
267    </td>
268  </tr>
269  <tr>
270    <td colspan="2" class="summary">
271    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
272      <code>__delattr__</code>,
273      <code>__format__</code>,
274      <code>__getattribute__</code>,
275      <code>__hash__</code>,
276      <code>__init__</code>,
277      <code>__new__</code>,
278      <code>__reduce__</code>,
279      <code>__reduce_ex__</code>,
280      <code>__repr__</code>,
281      <code>__setattr__</code>,
282      <code>__sizeof__</code>,
283      <code>__str__</code>,
284      <code>__subclasshook__</code>
285      </p>
286    </td>
287  </tr>
288</table>
289<!-- ==================== CLASS METHODS ==================== -->
290<a name="section-ClassMethods"></a>
291<table class="summary" border="1" cellpadding="3"
292       cellspacing="0" width="100%" bgcolor="white">
293<tr bgcolor="#70b0f0" class="table-header">
294  <td colspan="2" class="table-header">
295    <table border="0" cellpadding="0" cellspacing="0" width="100%">
296      <tr valign="top">
297        <td align="left"><span class="table-header">Class Methods</span></td>
298        <td align="right" valign="top"
299         ><span class="options">[<a href="#section-ClassMethods"
300         class="privatelink" onclick="toggle_private();"
301         >hide private</a>]</span></td>
302      </tr>
303    </table>
304  </td>
305</tr>
306<tr>
307    <td width="15%" align="right" valign="top" class="summary">
308      <span class="summary-type">&nbsp;</span>
309    </td><td class="summary">
310      <table width="100%" cellpadding="0" cellspacing="0" border="0">
311        <tr>
312          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#new_from_json" class="summary-sig-name">new_from_json</a>(<span class="summary-sig-arg">cls</span>,
313        <span class="summary-sig-arg">s</span>)</span><br />
314      Utility class method to instantiate a MediaUpload subclass from a JSON
315representation produced by to_json().</td>
316          <td align="right" valign="top">
317            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.new_from_json">source&nbsp;code</a></span>
318
319          </td>
320        </tr>
321      </table>
322
323    </td>
324  </tr>
325</table>
326<!-- ==================== PROPERTIES ==================== -->
327<a name="section-Properties"></a>
328<table class="summary" border="1" cellpadding="3"
329       cellspacing="0" width="100%" bgcolor="white">
330<tr bgcolor="#70b0f0" class="table-header">
331  <td colspan="2" class="table-header">
332    <table border="0" cellpadding="0" cellspacing="0" width="100%">
333      <tr valign="top">
334        <td align="left"><span class="table-header">Properties</span></td>
335        <td align="right" valign="top"
336         ><span class="options">[<a href="#section-Properties"
337         class="privatelink" onclick="toggle_private();"
338         >hide private</a>]</span></td>
339      </tr>
340    </table>
341  </td>
342</tr>
343  <tr>
344    <td colspan="2" class="summary">
345    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
346      <code>__class__</code>
347      </p>
348    </td>
349  </tr>
350</table>
351<!-- ==================== METHOD DETAILS ==================== -->
352<a name="section-MethodDetails"></a>
353<table class="details" border="1" cellpadding="3"
354       cellspacing="0" width="100%" bgcolor="white">
355<tr bgcolor="#70b0f0" class="table-header">
356  <td colspan="2" class="table-header">
357    <table border="0" cellpadding="0" cellspacing="0" width="100%">
358      <tr valign="top">
359        <td align="left"><span class="table-header">Method Details</span></td>
360        <td align="right" valign="top"
361         ><span class="options">[<a href="#section-MethodDetails"
362         class="privatelink" onclick="toggle_private();"
363         >hide private</a>]</span></td>
364      </tr>
365    </table>
366  </td>
367</tr>
368</table>
369<a name="chunksize"></a>
370<div>
371<table class="details" border="1" cellpadding="3"
372       cellspacing="0" width="100%" bgcolor="white">
373<tr><td>
374  <table width="100%" cellpadding="0" cellspacing="0" border="0">
375  <tr valign="top"><td>
376  <h3 class="epydoc"><span class="sig"><span class="sig-name">chunksize</span>(<span class="sig-arg">self</span>)</span>
377  </h3>
378  </td><td align="right" valign="top"
379    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.chunksize">source&nbsp;code</a></span>&nbsp;
380    </td>
381  </tr></table>
382
383  <pre class="literalblock">
384Chunk size for resumable uploads.
385
386Returns:
387  Chunk size in bytes.
388
389</pre>
390  <dl class="fields">
391  </dl>
392</td></tr></table>
393</div>
394<a name="mimetype"></a>
395<div>
396<table class="details" border="1" cellpadding="3"
397       cellspacing="0" width="100%" bgcolor="white">
398<tr><td>
399  <table width="100%" cellpadding="0" cellspacing="0" border="0">
400  <tr valign="top"><td>
401  <h3 class="epydoc"><span class="sig"><span class="sig-name">mimetype</span>(<span class="sig-arg">self</span>)</span>
402  </h3>
403  </td><td align="right" valign="top"
404    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.mimetype">source&nbsp;code</a></span>&nbsp;
405    </td>
406  </tr></table>
407
408  <pre class="literalblock">
409Mime type of the body.
410
411Returns:
412  Mime type.
413
414</pre>
415  <dl class="fields">
416  </dl>
417</td></tr></table>
418</div>
419<a name="size"></a>
420<div>
421<table class="details" border="1" cellpadding="3"
422       cellspacing="0" width="100%" bgcolor="white">
423<tr><td>
424  <table width="100%" cellpadding="0" cellspacing="0" border="0">
425  <tr valign="top"><td>
426  <h3 class="epydoc"><span class="sig"><span class="sig-name">size</span>(<span class="sig-arg">self</span>)</span>
427  </h3>
428  </td><td align="right" valign="top"
429    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.size">source&nbsp;code</a></span>&nbsp;
430    </td>
431  </tr></table>
432
433  <pre class="literalblock">
434Size of upload.
435
436Returns:
437  Size of the body, or None of the size is unknown.
438
439</pre>
440  <dl class="fields">
441  </dl>
442</td></tr></table>
443</div>
444<a name="resumable"></a>
445<div>
446<table class="details" border="1" cellpadding="3"
447       cellspacing="0" width="100%" bgcolor="white">
448<tr><td>
449  <table width="100%" cellpadding="0" cellspacing="0" border="0">
450  <tr valign="top"><td>
451  <h3 class="epydoc"><span class="sig"><span class="sig-name">resumable</span>(<span class="sig-arg">self</span>)</span>
452  </h3>
453  </td><td align="right" valign="top"
454    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.resumable">source&nbsp;code</a></span>&nbsp;
455    </td>
456  </tr></table>
457
458  <pre class="literalblock">
459Whether this upload is resumable.
460
461Returns:
462  True if resumable upload or False.
463
464</pre>
465  <dl class="fields">
466  </dl>
467</td></tr></table>
468</div>
469<a name="getbytes"></a>
470<div>
471<table class="details" border="1" cellpadding="3"
472       cellspacing="0" width="100%" bgcolor="white">
473<tr><td>
474  <table width="100%" cellpadding="0" cellspacing="0" border="0">
475  <tr valign="top"><td>
476  <h3 class="epydoc"><span class="sig"><span class="sig-name">getbytes</span>(<span class="sig-arg">self</span>,
477        <span class="sig-arg">begin</span>,
478        <span class="sig-arg">end</span>)</span>
479  </h3>
480  </td><td align="right" valign="top"
481    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.getbytes">source&nbsp;code</a></span>&nbsp;
482    </td>
483  </tr></table>
484
485  <pre class="literalblock">
486Get bytes from the media.
487
488Args:
489  begin: int, offset from beginning of file.
490  length: int, number of bytes to read, starting at begin.
491
492Returns:
493  A string of bytes read. May be shorter than length if EOF was reached
494  first.
495
496</pre>
497  <dl class="fields">
498  </dl>
499</td></tr></table>
500</div>
501<a name="has_stream"></a>
502<div>
503<table class="details" border="1" cellpadding="3"
504       cellspacing="0" width="100%" bgcolor="white">
505<tr><td>
506  <table width="100%" cellpadding="0" cellspacing="0" border="0">
507  <tr valign="top"><td>
508  <h3 class="epydoc"><span class="sig"><span class="sig-name">has_stream</span>(<span class="sig-arg">self</span>)</span>
509  </h3>
510  </td><td align="right" valign="top"
511    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.has_stream">source&nbsp;code</a></span>&nbsp;
512    </td>
513  </tr></table>
514
515  <pre class="literalblock">
516Does the underlying upload support a streaming interface.
517
518Streaming means it is an io.IOBase subclass that supports seek, i.e.
519seekable() returns True.
520
521Returns:
522  True if the call to stream() will return an instance of a seekable io.Base
523  subclass.
524
525</pre>
526  <dl class="fields">
527  </dl>
528</td></tr></table>
529</div>
530<a name="stream"></a>
531<div>
532<table class="details" border="1" cellpadding="3"
533       cellspacing="0" width="100%" bgcolor="white">
534<tr><td>
535  <table width="100%" cellpadding="0" cellspacing="0" border="0">
536  <tr valign="top"><td>
537  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream</span>(<span class="sig-arg">self</span>)</span>
538  </h3>
539  </td><td align="right" valign="top"
540    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.stream">source&nbsp;code</a></span>&nbsp;
541    </td>
542  </tr></table>
543
544  <pre class="literalblock">
545A stream interface to the data being uploaded.
546
547Returns:
548  The returned value is an io.IOBase subclass that supports seek, i.e.
549  seekable() returns True.
550
551</pre>
552  <dl class="fields">
553  </dl>
554</td></tr></table>
555</div>
556<a name="_to_json"></a>
557<div class="private">
558<table class="details" border="1" cellpadding="3"
559       cellspacing="0" width="100%" bgcolor="white">
560<tr><td>
561  <table width="100%" cellpadding="0" cellspacing="0" border="0">
562  <tr valign="top"><td>
563  <h3 class="epydoc"><span class="sig"><span class="sig-name">_to_json</span>(<span class="sig-arg">*args</span>,
564        <span class="sig-arg">**kwargs</span>)</span>
565  </h3>
566  </td><td align="right" valign="top"
567    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload._to_json">source&nbsp;code</a></span>&nbsp;
568    </td>
569  </tr></table>
570
571  <pre class="literalblock">
572Utility function for creating a JSON representation of a MediaUpload.
573
574Args:
575  strip: array, An array of names of members to not include in the JSON.
576
577Returns:
578   string, a JSON representation of this instance, suitable to pass to
579   from_json().
580
581</pre>
582  <dl class="fields">
583    <dt>Decorators:</dt>
584    <dd><ul class="nomargin-top">
585        <li><code>@util.positional(1)</code></li>
586    </ul></dd>
587  </dl>
588</td></tr></table>
589</div>
590<a name="to_json"></a>
591<div>
592<table class="details" border="1" cellpadding="3"
593       cellspacing="0" width="100%" bgcolor="white">
594<tr><td>
595  <table width="100%" cellpadding="0" cellspacing="0" border="0">
596  <tr valign="top"><td>
597  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
598  </h3>
599  </td><td align="right" valign="top"
600    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.to_json">source&nbsp;code</a></span>&nbsp;
601    </td>
602  </tr></table>
603
604  <pre class="literalblock">
605Create a JSON representation of an instance of MediaUpload.
606
607Returns:
608   string, a JSON representation of this instance, suitable to pass to
609   from_json().
610
611</pre>
612  <dl class="fields">
613  </dl>
614</td></tr></table>
615</div>
616<a name="new_from_json"></a>
617<div>
618<table class="details" border="1" cellpadding="3"
619       cellspacing="0" width="100%" bgcolor="white">
620<tr><td>
621  <table width="100%" cellpadding="0" cellspacing="0" border="0">
622  <tr valign="top"><td>
623  <h3 class="epydoc"><span class="sig"><span class="sig-name">new_from_json</span>(<span class="sig-arg">cls</span>,
624        <span class="sig-arg">s</span>)</span>
625    <br /><em class="fname">Class Method</em>
626  </h3>
627  </td><td align="right" valign="top"
628    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.new_from_json">source&nbsp;code</a></span>&nbsp;
629    </td>
630  </tr></table>
631
632  <pre class="literalblock">
633Utility class method to instantiate a MediaUpload subclass from a JSON
634representation produced by to_json().
635
636Args:
637  s: string, JSON from to_json().
638
639Returns:
640  An instance of the subclass of MediaUpload that was serialized with
641  to_json().
642
643</pre>
644  <dl class="fields">
645  </dl>
646</td></tr></table>
647</div>
648<br />
649<!-- ==================== NAVIGATION BAR ==================== -->
650<table class="navbar" border="0" width="100%" cellpadding="0"
651       bgcolor="#a0c0ff" cellspacing="0">
652  <tr valign="middle">
653  <!-- Home link -->
654      <th>&nbsp;&nbsp;&nbsp;<a
655        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
656
657  <!-- Tree link -->
658      <th>&nbsp;&nbsp;&nbsp;<a
659        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
660
661  <!-- Index link -->
662      <th>&nbsp;&nbsp;&nbsp;<a
663        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
664
665  <!-- Help link -->
666      <th>&nbsp;&nbsp;&nbsp;<a
667        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
668
669      <th class="navbar" width="100%"></th>
670  </tr>
671</table>
672<table border="0" cellpadding="0" cellspacing="0" width="100%%">
673  <tr>
674    <td align="left" class="footer">
675    Generated by Epydoc 3.0.1 on Fri Oct  2 20:46:22 2020
676    </td>
677    <td align="right" class="footer">
678      <a target="mainFrame" href="http://epydoc.sourceforge.net"
679        >http://epydoc.sourceforge.net</a>
680    </td>
681  </tr>
682</table>
683
684<script type="text/javascript">
685  <!--
686  // Private objects are initially displayed (because if
687  // javascript is turned off then we want them to be
688  // visible); but by default, we want to hide them.  So hide
689  // them unless we have a cookie that says to show them.
690  checkCookie();
691  // -->
692</script>
693</body>
694</html>
695