blob: 8f06991ddf3bbfd65e9da150dcddefc62ed4c852 [file] [log] [blame]
Joe Gregorio30dfdc32010-12-09 16:34:22 -05001
2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
3<html><head><title>Python: module apiclient.http</title>
4</head><body bgcolor="#f0f0f8">
5
6<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
7<tr bgcolor="#7799ee">
8<td valign=bottom>&nbsp;<br>
9<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="apiclient.html"><font color="#ffffff">apiclient</font></a>.http</strong></big></big></font></td
10><td align=right valign=bottom
Joe Gregorio66212032012-06-14 09:10:14 -040011><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jcgregorio/projects/clean/apiclient/http.py">/home/jcgregorio/projects/clean/apiclient/http.py</a></font></td></tr></table>
Joe Gregorio30dfdc32010-12-09 16:34:22 -050012 <p><tt>Classes&nbsp;to&nbsp;encapsulate&nbsp;a&nbsp;single&nbsp;HTTP&nbsp;request.<br>
13&nbsp;<br>
14The&nbsp;classes&nbsp;implement&nbsp;a&nbsp;command&nbsp;pattern,&nbsp;with&nbsp;every<br>
15<a href="__builtin__.html#object">object</a>&nbsp;supporting&nbsp;an&nbsp;execute()&nbsp;method&nbsp;that&nbsp;does&nbsp;the<br>
16actuall&nbsp;HTTP&nbsp;request.</tt></p>
17<p>
18<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
Joe Gregorio6e537032011-02-09 23:04:26 -050019<tr bgcolor="#aa55cc">
20<td colspan=3 valign=bottom>&nbsp;<br>
21<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
22
23<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
Joe Gregoriob417caf2011-12-08 12:04:24 -050024<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="StringIO.html">StringIO</a><br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -050025<a href="base64.html">base64</a><br>
Joe Gregoriob417caf2011-12-08 12:04:24 -050026<a href="copy.html">copy</a><br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -050027</td><td width="25%" valign=top><a href="gzip.html">gzip</a><br>
28<a href="httplib2.html">httplib2</a><br>
Joe Gregoriob417caf2011-12-08 12:04:24 -050029<a href="apiclient.mimeparse.html">apiclient.mimeparse</a><br>
Joe Gregorio3d55ac52012-02-21 10:11:19 -050030</td><td width="25%" valign=top><a href="mimetypes.html">mimetypes</a><br>
31<a href="os.html">os</a><br>
32<a href="json.html">json</a><br>
33</td><td width="25%" valign=top><a href="urllib.html">urllib</a><br>
34<a href="urlparse.html">urlparse</a><br>
Joe Gregoriob417caf2011-12-08 12:04:24 -050035<a href="uuid.html">uuid</a><br>
36</td></tr></table></td></tr></table><p>
Joe Gregorio6e537032011-02-09 23:04:26 -050037<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
Joe Gregorio30dfdc32010-12-09 16:34:22 -050038<tr bgcolor="#ee77aa">
39<td colspan=3 valign=bottom>&nbsp;<br>
40<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
41
42<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
43<td width="100%"><dl>
44<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
45</font></dt><dd>
46<dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -040047<dt><font face="helvetica, arial"><a href="apiclient.http.html#BatchHttpRequest">BatchHttpRequest</a>
48</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#HttpMock">HttpMock</a>
49</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#HttpMockSequence">HttpMockSequence</a>
50</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#HttpRequest">HttpRequest</a>
51</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#HttpRequestMock">HttpRequestMock</a>
Joe Gregorioebd0b842012-06-15 14:14:17 -040052</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#MediaDownloadProgress">MediaDownloadProgress</a>
53</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#MediaIoBaseDownload">MediaIoBaseDownload</a>
Joe Gregoriod9d00902012-04-13 07:58:30 -040054</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#MediaUpload">MediaUpload</a>
55</font></dt><dd>
56<dl>
57<dt><font face="helvetica, arial"><a href="apiclient.http.html#MediaFileUpload">MediaFileUpload</a>
58</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#MediaInMemoryUpload">MediaInMemoryUpload</a>
Joe Gregorio66212032012-06-14 09:10:14 -040059</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#MediaIoBaseUpload">MediaIoBaseUpload</a>
Joe Gregoriod9d00902012-04-13 07:58:30 -040060</font></dt></dl>
61</dd>
62<dt><font face="helvetica, arial"><a href="apiclient.http.html#MediaUploadProgress">MediaUploadProgress</a>
Joe Gregorio30dfdc32010-12-09 16:34:22 -050063</font></dt><dt><font face="helvetica, arial"><a href="apiclient.http.html#RequestMockBuilder">RequestMockBuilder</a>
64</font></dt></dl>
65</dd>
66</dl>
67 <p>
68<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
69<tr bgcolor="#ffc8d8">
70<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -040071<font color="#000000" face="helvetica, arial"><a name="BatchHttpRequest">class <strong>BatchHttpRequest</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
72
73<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
Joe Gregorioebd0b842012-06-15 14:14:17 -040074<td colspan=2><tt>Batches&nbsp;multiple&nbsp;<a href="#HttpRequest">HttpRequest</a>&nbsp;objects&nbsp;into&nbsp;a&nbsp;single&nbsp;HTTP&nbsp;request.<br>
75&nbsp;<br>
76Example:<br>
77&nbsp;&nbsp;from&nbsp;apiclient.http&nbsp;import&nbsp;<a href="#BatchHttpRequest">BatchHttpRequest</a><br>
78&nbsp;<br>
79&nbsp;&nbsp;def&nbsp;list_animals(request_id,&nbsp;response):<br>
80&nbsp;&nbsp;&nbsp;&nbsp;"""Do&nbsp;something&nbsp;with&nbsp;the&nbsp;animals&nbsp;list&nbsp;response."""<br>
81&nbsp;&nbsp;&nbsp;&nbsp;pass<br>
82&nbsp;<br>
83&nbsp;&nbsp;def&nbsp;list_farmers(request_id,&nbsp;response):<br>
84&nbsp;&nbsp;&nbsp;&nbsp;"""Do&nbsp;something&nbsp;with&nbsp;the&nbsp;farmers&nbsp;list&nbsp;response."""<br>
85&nbsp;&nbsp;&nbsp;&nbsp;pass<br>
86&nbsp;<br>
87&nbsp;&nbsp;service&nbsp;=&nbsp;build('farm',&nbsp;'v2')<br>
88&nbsp;<br>
89&nbsp;&nbsp;batch&nbsp;=&nbsp;<a href="#BatchHttpRequest">BatchHttpRequest</a>()<br>
90&nbsp;<br>
91&nbsp;&nbsp;batch.<a href="#BatchHttpRequest-add">add</a>(service.animals().list(),&nbsp;list_animals)<br>
92&nbsp;&nbsp;batch.<a href="#BatchHttpRequest-add">add</a>(service.farmers().list(),&nbsp;list_farmers)<br>
93&nbsp;&nbsp;batch.<a href="#BatchHttpRequest-execute">execute</a>(http)<br>&nbsp;</tt></td></tr>
Joe Gregoriod9d00902012-04-13 07:58:30 -040094<tr><td>&nbsp;</td>
95<td width="100%">Methods defined here:<br>
96<dl><dt><a name="BatchHttpRequest-__init__"><strong>__init__</strong></a>(self, callback<font color="#909090">=None</font>, batch_uri<font color="#909090">=None</font>)</dt><dd><tt>Constructor&nbsp;for&nbsp;a&nbsp;<a href="#BatchHttpRequest">BatchHttpRequest</a>.<br>
97&nbsp;<br>
98Args:<br>
99&nbsp;&nbsp;callback:&nbsp;callable,&nbsp;A&nbsp;callback&nbsp;to&nbsp;be&nbsp;called&nbsp;for&nbsp;each&nbsp;response,&nbsp;of&nbsp;the<br>
100&nbsp;&nbsp;&nbsp;&nbsp;form&nbsp;callback(id,&nbsp;response).&nbsp;The&nbsp;first&nbsp;parameter&nbsp;is&nbsp;the&nbsp;request&nbsp;id,&nbsp;and<br>
101&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;second&nbsp;is&nbsp;the&nbsp;deserialized&nbsp;response&nbsp;<a href="__builtin__.html#object">object</a>.<br>
102&nbsp;&nbsp;batch_uri:&nbsp;string,&nbsp;URI&nbsp;to&nbsp;send&nbsp;batch&nbsp;requests&nbsp;to.</tt></dd></dl>
103
104<dl><dt><a name="BatchHttpRequest-add"><strong>add</strong></a>(self, request, callback<font color="#909090">=None</font>, request_id<font color="#909090">=None</font>)</dt><dd><tt>Add&nbsp;a&nbsp;new&nbsp;request.<br>
105&nbsp;<br>
106Every&nbsp;callback&nbsp;added&nbsp;will&nbsp;be&nbsp;paired&nbsp;with&nbsp;a&nbsp;unique&nbsp;id,&nbsp;the&nbsp;request_id.&nbsp;That<br>
107unique&nbsp;id&nbsp;will&nbsp;be&nbsp;passed&nbsp;back&nbsp;to&nbsp;the&nbsp;callback&nbsp;when&nbsp;the&nbsp;response&nbsp;comes&nbsp;back<br>
108from&nbsp;the&nbsp;server.&nbsp;The&nbsp;default&nbsp;behavior&nbsp;is&nbsp;to&nbsp;have&nbsp;the&nbsp;library&nbsp;generate&nbsp;it's<br>
109own&nbsp;unique&nbsp;id.&nbsp;If&nbsp;the&nbsp;caller&nbsp;passes&nbsp;in&nbsp;a&nbsp;request_id&nbsp;then&nbsp;they&nbsp;must&nbsp;ensure<br>
110uniqueness&nbsp;for&nbsp;each&nbsp;request_id,&nbsp;and&nbsp;if&nbsp;they&nbsp;are&nbsp;not&nbsp;an&nbsp;exception&nbsp;is<br>
111raised.&nbsp;Callers&nbsp;should&nbsp;either&nbsp;supply&nbsp;all&nbsp;request_ids&nbsp;or&nbsp;nevery&nbsp;supply&nbsp;a<br>
112request&nbsp;id,&nbsp;to&nbsp;avoid&nbsp;such&nbsp;an&nbsp;error.<br>
113&nbsp;<br>
114Args:<br>
115&nbsp;&nbsp;request:&nbsp;<a href="#HttpRequest">HttpRequest</a>,&nbsp;Request&nbsp;to&nbsp;add&nbsp;to&nbsp;the&nbsp;batch.<br>
116&nbsp;&nbsp;callback:&nbsp;callable,&nbsp;A&nbsp;callback&nbsp;to&nbsp;be&nbsp;called&nbsp;for&nbsp;this&nbsp;response,&nbsp;of&nbsp;the<br>
117&nbsp;&nbsp;&nbsp;&nbsp;form&nbsp;callback(id,&nbsp;response).&nbsp;The&nbsp;first&nbsp;parameter&nbsp;is&nbsp;the&nbsp;request&nbsp;id,&nbsp;and<br>
118&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;second&nbsp;is&nbsp;the&nbsp;deserialized&nbsp;response&nbsp;<a href="__builtin__.html#object">object</a>.<br>
119&nbsp;&nbsp;request_id:&nbsp;string,&nbsp;A&nbsp;unique&nbsp;id&nbsp;for&nbsp;the&nbsp;request.&nbsp;The&nbsp;id&nbsp;will&nbsp;be&nbsp;passed&nbsp;to<br>
120&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;callback&nbsp;with&nbsp;the&nbsp;response.<br>
121&nbsp;<br>
122Returns:<br>
123&nbsp;&nbsp;None<br>
124&nbsp;<br>
125Raises:<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400126&nbsp;&nbsp;BatchError&nbsp;if&nbsp;a&nbsp;media&nbsp;request&nbsp;is&nbsp;added&nbsp;to&nbsp;a&nbsp;batch.<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400127&nbsp;&nbsp;KeyError&nbsp;is&nbsp;the&nbsp;request_id&nbsp;is&nbsp;not&nbsp;unique.</tt></dd></dl>
128
129<dl><dt><a name="BatchHttpRequest-execute"><strong>execute</strong></a>(self, http<font color="#909090">=None</font>)</dt><dd><tt>Execute&nbsp;all&nbsp;the&nbsp;requests&nbsp;as&nbsp;a&nbsp;single&nbsp;batched&nbsp;HTTP&nbsp;request.<br>
130&nbsp;<br>
131Args:<br>
132&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;an&nbsp;http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;be&nbsp;used&nbsp;in&nbsp;place&nbsp;of&nbsp;the&nbsp;one&nbsp;the<br>
133&nbsp;&nbsp;&nbsp;&nbsp;<a href="#HttpRequest">HttpRequest</a>&nbsp;request&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;was&nbsp;constructed&nbsp;with.&nbsp;&nbsp;If&nbsp;one&nbsp;isn't&nbsp;supplied<br>
134&nbsp;&nbsp;&nbsp;&nbsp;then&nbsp;use&nbsp;a&nbsp;http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;from&nbsp;the&nbsp;requests&nbsp;in&nbsp;this&nbsp;batch.<br>
135&nbsp;<br>
136Returns:<br>
137&nbsp;&nbsp;None<br>
138&nbsp;<br>
139Raises:<br>
140&nbsp;&nbsp;httplib2.Error&nbsp;if&nbsp;a&nbsp;transport&nbsp;error&nbsp;has&nbsp;occured.<br>
141&nbsp;&nbsp;apiclient.errors.BatchError&nbsp;if&nbsp;the&nbsp;response&nbsp;is&nbsp;the&nbsp;wrong&nbsp;format.</tt></dd></dl>
142
143<hr>
144Data descriptors defined here:<br>
145<dl><dt><strong>__dict__</strong></dt>
146<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
147</dl>
148<dl><dt><strong>__weakref__</strong></dt>
149<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
150</dl>
151</td></tr></table> <p>
152<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
153<tr bgcolor="#ffc8d8">
154<td colspan=3 valign=bottom>&nbsp;<br>
155<font color="#000000" face="helvetica, arial"><a name="HttpMock">class <strong>HttpMock</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
156
157<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
158<td colspan=2><tt>Mock&nbsp;of&nbsp;httplib2.Http<br>&nbsp;</tt></td></tr>
159<tr><td>&nbsp;</td>
160<td width="100%">Methods defined here:<br>
161<dl><dt><a name="HttpMock-__init__"><strong>__init__</strong></a>(self, filename, headers<font color="#909090">=None</font>)</dt><dd><tt>Args:<br>
162&nbsp;&nbsp;filename:&nbsp;string,&nbsp;absolute&nbsp;filename&nbsp;to&nbsp;read&nbsp;response&nbsp;from<br>
163&nbsp;&nbsp;headers:&nbsp;dict,&nbsp;header&nbsp;to&nbsp;return&nbsp;with&nbsp;response</tt></dd></dl>
164
165<dl><dt><a name="HttpMock-request"><strong>request</strong></a>(self, uri, method<font color="#909090">='GET'</font>, body<font color="#909090">=None</font>, headers<font color="#909090">=None</font>, redirections<font color="#909090">=1</font>, connection_type<font color="#909090">=None</font>)</dt></dl>
166
167<hr>
168Data descriptors defined here:<br>
169<dl><dt><strong>__dict__</strong></dt>
170<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
171</dl>
172<dl><dt><strong>__weakref__</strong></dt>
173<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
174</dl>
175</td></tr></table> <p>
176<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
177<tr bgcolor="#ffc8d8">
178<td colspan=3 valign=bottom>&nbsp;<br>
179<font color="#000000" face="helvetica, arial"><a name="HttpMockSequence">class <strong>HttpMockSequence</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
180
181<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
182<td colspan=2><tt>Mock&nbsp;of&nbsp;httplib2.Http<br>
183&nbsp;<br>
184Mocks&nbsp;a&nbsp;sequence&nbsp;of&nbsp;calls&nbsp;to&nbsp;request&nbsp;returning&nbsp;different&nbsp;responses&nbsp;for&nbsp;each<br>
185call.&nbsp;Create&nbsp;an&nbsp;instance&nbsp;initialized&nbsp;with&nbsp;the&nbsp;desired&nbsp;response&nbsp;headers<br>
186and&nbsp;content&nbsp;and&nbsp;then&nbsp;use&nbsp;as&nbsp;if&nbsp;an&nbsp;httplib2.Http&nbsp;instance.<br>
187&nbsp;<br>
188&nbsp;&nbsp;http&nbsp;=&nbsp;<a href="#HttpMockSequence">HttpMockSequence</a>([<br>
189&nbsp;&nbsp;&nbsp;&nbsp;({'status':&nbsp;'401'},&nbsp;''),<br>
190&nbsp;&nbsp;&nbsp;&nbsp;({'status':&nbsp;'200'},&nbsp;'{"access_token":"1/3w","expires_in":3600}'),<br>
191&nbsp;&nbsp;&nbsp;&nbsp;({'status':&nbsp;'200'},&nbsp;'echo_request_headers'),<br>
192&nbsp;&nbsp;&nbsp;&nbsp;])<br>
193&nbsp;&nbsp;resp,&nbsp;content&nbsp;=&nbsp;http.<a href="#HttpMockSequence-request">request</a>("<a href="http://examples.com">http://examples.com</a>")<br>
194&nbsp;<br>
195There&nbsp;are&nbsp;special&nbsp;values&nbsp;you&nbsp;can&nbsp;pass&nbsp;in&nbsp;for&nbsp;content&nbsp;to&nbsp;trigger<br>
196behavours&nbsp;that&nbsp;are&nbsp;helpful&nbsp;in&nbsp;testing.<br>
197&nbsp;<br>
198'echo_request_headers'&nbsp;means&nbsp;return&nbsp;the&nbsp;request&nbsp;headers&nbsp;in&nbsp;the&nbsp;response&nbsp;body<br>
199'echo_request_headers_as_json'&nbsp;means&nbsp;return&nbsp;the&nbsp;request&nbsp;headers&nbsp;in<br>
200&nbsp;&nbsp;&nbsp;the&nbsp;response&nbsp;body<br>
201'echo_request_body'&nbsp;means&nbsp;return&nbsp;the&nbsp;request&nbsp;body&nbsp;in&nbsp;the&nbsp;response&nbsp;body<br>
202'echo_request_uri'&nbsp;means&nbsp;return&nbsp;the&nbsp;request&nbsp;uri&nbsp;in&nbsp;the&nbsp;response&nbsp;body<br>&nbsp;</tt></td></tr>
203<tr><td>&nbsp;</td>
204<td width="100%">Methods defined here:<br>
205<dl><dt><a name="HttpMockSequence-__init__"><strong>__init__</strong></a>(self, iterable)</dt><dd><tt>Args:<br>
206&nbsp;&nbsp;iterable:&nbsp;iterable,&nbsp;a&nbsp;sequence&nbsp;of&nbsp;pairs&nbsp;of&nbsp;(headers,&nbsp;body)</tt></dd></dl>
207
208<dl><dt><a name="HttpMockSequence-request"><strong>request</strong></a>(self, uri, method<font color="#909090">='GET'</font>, body<font color="#909090">=None</font>, headers<font color="#909090">=None</font>, redirections<font color="#909090">=1</font>, connection_type<font color="#909090">=None</font>)</dt></dl>
209
210<hr>
211Data descriptors defined here:<br>
212<dl><dt><strong>__dict__</strong></dt>
213<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
214</dl>
215<dl><dt><strong>__weakref__</strong></dt>
216<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
217</dl>
218</td></tr></table> <p>
219<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
220<tr bgcolor="#ffc8d8">
221<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500222<font color="#000000" face="helvetica, arial"><a name="HttpRequest">class <strong>HttpRequest</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
223
224<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
225<td colspan=2><tt>Encapsulates&nbsp;a&nbsp;single&nbsp;HTTP&nbsp;request.<br>&nbsp;</tt></td></tr>
226<tr><td>&nbsp;</td>
227<td width="100%">Methods defined here:<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500228<dl><dt><a name="HttpRequest-__init__"><strong>__init__</strong></a>(self, http, postproc, uri, method<font color="#909090">='GET'</font>, body<font color="#909090">=None</font>, headers<font color="#909090">=None</font>, methodId<font color="#909090">=None</font>, resumable<font color="#909090">=None</font>)</dt><dd><tt>Constructor&nbsp;for&nbsp;an&nbsp;<a href="#HttpRequest">HttpRequest</a>.<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500229&nbsp;<br>
230Args:<br>
231&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;the&nbsp;transport&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;use&nbsp;to&nbsp;make&nbsp;a&nbsp;request<br>
Joe Gregorioabda96f2011-02-11 20:19:33 -0500232&nbsp;&nbsp;postproc:&nbsp;callable,&nbsp;called&nbsp;on&nbsp;the&nbsp;HTTP&nbsp;response&nbsp;and&nbsp;content&nbsp;to&nbsp;transform<br>
233&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it&nbsp;into&nbsp;a&nbsp;data&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;before&nbsp;returning,&nbsp;or&nbsp;raising&nbsp;an&nbsp;exception<br>
234&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;an&nbsp;error.<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500235&nbsp;&nbsp;uri:&nbsp;string,&nbsp;the&nbsp;absolute&nbsp;URI&nbsp;to&nbsp;send&nbsp;the&nbsp;request&nbsp;to<br>
236&nbsp;&nbsp;method:&nbsp;string,&nbsp;the&nbsp;HTTP&nbsp;method&nbsp;to&nbsp;use<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500237&nbsp;&nbsp;body:&nbsp;string,&nbsp;the&nbsp;request&nbsp;body&nbsp;of&nbsp;the&nbsp;HTTP&nbsp;request,<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500238&nbsp;&nbsp;headers:&nbsp;dict,&nbsp;the&nbsp;HTTP&nbsp;request&nbsp;headers<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500239&nbsp;&nbsp;methodId:&nbsp;string,&nbsp;a&nbsp;unique&nbsp;identifier&nbsp;for&nbsp;the&nbsp;API&nbsp;method&nbsp;being&nbsp;called.<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400240&nbsp;&nbsp;resumable:&nbsp;<a href="#MediaUpload">MediaUpload</a>,&nbsp;None&nbsp;if&nbsp;this&nbsp;is&nbsp;not&nbsp;a&nbsp;resumbale&nbsp;request.</tt></dd></dl>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500241
242<dl><dt><a name="HttpRequest-execute"><strong>execute</strong></a>(self, http<font color="#909090">=None</font>)</dt><dd><tt>Execute&nbsp;the&nbsp;request.<br>
243&nbsp;<br>
244Args:<br>
245&nbsp;&nbsp;http:&nbsp;httplib2.Http,&nbsp;an&nbsp;http&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;be&nbsp;used&nbsp;in&nbsp;place&nbsp;of&nbsp;the<br>
246&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one&nbsp;the&nbsp;<a href="#HttpRequest">HttpRequest</a>&nbsp;request&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;was&nbsp;constructed&nbsp;with.<br>
247&nbsp;<br>
248Returns:<br>
249&nbsp;&nbsp;A&nbsp;deserialized&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;model&nbsp;of&nbsp;the&nbsp;response&nbsp;body&nbsp;as&nbsp;determined<br>
250&nbsp;&nbsp;by&nbsp;the&nbsp;postproc.<br>
251&nbsp;<br>
252Raises:<br>
253&nbsp;&nbsp;apiclient.errors.HttpError&nbsp;if&nbsp;the&nbsp;response&nbsp;was&nbsp;not&nbsp;a&nbsp;2xx.<br>
254&nbsp;&nbsp;httplib2.Error&nbsp;if&nbsp;a&nbsp;transport&nbsp;error&nbsp;has&nbsp;occured.</tt></dd></dl>
255
Joe Gregoriob417caf2011-12-08 12:04:24 -0500256<dl><dt><a name="HttpRequest-next_chunk"><strong>next_chunk</strong></a>(self, http<font color="#909090">=None</font>)</dt><dd><tt>Execute&nbsp;the&nbsp;next&nbsp;step&nbsp;of&nbsp;a&nbsp;resumable&nbsp;upload.<br>
257&nbsp;<br>
258Can&nbsp;only&nbsp;be&nbsp;used&nbsp;if&nbsp;the&nbsp;method&nbsp;being&nbsp;executed&nbsp;supports&nbsp;media&nbsp;uploads&nbsp;and<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400259the&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;passed&nbsp;in&nbsp;was&nbsp;flagged&nbsp;as&nbsp;using&nbsp;resumable&nbsp;upload.<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500260&nbsp;<br>
261Example:<br>
262&nbsp;<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400263&nbsp;&nbsp;media&nbsp;=&nbsp;<a href="#MediaFileUpload">MediaFileUpload</a>('cow.png',&nbsp;mimetype='image/png',<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500264&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chunksize=1000,&nbsp;resumable=True)<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400265&nbsp;&nbsp;request&nbsp;=&nbsp;farm.animals().insert(<br>
266&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id='cow',<br>
267&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name='cow.png',<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500268&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;media_body=media)<br>
269&nbsp;<br>
270&nbsp;&nbsp;response&nbsp;=&nbsp;None<br>
271&nbsp;&nbsp;while&nbsp;response&nbsp;is&nbsp;None:<br>
272&nbsp;&nbsp;&nbsp;&nbsp;status,&nbsp;response&nbsp;=&nbsp;request.<a href="#HttpRequest-next_chunk">next_chunk</a>()<br>
273&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;status:<br>
274&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"Upload&nbsp;%d%%&nbsp;complete."&nbsp;%&nbsp;int(status.progress()&nbsp;*&nbsp;100)<br>
275&nbsp;<br>
276&nbsp;<br>
277Returns:<br>
278&nbsp;&nbsp;(status,&nbsp;body):&nbsp;(ResumableMediaStatus,&nbsp;<a href="__builtin__.html#object">object</a>)<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400279&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;body&nbsp;will&nbsp;be&nbsp;None&nbsp;until&nbsp;the&nbsp;resumable&nbsp;media&nbsp;is&nbsp;fully&nbsp;uploaded.<br>
280&nbsp;<br>
281Raises:<br>
282&nbsp;&nbsp;apiclient.errors.HttpError&nbsp;if&nbsp;the&nbsp;response&nbsp;was&nbsp;not&nbsp;a&nbsp;2xx.<br>
283&nbsp;&nbsp;httplib2.Error&nbsp;if&nbsp;a&nbsp;transport&nbsp;error&nbsp;has&nbsp;occured.</tt></dd></dl>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500284
285<dl><dt><a name="HttpRequest-to_json"><strong>to_json</strong></a>(self)</dt><dd><tt>Returns&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;the&nbsp;<a href="#HttpRequest">HttpRequest</a>.</tt></dd></dl>
286
287<hr>
288Static methods defined here:<br>
289<dl><dt><a name="HttpRequest-from_json"><strong>from_json</strong></a>(s, http, postproc)</dt><dd><tt>Returns&nbsp;an&nbsp;<a href="#HttpRequest">HttpRequest</a>&nbsp;populated&nbsp;with&nbsp;info&nbsp;from&nbsp;a&nbsp;JSON&nbsp;<a href="__builtin__.html#object">object</a>.</tt></dd></dl>
290
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500291<hr>
292Data descriptors defined here:<br>
293<dl><dt><strong>__dict__</strong></dt>
294<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
295</dl>
296<dl><dt><strong>__weakref__</strong></dt>
297<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
298</dl>
299</td></tr></table> <p>
300<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
301<tr bgcolor="#ffc8d8">
302<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400303<font color="#000000" face="helvetica, arial"><a name="HttpRequestMock">class <strong>HttpRequestMock</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
304
305<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
306<td colspan=2><tt>Mock&nbsp;of&nbsp;<a href="#HttpRequest">HttpRequest</a>.<br>
307&nbsp;<br>
308Do&nbsp;not&nbsp;construct&nbsp;directly,&nbsp;instead&nbsp;use&nbsp;<a href="#RequestMockBuilder">RequestMockBuilder</a>.<br>&nbsp;</tt></td></tr>
309<tr><td>&nbsp;</td>
310<td width="100%">Methods defined here:<br>
311<dl><dt><a name="HttpRequestMock-__init__"><strong>__init__</strong></a>(self, resp, content, postproc)</dt><dd><tt>Constructor&nbsp;for&nbsp;<a href="#HttpRequestMock">HttpRequestMock</a><br>
312&nbsp;<br>
313Args:<br>
314&nbsp;&nbsp;resp:&nbsp;httplib2.Response,&nbsp;the&nbsp;response&nbsp;to&nbsp;emulate&nbsp;coming&nbsp;from&nbsp;the&nbsp;request<br>
315&nbsp;&nbsp;content:&nbsp;string,&nbsp;the&nbsp;response&nbsp;body<br>
316&nbsp;&nbsp;postproc:&nbsp;callable,&nbsp;the&nbsp;post&nbsp;processing&nbsp;function&nbsp;usually&nbsp;supplied&nbsp;by<br>
317&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;model&nbsp;class.&nbsp;See&nbsp;model.JsonModel.response()&nbsp;as&nbsp;an&nbsp;example.</tt></dd></dl>
318
319<dl><dt><a name="HttpRequestMock-execute"><strong>execute</strong></a>(self, http<font color="#909090">=None</font>)</dt><dd><tt>Execute&nbsp;the&nbsp;request.<br>
320&nbsp;<br>
321Same&nbsp;behavior&nbsp;as&nbsp;<a href="#HttpRequest">HttpRequest</a>.<a href="#HttpRequestMock-execute">execute</a>(),&nbsp;but&nbsp;the&nbsp;response&nbsp;is<br>
322mocked&nbsp;and&nbsp;not&nbsp;really&nbsp;from&nbsp;an&nbsp;HTTP&nbsp;request/response.</tt></dd></dl>
323
324<hr>
325Data descriptors defined here:<br>
326<dl><dt><strong>__dict__</strong></dt>
327<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
328</dl>
329<dl><dt><strong>__weakref__</strong></dt>
330<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
331</dl>
332</td></tr></table> <p>
333<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
334<tr bgcolor="#ffc8d8">
335<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400336<font color="#000000" face="helvetica, arial"><a name="MediaDownloadProgress">class <strong>MediaDownloadProgress</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
337
338<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
339<td colspan=2><tt>Status&nbsp;of&nbsp;a&nbsp;resumable&nbsp;download.<br>&nbsp;</tt></td></tr>
340<tr><td>&nbsp;</td>
341<td width="100%">Methods defined here:<br>
342<dl><dt><a name="MediaDownloadProgress-__init__"><strong>__init__</strong></a>(self, resumable_progress, total_size)</dt><dd><tt>Constructor.<br>
343&nbsp;<br>
344Args:<br>
345&nbsp;&nbsp;resumable_progress:&nbsp;int,&nbsp;bytes&nbsp;received&nbsp;so&nbsp;far.<br>
346&nbsp;&nbsp;total_size:&nbsp;int,&nbsp;total&nbsp;bytes&nbsp;in&nbsp;complete&nbsp;download.</tt></dd></dl>
347
348<dl><dt><a name="MediaDownloadProgress-progress"><strong>progress</strong></a>(self)</dt><dd><tt>Percent&nbsp;of&nbsp;download&nbsp;completed,&nbsp;as&nbsp;a&nbsp;float.<br>
349&nbsp;<br>
350Returns:<br>
351&nbsp;&nbsp;the&nbsp;percentage&nbsp;complete&nbsp;as&nbsp;a&nbsp;float,&nbsp;returning&nbsp;0.0&nbsp;if&nbsp;the&nbsp;total&nbsp;size&nbsp;of<br>
352&nbsp;&nbsp;the&nbsp;download&nbsp;is&nbsp;unknown.</tt></dd></dl>
353
354<hr>
355Data descriptors defined here:<br>
356<dl><dt><strong>__dict__</strong></dt>
357<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
358</dl>
359<dl><dt><strong>__weakref__</strong></dt>
360<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
361</dl>
362</td></tr></table> <p>
363<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
364<tr bgcolor="#ffc8d8">
365<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400366<font color="#000000" face="helvetica, arial"><a name="MediaFileUpload">class <strong>MediaFileUpload</strong></a>(<a href="apiclient.http.html#MediaUpload">MediaUpload</a>)</font></td></tr>
367
368<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
369<td colspan=2><tt>A&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;for&nbsp;a&nbsp;file.<br>
370&nbsp;<br>
371Construct&nbsp;a&nbsp;<a href="#MediaFileUpload">MediaFileUpload</a>&nbsp;and&nbsp;pass&nbsp;as&nbsp;the&nbsp;media_body&nbsp;parameter&nbsp;of&nbsp;the<br>
372method.&nbsp;For&nbsp;example,&nbsp;if&nbsp;we&nbsp;had&nbsp;a&nbsp;service&nbsp;that&nbsp;allowed&nbsp;uploading&nbsp;images:<br>
373&nbsp;<br>
374&nbsp;<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400375&nbsp;&nbsp;media&nbsp;=&nbsp;<a href="#MediaFileUpload">MediaFileUpload</a>('cow.png',&nbsp;mimetype='image/png',<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400376&nbsp;&nbsp;&nbsp;&nbsp;chunksize=1024*1024,&nbsp;resumable=True)<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400377&nbsp;&nbsp;farm.animals()..insert(<br>
378&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id='cow',<br>
379&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name='cow.png',<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400380&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;media_body=media).execute()<br>&nbsp;</tt></td></tr>
381<tr><td>&nbsp;</td>
382<td width="100%"><dl><dt>Method resolution order:</dt>
383<dd><a href="apiclient.http.html#MediaFileUpload">MediaFileUpload</a></dd>
384<dd><a href="apiclient.http.html#MediaUpload">MediaUpload</a></dd>
385<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
386</dl>
387<hr>
388Methods defined here:<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400389<dl><dt><a name="MediaFileUpload-__init__"><strong>__init__</strong></a>(self, filename, mimetype<font color="#909090">=None</font>, chunksize<font color="#909090">=524288</font>, resumable<font color="#909090">=False</font>)</dt><dd><tt>Constructor.<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400390&nbsp;<br>
391Args:<br>
392&nbsp;&nbsp;filename:&nbsp;string,&nbsp;Name&nbsp;of&nbsp;the&nbsp;file.<br>
393&nbsp;&nbsp;mimetype:&nbsp;string,&nbsp;Mime-type&nbsp;of&nbsp;the&nbsp;file.&nbsp;If&nbsp;None&nbsp;then&nbsp;a&nbsp;mime-type&nbsp;will&nbsp;be<br>
394&nbsp;&nbsp;&nbsp;&nbsp;guessed&nbsp;from&nbsp;the&nbsp;file&nbsp;extension.<br>
395&nbsp;&nbsp;chunksize:&nbsp;int,&nbsp;File&nbsp;will&nbsp;be&nbsp;uploaded&nbsp;in&nbsp;chunks&nbsp;of&nbsp;this&nbsp;many&nbsp;bytes.&nbsp;Only<br>
396&nbsp;&nbsp;&nbsp;&nbsp;used&nbsp;if&nbsp;resumable=True.<br>
397&nbsp;&nbsp;resumable:&nbsp;bool,&nbsp;True&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;resumable&nbsp;upload.&nbsp;False&nbsp;means&nbsp;upload<br>
398&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;a&nbsp;single&nbsp;request.</tt></dd></dl>
399
Joe Gregorio66212032012-06-14 09:10:14 -0400400<dl><dt><a name="MediaFileUpload-chunksize"><strong>chunksize</strong></a>(self)</dt><dd><tt>Chunk&nbsp;size&nbsp;for&nbsp;resumable&nbsp;uploads.<br>
401&nbsp;<br>
402Returns:<br>
403&nbsp;&nbsp;Chunk&nbsp;size&nbsp;in&nbsp;bytes.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400404
405<dl><dt><a name="MediaFileUpload-getbytes"><strong>getbytes</strong></a>(self, begin, length)</dt><dd><tt>Get&nbsp;bytes&nbsp;from&nbsp;the&nbsp;media.<br>
406&nbsp;<br>
407Args:<br>
408&nbsp;&nbsp;begin:&nbsp;int,&nbsp;offset&nbsp;from&nbsp;beginning&nbsp;of&nbsp;file.<br>
409&nbsp;&nbsp;length:&nbsp;int,&nbsp;number&nbsp;of&nbsp;bytes&nbsp;to&nbsp;read,&nbsp;starting&nbsp;at&nbsp;begin.<br>
410&nbsp;<br>
411Returns:<br>
412&nbsp;&nbsp;A&nbsp;string&nbsp;of&nbsp;bytes&nbsp;read.&nbsp;May&nbsp;be&nbsp;shorted&nbsp;than&nbsp;length&nbsp;if&nbsp;EOF&nbsp;was&nbsp;reached<br>
413&nbsp;&nbsp;first.</tt></dd></dl>
414
Joe Gregorio66212032012-06-14 09:10:14 -0400415<dl><dt><a name="MediaFileUpload-mimetype"><strong>mimetype</strong></a>(self)</dt><dd><tt>Mime&nbsp;type&nbsp;of&nbsp;the&nbsp;body.<br>
416&nbsp;<br>
417Returns:<br>
418&nbsp;&nbsp;Mime&nbsp;type.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400419
Joe Gregorio66212032012-06-14 09:10:14 -0400420<dl><dt><a name="MediaFileUpload-resumable"><strong>resumable</strong></a>(self)</dt><dd><tt>Whether&nbsp;this&nbsp;upload&nbsp;is&nbsp;resumable.<br>
421&nbsp;<br>
422Returns:<br>
423&nbsp;&nbsp;True&nbsp;if&nbsp;resumable&nbsp;upload&nbsp;or&nbsp;False.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400424
Joe Gregorio66212032012-06-14 09:10:14 -0400425<dl><dt><a name="MediaFileUpload-size"><strong>size</strong></a>(self)</dt><dd><tt>Size&nbsp;of&nbsp;upload.<br>
426&nbsp;<br>
427Returns:<br>
428&nbsp;&nbsp;Size&nbsp;of&nbsp;the&nbsp;body,&nbsp;or&nbsp;None&nbsp;of&nbsp;the&nbsp;size&nbsp;is&nbsp;unknown.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400429
Joe Gregorioebd0b842012-06-15 14:14:17 -0400430<dl><dt><a name="MediaFileUpload-to_json"><strong>to_json</strong></a>(self)</dt><dd><tt>Creating&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;an&nbsp;instance&nbsp;of&nbsp;<a href="#MediaFileUpload">MediaFileUpload</a>.<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400431&nbsp;<br>
432Returns:<br>
433&nbsp;&nbsp;&nbsp;string,&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;this&nbsp;instance,&nbsp;suitable&nbsp;to&nbsp;pass&nbsp;to<br>
434&nbsp;&nbsp;&nbsp;<a href="#MediaFileUpload-from_json">from_json</a>().</tt></dd></dl>
435
436<hr>
437Static methods defined here:<br>
438<dl><dt><a name="MediaFileUpload-from_json"><strong>from_json</strong></a>(s)</dt></dl>
439
440<hr>
441Class methods inherited from <a href="apiclient.http.html#MediaUpload">MediaUpload</a>:<br>
442<dl><dt><a name="MediaFileUpload-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
443representation&nbsp;produced&nbsp;by&nbsp;<a href="#MediaFileUpload-to_json">to_json</a>().<br>
444&nbsp;<br>
445Args:<br>
446&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#MediaFileUpload-to_json">to_json</a>().<br>
447&nbsp;<br>
448Returns:<br>
449&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
450&nbsp;&nbsp;<a href="#MediaFileUpload-to_json">to_json</a>().</tt></dd></dl>
451
452<hr>
453Data descriptors inherited from <a href="apiclient.http.html#MediaUpload">MediaUpload</a>:<br>
454<dl><dt><strong>__dict__</strong></dt>
455<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
456</dl>
457<dl><dt><strong>__weakref__</strong></dt>
458<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
459</dl>
460</td></tr></table> <p>
461<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
462<tr bgcolor="#ffc8d8">
463<td colspan=3 valign=bottom>&nbsp;<br>
464<font color="#000000" face="helvetica, arial"><a name="MediaInMemoryUpload">class <strong>MediaInMemoryUpload</strong></a>(<a href="apiclient.http.html#MediaUpload">MediaUpload</a>)</font></td></tr>
465
466<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
467<td colspan=2><tt><a href="#MediaUpload">MediaUpload</a>&nbsp;for&nbsp;a&nbsp;chunk&nbsp;of&nbsp;bytes.<br>
468&nbsp;<br>
469Construct&nbsp;a&nbsp;<a href="#MediaFileUpload">MediaFileUpload</a>&nbsp;and&nbsp;pass&nbsp;as&nbsp;the&nbsp;media_body&nbsp;parameter&nbsp;of&nbsp;the<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400470method.<br>&nbsp;</tt></td></tr>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400471<tr><td>&nbsp;</td>
472<td width="100%"><dl><dt>Method resolution order:</dt>
473<dd><a href="apiclient.http.html#MediaInMemoryUpload">MediaInMemoryUpload</a></dd>
474<dd><a href="apiclient.http.html#MediaUpload">MediaUpload</a></dd>
475<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
476</dl>
477<hr>
478Methods defined here:<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400479<dl><dt><a name="MediaInMemoryUpload-__init__"><strong>__init__</strong></a>(self, body, mimetype<font color="#909090">='application/octet-stream'</font>, chunksize<font color="#909090">=524288</font>, resumable<font color="#909090">=False</font>)</dt><dd><tt>Create&nbsp;a&nbsp;new&nbsp;MediaBytesUpload.<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400480&nbsp;<br>
481Args:<br>
482&nbsp;&nbsp;body:&nbsp;string,&nbsp;Bytes&nbsp;of&nbsp;body&nbsp;content.<br>
483&nbsp;&nbsp;mimetype:&nbsp;string,&nbsp;Mime-type&nbsp;of&nbsp;the&nbsp;file&nbsp;or&nbsp;default&nbsp;of<br>
484&nbsp;&nbsp;&nbsp;&nbsp;'application/octet-stream'.<br>
485&nbsp;&nbsp;chunksize:&nbsp;int,&nbsp;File&nbsp;will&nbsp;be&nbsp;uploaded&nbsp;in&nbsp;chunks&nbsp;of&nbsp;this&nbsp;many&nbsp;bytes.&nbsp;Only<br>
486&nbsp;&nbsp;&nbsp;&nbsp;used&nbsp;if&nbsp;resumable=True.<br>
487&nbsp;&nbsp;resumable:&nbsp;bool,&nbsp;True&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;resumable&nbsp;upload.&nbsp;False&nbsp;means&nbsp;upload<br>
488&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;a&nbsp;single&nbsp;request.</tt></dd></dl>
489
490<dl><dt><a name="MediaInMemoryUpload-chunksize"><strong>chunksize</strong></a>(self)</dt><dd><tt>Chunk&nbsp;size&nbsp;for&nbsp;resumable&nbsp;uploads.<br>
491&nbsp;<br>
492Returns:<br>
493&nbsp;&nbsp;Chunk&nbsp;size&nbsp;in&nbsp;bytes.</tt></dd></dl>
494
495<dl><dt><a name="MediaInMemoryUpload-getbytes"><strong>getbytes</strong></a>(self, begin, length)</dt><dd><tt>Get&nbsp;bytes&nbsp;from&nbsp;the&nbsp;media.<br>
496&nbsp;<br>
497Args:<br>
498&nbsp;&nbsp;begin:&nbsp;int,&nbsp;offset&nbsp;from&nbsp;beginning&nbsp;of&nbsp;file.<br>
499&nbsp;&nbsp;length:&nbsp;int,&nbsp;number&nbsp;of&nbsp;bytes&nbsp;to&nbsp;read,&nbsp;starting&nbsp;at&nbsp;begin.<br>
500&nbsp;<br>
501Returns:<br>
502&nbsp;&nbsp;A&nbsp;string&nbsp;of&nbsp;bytes&nbsp;read.&nbsp;May&nbsp;be&nbsp;shorter&nbsp;than&nbsp;length&nbsp;if&nbsp;EOF&nbsp;was&nbsp;reached<br>
503&nbsp;&nbsp;first.</tt></dd></dl>
504
505<dl><dt><a name="MediaInMemoryUpload-mimetype"><strong>mimetype</strong></a>(self)</dt><dd><tt>Mime&nbsp;type&nbsp;of&nbsp;the&nbsp;body.<br>
506&nbsp;<br>
507Returns:<br>
508&nbsp;&nbsp;Mime&nbsp;type.</tt></dd></dl>
509
510<dl><dt><a name="MediaInMemoryUpload-resumable"><strong>resumable</strong></a>(self)</dt><dd><tt>Whether&nbsp;this&nbsp;upload&nbsp;is&nbsp;resumable.<br>
511&nbsp;<br>
512Returns:<br>
513&nbsp;&nbsp;True&nbsp;if&nbsp;resumable&nbsp;upload&nbsp;or&nbsp;False.</tt></dd></dl>
514
515<dl><dt><a name="MediaInMemoryUpload-size"><strong>size</strong></a>(self)</dt><dd><tt>Size&nbsp;of&nbsp;upload.<br>
516&nbsp;<br>
517Returns:<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400518&nbsp;&nbsp;Size&nbsp;of&nbsp;the&nbsp;body,&nbsp;or&nbsp;None&nbsp;of&nbsp;the&nbsp;size&nbsp;is&nbsp;unknown.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400519
520<dl><dt><a name="MediaInMemoryUpload-to_json"><strong>to_json</strong></a>(self)</dt><dd><tt>Create&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;a&nbsp;<a href="#MediaInMemoryUpload">MediaInMemoryUpload</a>.<br>
521&nbsp;<br>
522Returns:<br>
523&nbsp;&nbsp;&nbsp;string,&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;this&nbsp;instance,&nbsp;suitable&nbsp;to&nbsp;pass&nbsp;to<br>
524&nbsp;&nbsp;&nbsp;<a href="#MediaInMemoryUpload-from_json">from_json</a>().</tt></dd></dl>
525
526<hr>
527Static methods defined here:<br>
528<dl><dt><a name="MediaInMemoryUpload-from_json"><strong>from_json</strong></a>(s)</dt></dl>
529
530<hr>
531Class methods inherited from <a href="apiclient.http.html#MediaUpload">MediaUpload</a>:<br>
532<dl><dt><a name="MediaInMemoryUpload-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
533representation&nbsp;produced&nbsp;by&nbsp;<a href="#MediaInMemoryUpload-to_json">to_json</a>().<br>
534&nbsp;<br>
535Args:<br>
536&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#MediaInMemoryUpload-to_json">to_json</a>().<br>
537&nbsp;<br>
538Returns:<br>
539&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
540&nbsp;&nbsp;<a href="#MediaInMemoryUpload-to_json">to_json</a>().</tt></dd></dl>
541
542<hr>
543Data descriptors inherited from <a href="apiclient.http.html#MediaUpload">MediaUpload</a>:<br>
544<dl><dt><strong>__dict__</strong></dt>
545<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
546</dl>
547<dl><dt><strong>__weakref__</strong></dt>
548<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
549</dl>
550</td></tr></table> <p>
551<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
552<tr bgcolor="#ffc8d8">
553<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400554<font color="#000000" face="helvetica, arial"><a name="MediaIoBaseDownload">class <strong>MediaIoBaseDownload</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
555
556<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
557<td colspan=2><tt>"Download&nbsp;media&nbsp;resources.<br>
558&nbsp;<br>
559Note&nbsp;that&nbsp;the&nbsp;Python&nbsp;file&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;is&nbsp;compatible&nbsp;with&nbsp;io.Base&nbsp;and&nbsp;can&nbsp;be&nbsp;used<br>
560with&nbsp;this&nbsp;class&nbsp;also.<br>
561&nbsp;<br>
562&nbsp;<br>
563Example:<br>
564&nbsp;&nbsp;request&nbsp;=&nbsp;farms.animals().get_media(id='cow')<br>
565&nbsp;&nbsp;fh&nbsp;=&nbsp;io.FileIO('cow.png',&nbsp;mode='wb')<br>
566&nbsp;&nbsp;downloader&nbsp;=&nbsp;<a href="#MediaIoBaseDownload">MediaIoBaseDownload</a>(fh,&nbsp;request,&nbsp;chunksize=1024*1024)<br>
567&nbsp;<br>
568&nbsp;&nbsp;done&nbsp;=&nbsp;False<br>
569&nbsp;&nbsp;while&nbsp;done&nbsp;is&nbsp;False:<br>
570&nbsp;&nbsp;&nbsp;&nbsp;status,&nbsp;done&nbsp;=&nbsp;downloader.<a href="#MediaIoBaseDownload-next_chunk">next_chunk</a>()<br>
571&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;status:<br>
572&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"Download&nbsp;%d%%."&nbsp;%&nbsp;int(status.progress()&nbsp;*&nbsp;100)<br>
573&nbsp;&nbsp;print&nbsp;"Download&nbsp;Complete!"<br>&nbsp;</tt></td></tr>
574<tr><td>&nbsp;</td>
575<td width="100%">Methods defined here:<br>
576<dl><dt><a name="MediaIoBaseDownload-__init__"><strong>__init__</strong></a>(self, fh, request, chunksize<font color="#909090">=524288</font>)</dt><dd><tt>Constructor.<br>
577&nbsp;<br>
578Args:<br>
579&nbsp;&nbsp;fh:&nbsp;io.Base&nbsp;or&nbsp;file&nbsp;<a href="__builtin__.html#object">object</a>,&nbsp;The&nbsp;stream&nbsp;in&nbsp;which&nbsp;to&nbsp;write&nbsp;the&nbsp;downloaded<br>
580&nbsp;&nbsp;&nbsp;&nbsp;bytes.<br>
581&nbsp;&nbsp;request:&nbsp;apiclient.http.<a href="#HttpRequest">HttpRequest</a>,&nbsp;the&nbsp;media&nbsp;request&nbsp;to&nbsp;perform&nbsp;in<br>
582&nbsp;&nbsp;&nbsp;&nbsp;chunks.<br>
583&nbsp;&nbsp;chunksize:&nbsp;int,&nbsp;File&nbsp;will&nbsp;be&nbsp;downloaded&nbsp;in&nbsp;chunks&nbsp;of&nbsp;this&nbsp;many&nbsp;bytes.</tt></dd></dl>
584
585<dl><dt><a name="MediaIoBaseDownload-next_chunk"><strong>next_chunk</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;next&nbsp;chunk&nbsp;of&nbsp;the&nbsp;download.<br>
586&nbsp;<br>
587Returns:<br>
588&nbsp;&nbsp;(status,&nbsp;done):&nbsp;(MediaDownloadStatus,&nbsp;boolean)<br>
589&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;value&nbsp;of&nbsp;'done'&nbsp;will&nbsp;be&nbsp;True&nbsp;when&nbsp;the&nbsp;media&nbsp;has&nbsp;been&nbsp;fully<br>
590&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downloaded.<br>
591&nbsp;<br>
592Raises:<br>
593&nbsp;&nbsp;apiclient.errors.HttpError&nbsp;if&nbsp;the&nbsp;response&nbsp;was&nbsp;not&nbsp;a&nbsp;2xx.<br>
594&nbsp;&nbsp;httplib2.Error&nbsp;if&nbsp;a&nbsp;transport&nbsp;error&nbsp;has&nbsp;occured.</tt></dd></dl>
595
596<hr>
597Data descriptors defined here:<br>
598<dl><dt><strong>__dict__</strong></dt>
599<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
600</dl>
601<dl><dt><strong>__weakref__</strong></dt>
602<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
603</dl>
604</td></tr></table> <p>
605<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
606<tr bgcolor="#ffc8d8">
607<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400608<font color="#000000" face="helvetica, arial"><a name="MediaIoBaseUpload">class <strong>MediaIoBaseUpload</strong></a>(<a href="apiclient.http.html#MediaUpload">MediaUpload</a>)</font></td></tr>
609
610<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
611<td colspan=2><tt>A&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;for&nbsp;a&nbsp;io.Base&nbsp;objects.<br>
612&nbsp;<br>
613Note&nbsp;that&nbsp;the&nbsp;Python&nbsp;file&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;is&nbsp;compatible&nbsp;with&nbsp;io.Base&nbsp;and&nbsp;can&nbsp;be&nbsp;used<br>
614with&nbsp;this&nbsp;class&nbsp;also.<br>
615&nbsp;<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400616&nbsp;&nbsp;fh&nbsp;=&nbsp;io.BytesIO('...Some&nbsp;data&nbsp;to&nbsp;upload...')<br>
617&nbsp;&nbsp;media&nbsp;=&nbsp;<a href="#MediaIoBaseUpload">MediaIoBaseUpload</a>(fh,&nbsp;mimetype='image/png',<br>
618&nbsp;&nbsp;&nbsp;&nbsp;chunksize=1024*1024,&nbsp;resumable=True)<br>
Joe Gregorioebd0b842012-06-15 14:14:17 -0400619&nbsp;&nbsp;farm.animals().insert(<br>
620&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id='cow',<br>
621&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name='cow.png',<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400622&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;media_body=media).execute()<br>&nbsp;</tt></td></tr>
623<tr><td>&nbsp;</td>
624<td width="100%"><dl><dt>Method resolution order:</dt>
625<dd><a href="apiclient.http.html#MediaIoBaseUpload">MediaIoBaseUpload</a></dd>
626<dd><a href="apiclient.http.html#MediaUpload">MediaUpload</a></dd>
627<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
628</dl>
629<hr>
630Methods defined here:<br>
631<dl><dt><a name="MediaIoBaseUpload-__init__"><strong>__init__</strong></a>(self, fh, mimetype, chunksize<font color="#909090">=524288</font>, resumable<font color="#909090">=False</font>)</dt><dd><tt>Constructor.<br>
632&nbsp;<br>
633Args:<br>
Joe Gregorio746096f2012-06-15 10:53:36 -0400634&nbsp;&nbsp;fh:&nbsp;io.Base&nbsp;or&nbsp;file&nbsp;<a href="__builtin__.html#object">object</a>,&nbsp;The&nbsp;source&nbsp;of&nbsp;the&nbsp;bytes&nbsp;to&nbsp;upload.&nbsp;MUST&nbsp;be<br>
635&nbsp;&nbsp;&nbsp;&nbsp;opened&nbsp;in&nbsp;blocking&nbsp;mode,&nbsp;do&nbsp;not&nbsp;use&nbsp;streams&nbsp;opened&nbsp;in&nbsp;non-blocking&nbsp;mode.<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400636&nbsp;&nbsp;mimetype:&nbsp;string,&nbsp;Mime-type&nbsp;of&nbsp;the&nbsp;file.&nbsp;If&nbsp;None&nbsp;then&nbsp;a&nbsp;mime-type&nbsp;will&nbsp;be<br>
637&nbsp;&nbsp;&nbsp;&nbsp;guessed&nbsp;from&nbsp;the&nbsp;file&nbsp;extension.<br>
638&nbsp;&nbsp;chunksize:&nbsp;int,&nbsp;File&nbsp;will&nbsp;be&nbsp;uploaded&nbsp;in&nbsp;chunks&nbsp;of&nbsp;this&nbsp;many&nbsp;bytes.&nbsp;Only<br>
639&nbsp;&nbsp;&nbsp;&nbsp;used&nbsp;if&nbsp;resumable=True.<br>
640&nbsp;&nbsp;resumable:&nbsp;bool,&nbsp;True&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;resumable&nbsp;upload.&nbsp;False&nbsp;means&nbsp;upload<br>
641&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;a&nbsp;single&nbsp;request.</tt></dd></dl>
642
643<dl><dt><a name="MediaIoBaseUpload-chunksize"><strong>chunksize</strong></a>(self)</dt><dd><tt>Chunk&nbsp;size&nbsp;for&nbsp;resumable&nbsp;uploads.<br>
644&nbsp;<br>
645Returns:<br>
646&nbsp;&nbsp;Chunk&nbsp;size&nbsp;in&nbsp;bytes.</tt></dd></dl>
647
648<dl><dt><a name="MediaIoBaseUpload-getbytes"><strong>getbytes</strong></a>(self, begin, length)</dt><dd><tt>Get&nbsp;bytes&nbsp;from&nbsp;the&nbsp;media.<br>
649&nbsp;<br>
650Args:<br>
651&nbsp;&nbsp;begin:&nbsp;int,&nbsp;offset&nbsp;from&nbsp;beginning&nbsp;of&nbsp;file.<br>
652&nbsp;&nbsp;length:&nbsp;int,&nbsp;number&nbsp;of&nbsp;bytes&nbsp;to&nbsp;read,&nbsp;starting&nbsp;at&nbsp;begin.<br>
653&nbsp;<br>
654Returns:<br>
655&nbsp;&nbsp;A&nbsp;string&nbsp;of&nbsp;bytes&nbsp;read.&nbsp;May&nbsp;be&nbsp;shorted&nbsp;than&nbsp;length&nbsp;if&nbsp;EOF&nbsp;was&nbsp;reached<br>
656&nbsp;&nbsp;first.</tt></dd></dl>
657
658<dl><dt><a name="MediaIoBaseUpload-mimetype"><strong>mimetype</strong></a>(self)</dt><dd><tt>Mime&nbsp;type&nbsp;of&nbsp;the&nbsp;body.<br>
659&nbsp;<br>
660Returns:<br>
661&nbsp;&nbsp;Mime&nbsp;type.</tt></dd></dl>
662
663<dl><dt><a name="MediaIoBaseUpload-resumable"><strong>resumable</strong></a>(self)</dt><dd><tt>Whether&nbsp;this&nbsp;upload&nbsp;is&nbsp;resumable.<br>
664&nbsp;<br>
665Returns:<br>
666&nbsp;&nbsp;True&nbsp;if&nbsp;resumable&nbsp;upload&nbsp;or&nbsp;False.</tt></dd></dl>
667
668<dl><dt><a name="MediaIoBaseUpload-size"><strong>size</strong></a>(self)</dt><dd><tt>Size&nbsp;of&nbsp;upload.<br>
669&nbsp;<br>
670Returns:<br>
671&nbsp;&nbsp;Size&nbsp;of&nbsp;the&nbsp;body,&nbsp;or&nbsp;None&nbsp;of&nbsp;the&nbsp;size&nbsp;is&nbsp;unknown.</tt></dd></dl>
672
673<dl><dt><a name="MediaIoBaseUpload-to_json"><strong>to_json</strong></a>(self)</dt><dd><tt>This&nbsp;upload&nbsp;type&nbsp;is&nbsp;not&nbsp;serializable.</tt></dd></dl>
674
675<hr>
676Class methods inherited from <a href="apiclient.http.html#MediaUpload">MediaUpload</a>:<br>
677<dl><dt><a name="MediaIoBaseUpload-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
678representation&nbsp;produced&nbsp;by&nbsp;<a href="#MediaIoBaseUpload-to_json">to_json</a>().<br>
679&nbsp;<br>
680Args:<br>
681&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#MediaIoBaseUpload-to_json">to_json</a>().<br>
682&nbsp;<br>
683Returns:<br>
684&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
685&nbsp;&nbsp;<a href="#MediaIoBaseUpload-to_json">to_json</a>().</tt></dd></dl>
686
687<hr>
688Data descriptors inherited from <a href="apiclient.http.html#MediaUpload">MediaUpload</a>:<br>
689<dl><dt><strong>__dict__</strong></dt>
690<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
691</dl>
692<dl><dt><strong>__weakref__</strong></dt>
693<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
694</dl>
695</td></tr></table> <p>
696<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
697<tr bgcolor="#ffc8d8">
698<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400699<font color="#000000" face="helvetica, arial"><a name="MediaUpload">class <strong>MediaUpload</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
700
701<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
702<td colspan=2><tt>Describes&nbsp;a&nbsp;media&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;to&nbsp;upload.<br>
703&nbsp;<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400704Base&nbsp;class&nbsp;that&nbsp;defines&nbsp;the&nbsp;interface&nbsp;of&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;subclasses.<br>
705&nbsp;<br>
706Note&nbsp;that&nbsp;subclasses&nbsp;of&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;may&nbsp;allow&nbsp;you&nbsp;to&nbsp;control&nbsp;the&nbsp;chunksize<br>
707when&nbsp;upload&nbsp;a&nbsp;media&nbsp;<a href="__builtin__.html#object">object</a>.&nbsp;It&nbsp;is&nbsp;important&nbsp;to&nbsp;keep&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;chunk&nbsp;as<br>
708large&nbsp;as&nbsp;possible&nbsp;to&nbsp;keep&nbsp;the&nbsp;upload&nbsp;efficient.&nbsp;Other&nbsp;factors&nbsp;may&nbsp;influence<br>
709the&nbsp;size&nbsp;of&nbsp;the&nbsp;chunk&nbsp;you&nbsp;use,&nbsp;particularly&nbsp;if&nbsp;you&nbsp;are&nbsp;working&nbsp;in&nbsp;an<br>
710environment&nbsp;where&nbsp;individual&nbsp;HTTP&nbsp;requests&nbsp;may&nbsp;have&nbsp;a&nbsp;hardcoded&nbsp;time&nbsp;limit,<br>
711such&nbsp;as&nbsp;under&nbsp;certain&nbsp;classes&nbsp;of&nbsp;requests&nbsp;under&nbsp;Google&nbsp;App&nbsp;Engine.<br>&nbsp;</tt></td></tr>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400712<tr><td>&nbsp;</td>
713<td width="100%">Methods defined here:<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400714<dl><dt><a name="MediaUpload-chunksize"><strong>chunksize</strong></a>(self)</dt><dd><tt>Chunk&nbsp;size&nbsp;for&nbsp;resumable&nbsp;uploads.<br>
715&nbsp;<br>
716Returns:<br>
717&nbsp;&nbsp;Chunk&nbsp;size&nbsp;in&nbsp;bytes.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400718
Joe Gregorio66212032012-06-14 09:10:14 -0400719<dl><dt><a name="MediaUpload-getbytes"><strong>getbytes</strong></a>(self, begin, end)</dt><dd><tt>Get&nbsp;bytes&nbsp;from&nbsp;the&nbsp;media.<br>
720&nbsp;<br>
721Args:<br>
722&nbsp;&nbsp;begin:&nbsp;int,&nbsp;offset&nbsp;from&nbsp;beginning&nbsp;of&nbsp;file.<br>
723&nbsp;&nbsp;length:&nbsp;int,&nbsp;number&nbsp;of&nbsp;bytes&nbsp;to&nbsp;read,&nbsp;starting&nbsp;at&nbsp;begin.<br>
724&nbsp;<br>
725Returns:<br>
726&nbsp;&nbsp;A&nbsp;string&nbsp;of&nbsp;bytes&nbsp;read.&nbsp;May&nbsp;be&nbsp;shorter&nbsp;than&nbsp;length&nbsp;if&nbsp;EOF&nbsp;was&nbsp;reached<br>
727&nbsp;&nbsp;first.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400728
Joe Gregorio66212032012-06-14 09:10:14 -0400729<dl><dt><a name="MediaUpload-mimetype"><strong>mimetype</strong></a>(self)</dt><dd><tt>Mime&nbsp;type&nbsp;of&nbsp;the&nbsp;body.<br>
730&nbsp;<br>
731Returns:<br>
732&nbsp;&nbsp;Mime&nbsp;type.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400733
Joe Gregorio66212032012-06-14 09:10:14 -0400734<dl><dt><a name="MediaUpload-resumable"><strong>resumable</strong></a>(self)</dt><dd><tt>Whether&nbsp;this&nbsp;upload&nbsp;is&nbsp;resumable.<br>
735&nbsp;<br>
736Returns:<br>
737&nbsp;&nbsp;True&nbsp;if&nbsp;resumable&nbsp;upload&nbsp;or&nbsp;False.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400738
Joe Gregorio66212032012-06-14 09:10:14 -0400739<dl><dt><a name="MediaUpload-size"><strong>size</strong></a>(self)</dt><dd><tt>Size&nbsp;of&nbsp;upload.<br>
740&nbsp;<br>
741Returns:<br>
742&nbsp;&nbsp;Size&nbsp;of&nbsp;the&nbsp;body,&nbsp;or&nbsp;None&nbsp;of&nbsp;the&nbsp;size&nbsp;is&nbsp;unknown.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400743
744<dl><dt><a name="MediaUpload-to_json"><strong>to_json</strong></a>(self)</dt><dd><tt>Create&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;an&nbsp;instance&nbsp;of&nbsp;<a href="#MediaUpload">MediaUpload</a>.<br>
745&nbsp;<br>
746Returns:<br>
747&nbsp;&nbsp;&nbsp;string,&nbsp;a&nbsp;JSON&nbsp;representation&nbsp;of&nbsp;this&nbsp;instance,&nbsp;suitable&nbsp;to&nbsp;pass&nbsp;to<br>
748&nbsp;&nbsp;&nbsp;from_json().</tt></dd></dl>
749
750<hr>
751Class methods defined here:<br>
752<dl><dt><a name="MediaUpload-new_from_json"><strong>new_from_json</strong></a>(cls, s)<font color="#909090"><font face="helvetica, arial"> from <a href="__builtin__.html#type">__builtin__.type</a></font></font></dt><dd><tt>Utility&nbsp;class&nbsp;method&nbsp;to&nbsp;instantiate&nbsp;a&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;subclass&nbsp;from&nbsp;a&nbsp;JSON<br>
753representation&nbsp;produced&nbsp;by&nbsp;<a href="#MediaUpload-to_json">to_json</a>().<br>
754&nbsp;<br>
755Args:<br>
756&nbsp;&nbsp;s:&nbsp;string,&nbsp;JSON&nbsp;from&nbsp;<a href="#MediaUpload-to_json">to_json</a>().<br>
757&nbsp;<br>
758Returns:<br>
759&nbsp;&nbsp;An&nbsp;instance&nbsp;of&nbsp;the&nbsp;subclass&nbsp;of&nbsp;<a href="#MediaUpload">MediaUpload</a>&nbsp;that&nbsp;was&nbsp;serialized&nbsp;with<br>
760&nbsp;&nbsp;<a href="#MediaUpload-to_json">to_json</a>().</tt></dd></dl>
761
762<hr>
763Data descriptors defined here:<br>
764<dl><dt><strong>__dict__</strong></dt>
765<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
766</dl>
767<dl><dt><strong>__weakref__</strong></dt>
768<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
769</dl>
770</td></tr></table> <p>
771<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
772<tr bgcolor="#ffc8d8">
773<td colspan=3 valign=bottom>&nbsp;<br>
774<font color="#000000" face="helvetica, arial"><a name="MediaUploadProgress">class <strong>MediaUploadProgress</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
775
776<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
777<td colspan=2><tt>Status&nbsp;of&nbsp;a&nbsp;resumable&nbsp;upload.<br>&nbsp;</tt></td></tr>
778<tr><td>&nbsp;</td>
779<td width="100%">Methods defined here:<br>
780<dl><dt><a name="MediaUploadProgress-__init__"><strong>__init__</strong></a>(self, resumable_progress, total_size)</dt><dd><tt>Constructor.<br>
781&nbsp;<br>
782Args:<br>
783&nbsp;&nbsp;resumable_progress:&nbsp;int,&nbsp;bytes&nbsp;sent&nbsp;so&nbsp;far.<br>
Joe Gregorio66212032012-06-14 09:10:14 -0400784&nbsp;&nbsp;total_size:&nbsp;int,&nbsp;total&nbsp;bytes&nbsp;in&nbsp;complete&nbsp;upload,&nbsp;or&nbsp;None&nbsp;if&nbsp;the&nbsp;total<br>
785&nbsp;&nbsp;&nbsp;&nbsp;upload&nbsp;size&nbsp;isn't&nbsp;known&nbsp;ahead&nbsp;of&nbsp;time.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400786
Joe Gregorio66212032012-06-14 09:10:14 -0400787<dl><dt><a name="MediaUploadProgress-progress"><strong>progress</strong></a>(self)</dt><dd><tt>Percent&nbsp;of&nbsp;upload&nbsp;completed,&nbsp;as&nbsp;a&nbsp;float.<br>
788&nbsp;<br>
789Returns:<br>
790&nbsp;&nbsp;the&nbsp;percentage&nbsp;complete&nbsp;as&nbsp;a&nbsp;float,&nbsp;returning&nbsp;0.0&nbsp;if&nbsp;the&nbsp;total&nbsp;size&nbsp;of<br>
791&nbsp;&nbsp;the&nbsp;upload&nbsp;is&nbsp;unknown.</tt></dd></dl>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400792
793<hr>
794Data descriptors defined here:<br>
795<dl><dt><strong>__dict__</strong></dt>
796<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
797</dl>
798<dl><dt><strong>__weakref__</strong></dt>
799<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
800</dl>
801</td></tr></table> <p>
802<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
803<tr bgcolor="#ffc8d8">
804<td colspan=3 valign=bottom>&nbsp;<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500805<font color="#000000" face="helvetica, arial"><a name="RequestMockBuilder">class <strong>RequestMockBuilder</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
806
807<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
808<td colspan=2><tt>A&nbsp;simple&nbsp;mock&nbsp;of&nbsp;<a href="#HttpRequest">HttpRequest</a><br>
809&nbsp;<br>
810Pass&nbsp;in&nbsp;a&nbsp;dictionary&nbsp;to&nbsp;the&nbsp;constructor&nbsp;that&nbsp;maps&nbsp;request&nbsp;methodIds&nbsp;to<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400811tuples&nbsp;of&nbsp;(httplib2.Response,&nbsp;content,&nbsp;opt_expected_body)&nbsp;that&nbsp;should&nbsp;be<br>
812returned&nbsp;when&nbsp;that&nbsp;method&nbsp;is&nbsp;called.&nbsp;None&nbsp;may&nbsp;also&nbsp;be&nbsp;passed&nbsp;in&nbsp;for&nbsp;the<br>
813httplib2.Response,&nbsp;in&nbsp;which&nbsp;case&nbsp;a&nbsp;200&nbsp;OK&nbsp;response&nbsp;will&nbsp;be&nbsp;generated.<br>
814If&nbsp;an&nbsp;opt_expected_body&nbsp;(str&nbsp;or&nbsp;dict)&nbsp;is&nbsp;provided,&nbsp;it&nbsp;will&nbsp;be&nbsp;compared&nbsp;to<br>
815the&nbsp;body&nbsp;and&nbsp;UnexpectedBodyError&nbsp;will&nbsp;be&nbsp;raised&nbsp;on&nbsp;inequality.<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500816&nbsp;<br>
817Example:<br>
818&nbsp;&nbsp;response&nbsp;=&nbsp;'{"data":&nbsp;{"id":&nbsp;"tag:google.c...'<br>
819&nbsp;&nbsp;requestBuilder&nbsp;=&nbsp;<a href="#RequestMockBuilder">RequestMockBuilder</a>(<br>
820&nbsp;&nbsp;&nbsp;&nbsp;{<br>
Joe Gregorioc4fc0952011-11-09 12:21:11 -0500821&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'plus.activities.get':&nbsp;(None,&nbsp;response),<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500822&nbsp;&nbsp;&nbsp;&nbsp;}<br>
823&nbsp;&nbsp;)<br>
Joe Gregorioc4fc0952011-11-09 12:21:11 -0500824&nbsp;&nbsp;apiclient.discovery.build("plus",&nbsp;"v1",&nbsp;requestBuilder=requestBuilder)<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500825&nbsp;<br>
826Methods&nbsp;that&nbsp;you&nbsp;do&nbsp;not&nbsp;supply&nbsp;a&nbsp;response&nbsp;for&nbsp;will&nbsp;return&nbsp;a<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500827200&nbsp;OK&nbsp;with&nbsp;an&nbsp;empty&nbsp;string&nbsp;as&nbsp;the&nbsp;response&nbsp;content&nbsp;or&nbsp;raise&nbsp;an&nbsp;excpetion<br>
828if&nbsp;check_unexpected&nbsp;is&nbsp;set&nbsp;to&nbsp;True.&nbsp;The&nbsp;methodId&nbsp;is&nbsp;taken&nbsp;from&nbsp;the&nbsp;rpcName<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400829in&nbsp;the&nbsp;discovery&nbsp;document.<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500830&nbsp;<br>
831For&nbsp;more&nbsp;details&nbsp;see&nbsp;the&nbsp;project&nbsp;wiki.<br>&nbsp;</tt></td></tr>
832<tr><td>&nbsp;</td>
833<td width="100%">Methods defined here:<br>
Joe Gregoriob417caf2011-12-08 12:04:24 -0500834<dl><dt><a name="RequestMockBuilder-__call__"><strong>__call__</strong></a>(self, http, postproc, uri, method<font color="#909090">='GET'</font>, body<font color="#909090">=None</font>, headers<font color="#909090">=None</font>, methodId<font color="#909090">=None</font>, resumable<font color="#909090">=None</font>)</dt><dd><tt>Implements&nbsp;the&nbsp;callable&nbsp;interface&nbsp;that&nbsp;discovery.build()&nbsp;expects<br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500835of&nbsp;requestBuilder,&nbsp;which&nbsp;is&nbsp;to&nbsp;build&nbsp;an&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;compatible&nbsp;with<br>
836<a href="#HttpRequest">HttpRequest</a>.execute().&nbsp;See&nbsp;that&nbsp;method&nbsp;for&nbsp;the&nbsp;description&nbsp;of&nbsp;the<br>
837parameters&nbsp;and&nbsp;the&nbsp;expected&nbsp;response.</tt></dd></dl>
838
Joe Gregorioa8451672011-09-15 09:53:21 -0400839<dl><dt><a name="RequestMockBuilder-__init__"><strong>__init__</strong></a>(self, responses, check_unexpected<font color="#909090">=False</font>)</dt><dd><tt>Constructor&nbsp;for&nbsp;<a href="#RequestMockBuilder">RequestMockBuilder</a><br>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500840&nbsp;<br>
841The&nbsp;constructed&nbsp;<a href="__builtin__.html#object">object</a>&nbsp;should&nbsp;be&nbsp;a&nbsp;callable&nbsp;<a href="__builtin__.html#object">object</a><br>
842that&nbsp;can&nbsp;replace&nbsp;the&nbsp;class&nbsp;HttpResponse.<br>
843&nbsp;<br>
844responses&nbsp;-&nbsp;A&nbsp;dictionary&nbsp;that&nbsp;maps&nbsp;methodIds&nbsp;into&nbsp;tuples<br>
845&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;(httplib2.Response,&nbsp;content).&nbsp;The&nbsp;methodId<br>
846&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comes&nbsp;from&nbsp;the&nbsp;'rpcName'&nbsp;field&nbsp;in&nbsp;the&nbsp;discovery<br>
Joe Gregorioa8451672011-09-15 09:53:21 -0400847&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.<br>
848check_unexpected&nbsp;-&nbsp;A&nbsp;boolean&nbsp;setting&nbsp;whether&nbsp;or&nbsp;not&nbsp;UnexpectedMethodError<br>
849&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;should&nbsp;be&nbsp;raised&nbsp;on&nbsp;unsupplied&nbsp;method.</tt></dd></dl>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500850
851<hr>
852Data descriptors defined here:<br>
853<dl><dt><strong>__dict__</strong></dt>
854<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
855</dl>
856<dl><dt><strong>__weakref__</strong></dt>
857<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
858</dl>
859</td></tr></table></td></tr></table><p>
860<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
Joe Gregorio20a5aa92011-04-01 17:44:25 -0400861<tr bgcolor="#eeaa77">
862<td colspan=3 valign=bottom>&nbsp;<br>
863<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
864
865<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
Joe Gregoriod9d00902012-04-13 07:58:30 -0400866<td width="100%"><dl><dt><a name="-set_user_agent"><strong>set_user_agent</strong></a>(http, user_agent)</dt><dd><tt>Set&nbsp;the&nbsp;user-agent&nbsp;on&nbsp;every&nbsp;request.<br>
867&nbsp;<br>
868Args:<br>
869&nbsp;&nbsp;&nbsp;http&nbsp;-&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
870&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
871&nbsp;&nbsp;&nbsp;user_agent:&nbsp;string,&nbsp;the&nbsp;value&nbsp;for&nbsp;the&nbsp;user-agent&nbsp;header.<br>
872&nbsp;<br>
873Returns:<br>
874&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
875&nbsp;<br>
876Example:<br>
877&nbsp;<br>
878&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
879&nbsp;&nbsp;h&nbsp;=&nbsp;<a href="#-set_user_agent">set_user_agent</a>(h,&nbsp;"my-app-name/6.0")<br>
880&nbsp;<br>
881Most&nbsp;of&nbsp;the&nbsp;time&nbsp;the&nbsp;user-agent&nbsp;will&nbsp;be&nbsp;set&nbsp;doing&nbsp;auth,&nbsp;this&nbsp;is&nbsp;for&nbsp;the&nbsp;rare<br>
882cases&nbsp;where&nbsp;you&nbsp;are&nbsp;accessing&nbsp;an&nbsp;unauthenticated&nbsp;endpoint.</tt></dd></dl>
883 <dl><dt><a name="-tunnel_patch"><strong>tunnel_patch</strong></a>(http)</dt><dd><tt>Tunnel&nbsp;PATCH&nbsp;requests&nbsp;over&nbsp;POST.<br>
Joe Gregorio20a5aa92011-04-01 17:44:25 -0400884Args:<br>
885&nbsp;&nbsp;&nbsp;http&nbsp;-&nbsp;An&nbsp;instance&nbsp;of&nbsp;httplib2.Http<br>
886&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;something&nbsp;that&nbsp;acts&nbsp;like&nbsp;it.<br>
887&nbsp;<br>
888Returns:<br>
889&nbsp;&nbsp;&nbsp;A&nbsp;modified&nbsp;instance&nbsp;of&nbsp;http&nbsp;that&nbsp;was&nbsp;passed&nbsp;in.<br>
890&nbsp;<br>
891Example:<br>
892&nbsp;<br>
893&nbsp;&nbsp;h&nbsp;=&nbsp;httplib2.Http()<br>
894&nbsp;&nbsp;h&nbsp;=&nbsp;<a href="#-tunnel_patch">tunnel_patch</a>(h,&nbsp;"my-app-name/6.0")<br>
895&nbsp;<br>
896Useful&nbsp;if&nbsp;you&nbsp;are&nbsp;running&nbsp;on&nbsp;a&nbsp;platform&nbsp;that&nbsp;doesn't&nbsp;support&nbsp;PATCH.<br>
897Apply&nbsp;this&nbsp;last&nbsp;if&nbsp;you&nbsp;are&nbsp;using&nbsp;OAuth&nbsp;1.0,&nbsp;as&nbsp;changing&nbsp;the&nbsp;method<br>
898will&nbsp;result&nbsp;in&nbsp;a&nbsp;different&nbsp;signature.</tt></dd></dl>
899</td></tr></table><p>
900<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500901<tr bgcolor="#55aa55">
902<td colspan=3 valign=bottom>&nbsp;<br>
903<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
904
905<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
Joe Gregorio66212032012-06-14 09:10:14 -0400906<td width="100%"><strong>DEFAULT_CHUNK_SIZE</strong> = 524288<br>
907<strong>__author__</strong> = 'jcgregorio@google.com (Joe Gregorio)'</td></tr></table><p>
Joe Gregorio30dfdc32010-12-09 16:34:22 -0500908<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
909<tr bgcolor="#7799ee">
910<td colspan=3 valign=bottom>&nbsp;<br>
911<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
912
913<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
914<td width="100%">jcgregorio@google.com&nbsp;(Joe&nbsp;Gregorio)</td></tr></table>
915</body></html>