blob: f0633588d67b90b500487cb79456beed5b84336f [file] [log] [blame]
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -04001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>apiclient.http.BatchHttpRequest</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
18 <!-- Tree link -->
19 <th>&nbsp;&nbsp;&nbsp;<a
20 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
21
22 <!-- Index link -->
23 <th>&nbsp;&nbsp;&nbsp;<a
24 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
25
26 <!-- Help link -->
27 <th>&nbsp;&nbsp;&nbsp;<a
28 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
29
30 <th class="navbar" width="100%"></th>
31 </tr>
32</table>
33<table width="100%" cellpadding="0" cellspacing="0">
34 <tr valign="top">
35 <td width="100%">
36 <span class="breadcrumbs">
37 <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
38 <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
39 Class&nbsp;BatchHttpRequest
40 </span>
41 </td>
42 <td>
43 <table cellpadding="0" cellspacing="0">
44 <!-- hide/show private -->
45 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
46 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
47 <tr><td align="right"><span class="options"
48 >[<a href="frames.html" target="_top">frames</a
49 >]&nbsp;|&nbsp;<a href="apiclient.http.BatchHttpRequest-class.html"
50 target="_top">no&nbsp;frames</a>]</span></td></tr>
51 </table>
52 </td>
53 </tr>
54</table>
55<!-- ==================== CLASS DESCRIPTION ==================== -->
56<h1 class="epydoc">Class BatchHttpRequest</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest">source&nbsp;code</a></span></p>
57<center>
Joe Gregorio746096f2012-06-15 10:53:36 -040058<center> <map id="class_hierarchy_for_batchhttpr" name="class_hierarchy_for_batchhttpr">
59<area shape="rect" href="apiclient.http.BatchHttpRequest-class.html" title="BatchHttpRequest" alt="" coords="5,5,133,32"/>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040060</map>
Joe Gregorio746096f2012-06-15 10:53:36 -040061 <img src="class_hierarchy_for_batchhttpr.gif" alt='' usemap="#class_hierarchy_for_batchhttpr" ismap="ismap" class="graph-without-title" />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040062</center>
63</center>
64<hr />
65<pre class="literalblock">
66Batches multiple HttpRequest objects into a single HTTP request.
67
Joe Gregorioebd0b842012-06-15 14:14:17 -040068Example:
69 from apiclient.http import BatchHttpRequest
70
Joe Gregorioe7a0c472012-07-12 11:46:04 -040071 def list_animals(request_id, response, exception):
Joe Gregorioebd0b842012-06-15 14:14:17 -040072 &quot;&quot;&quot;Do something with the animals list response.&quot;&quot;&quot;
Joe Gregorioe7a0c472012-07-12 11:46:04 -040073 if exception is not None:
74 # Do something with the exception.
75 pass
76 else:
77 # Do something with the response.
78 pass
Joe Gregorioebd0b842012-06-15 14:14:17 -040079
Joe Gregorioe7a0c472012-07-12 11:46:04 -040080 def list_farmers(request_id, response, exception):
Joe Gregorioebd0b842012-06-15 14:14:17 -040081 &quot;&quot;&quot;Do something with the farmers list response.&quot;&quot;&quot;
Joe Gregorioe7a0c472012-07-12 11:46:04 -040082 if exception is not None:
83 # Do something with the exception.
84 pass
85 else:
86 # Do something with the response.
87 pass
Joe Gregorioebd0b842012-06-15 14:14:17 -040088
89 service = build('farm', 'v2')
90
91 batch = BatchHttpRequest()
92
93 batch.add(service.animals().list(), list_animals)
94 batch.add(service.farmers().list(), list_farmers)
Joe Gregorio1b425aa2012-08-24 12:04:34 -040095 batch.execute(http=http)
Joe Gregorioebd0b842012-06-15 14:14:17 -040096
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040097</pre>
98
99<!-- ==================== INSTANCE METHODS ==================== -->
100<a name="section-InstanceMethods"></a>
101<table class="summary" border="1" cellpadding="3"
102 cellspacing="0" width="100%" bgcolor="white">
103<tr bgcolor="#70b0f0" class="table-header">
104 <td colspan="2" class="table-header">
105 <table border="0" cellpadding="0" cellspacing="0" width="100%">
106 <tr valign="top">
107 <td align="left"><span class="table-header">Instance Methods</span></td>
108 <td align="right" valign="top"
109 ><span class="options">[<a href="#section-InstanceMethods"
110 class="privatelink" onclick="toggle_private();"
111 >hide private</a>]</span></td>
112 </tr>
113 </table>
114 </td>
115</tr>
116<tr>
117 <td width="15%" align="right" valign="top" class="summary">
118 <span class="summary-type">&nbsp;</span>
119 </td><td class="summary">
120 <table width="100%" cellpadding="0" cellspacing="0" border="0">
121 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400122 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
123 <span class="summary-sig-arg">callback</span>=<span class="summary-sig-default">None</span>,
124 <span class="summary-sig-arg">batch_uri</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400125 Constructor for a BatchHttpRequest.</td>
126 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400127 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.__init__">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400128
129 </td>
130 </tr>
131 </table>
132
133 </td>
134 </tr>
135<tr class="private">
136 <td width="15%" align="right" valign="top" class="summary">
137 <span class="summary-type">&nbsp;</span>
138 </td><td class="summary">
139 <table width="100%" cellpadding="0" cellspacing="0" border="0">
140 <tr>
141 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials" class="summary-sig-name" onclick="show_private();">_refresh_and_apply_credentials</a>(<span class="summary-sig-arg">self</span>,
142 <span class="summary-sig-arg">request</span>,
143 <span class="summary-sig-arg">http</span>)</span><br />
144 Refresh the credentials and apply to the request.</td>
145 <td align="right" valign="top">
146 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._refresh_and_apply_credentials">source&nbsp;code</a></span>
147
148 </td>
149 </tr>
150 </table>
151
152 </td>
153 </tr>
154<tr class="private">
155 <td width="15%" align="right" valign="top" class="summary">
156 <span class="summary-type">&nbsp;</span>
157 </td><td class="summary">
158 <table width="100%" cellpadding="0" cellspacing="0" border="0">
159 <tr>
160 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_id_to_header" class="summary-sig-name" onclick="show_private();">_id_to_header</a>(<span class="summary-sig-arg">self</span>,
161 <span class="summary-sig-arg">id_</span>)</span><br />
162 Convert an id to a Content-ID header value.</td>
163 <td align="right" valign="top">
164 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._id_to_header">source&nbsp;code</a></span>
165
166 </td>
167 </tr>
168 </table>
169
170 </td>
171 </tr>
172<tr class="private">
173 <td width="15%" align="right" valign="top" class="summary">
174 <span class="summary-type">&nbsp;</span>
175 </td><td class="summary">
176 <table width="100%" cellpadding="0" cellspacing="0" border="0">
177 <tr>
178 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_header_to_id" class="summary-sig-name" onclick="show_private();">_header_to_id</a>(<span class="summary-sig-arg">self</span>,
179 <span class="summary-sig-arg">header</span>)</span><br />
180 Convert a Content-ID header value to an id.</td>
181 <td align="right" valign="top">
182 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._header_to_id">source&nbsp;code</a></span>
183
184 </td>
185 </tr>
186 </table>
187
188 </td>
189 </tr>
190<tr class="private">
191 <td width="15%" align="right" valign="top" class="summary">
192 <span class="summary-type">&nbsp;</span>
193 </td><td class="summary">
194 <table width="100%" cellpadding="0" cellspacing="0" border="0">
195 <tr>
196 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_serialize_request" class="summary-sig-name" onclick="show_private();">_serialize_request</a>(<span class="summary-sig-arg">self</span>,
197 <span class="summary-sig-arg">request</span>)</span><br />
198 Convert an HttpRequest object into a string.</td>
199 <td align="right" valign="top">
200 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._serialize_request">source&nbsp;code</a></span>
201
202 </td>
203 </tr>
204 </table>
205
206 </td>
207 </tr>
208<tr class="private">
209 <td width="15%" align="right" valign="top" class="summary">
210 <span class="summary-type">&nbsp;</span>
211 </td><td class="summary">
212 <table width="100%" cellpadding="0" cellspacing="0" border="0">
213 <tr>
214 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_deserialize_response" class="summary-sig-name" onclick="show_private();">_deserialize_response</a>(<span class="summary-sig-arg">self</span>,
215 <span class="summary-sig-arg">payload</span>)</span><br />
216 Convert string into httplib2 response and content.</td>
217 <td align="right" valign="top">
218 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._deserialize_response">source&nbsp;code</a></span>
219
220 </td>
221 </tr>
222 </table>
223
224 </td>
225 </tr>
226<tr class="private">
227 <td width="15%" align="right" valign="top" class="summary">
228 <span class="summary-type">&nbsp;</span>
229 </td><td class="summary">
230 <table width="100%" cellpadding="0" cellspacing="0" border="0">
231 <tr>
232 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_new_id" class="summary-sig-name" onclick="show_private();">_new_id</a>(<span class="summary-sig-arg">self</span>)</span><br />
233 Create a new id.</td>
234 <td align="right" valign="top">
235 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._new_id">source&nbsp;code</a></span>
236
237 </td>
238 </tr>
239 </table>
240
241 </td>
242 </tr>
243<tr>
244 <td width="15%" align="right" valign="top" class="summary">
245 <span class="summary-type">&nbsp;</span>
246 </td><td class="summary">
247 <table width="100%" cellpadding="0" cellspacing="0" border="0">
248 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400249 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#add" class="summary-sig-name">add</a>(<span class="summary-sig-arg">self</span>,
250 <span class="summary-sig-arg">request</span>,
251 <span class="summary-sig-arg">callback</span>=<span class="summary-sig-default">None</span>,
252 <span class="summary-sig-arg">request_id</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400253 Add a new request.</td>
254 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400255 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.add">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400256
257 </td>
258 </tr>
259 </table>
260
261 </td>
262 </tr>
263<tr class="private">
264 <td width="15%" align="right" valign="top" class="summary">
265 <span class="summary-type">&nbsp;</span>
266 </td><td class="summary">
267 <table width="100%" cellpadding="0" cellspacing="0" border="0">
268 <tr>
269 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#_execute" class="summary-sig-name" onclick="show_private();">_execute</a>(<span class="summary-sig-arg">self</span>,
270 <span class="summary-sig-arg">http</span>,
271 <span class="summary-sig-arg">order</span>,
272 <span class="summary-sig-arg">requests</span>)</span><br />
273 Serialize batch request, send to server, process response.</td>
274 <td align="right" valign="top">
275 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._execute">source&nbsp;code</a></span>
276
277 </td>
278 </tr>
279 </table>
280
281 </td>
282 </tr>
283<tr>
284 <td width="15%" align="right" valign="top" class="summary">
285 <span class="summary-type">&nbsp;</span>
286 </td><td class="summary">
287 <table width="100%" cellpadding="0" cellspacing="0" border="0">
288 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400289 <td><span class="summary-sig"><a href="apiclient.http.BatchHttpRequest-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
290 <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400291 Execute all the requests as a single batched HTTP request.</td>
292 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400293 <span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.execute">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400294
295 </td>
296 </tr>
297 </table>
298
299 </td>
300 </tr>
301 <tr>
302 <td colspan="2" class="summary">
303 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
304 <code>__delattr__</code>,
305 <code>__format__</code>,
306 <code>__getattribute__</code>,
307 <code>__hash__</code>,
308 <code>__new__</code>,
309 <code>__reduce__</code>,
310 <code>__reduce_ex__</code>,
311 <code>__repr__</code>,
312 <code>__setattr__</code>,
313 <code>__sizeof__</code>,
314 <code>__str__</code>,
315 <code>__subclasshook__</code>
316 </p>
317 </td>
318 </tr>
319</table>
320<!-- ==================== PROPERTIES ==================== -->
321<a name="section-Properties"></a>
322<table class="summary" border="1" cellpadding="3"
323 cellspacing="0" width="100%" bgcolor="white">
324<tr bgcolor="#70b0f0" class="table-header">
325 <td colspan="2" class="table-header">
326 <table border="0" cellpadding="0" cellspacing="0" width="100%">
327 <tr valign="top">
328 <td align="left"><span class="table-header">Properties</span></td>
329 <td align="right" valign="top"
330 ><span class="options">[<a href="#section-Properties"
331 class="privatelink" onclick="toggle_private();"
332 >hide private</a>]</span></td>
333 </tr>
334 </table>
335 </td>
336</tr>
337 <tr>
338 <td colspan="2" class="summary">
339 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
340 <code>__class__</code>
341 </p>
342 </td>
343 </tr>
344</table>
345<!-- ==================== METHOD DETAILS ==================== -->
346<a name="section-MethodDetails"></a>
347<table class="details" border="1" cellpadding="3"
348 cellspacing="0" width="100%" bgcolor="white">
349<tr bgcolor="#70b0f0" class="table-header">
350 <td colspan="2" class="table-header">
351 <table border="0" cellpadding="0" cellspacing="0" width="100%">
352 <tr valign="top">
353 <td align="left"><span class="table-header">Method Details</span></td>
354 <td align="right" valign="top"
355 ><span class="options">[<a href="#section-MethodDetails"
356 class="privatelink" onclick="toggle_private();"
357 >hide private</a>]</span></td>
358 </tr>
359 </table>
360 </td>
361</tr>
362</table>
363<a name="__init__"></a>
364<div>
365<table class="details" border="1" cellpadding="3"
366 cellspacing="0" width="100%" bgcolor="white">
367<tr><td>
368 <table width="100%" cellpadding="0" cellspacing="0" border="0">
369 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400370 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
371 <span class="sig-arg">callback</span>=<span class="sig-default">None</span>,
372 <span class="sig-arg">batch_uri</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400373 <br /><em class="fname">(Constructor)</em>
374 </h3>
375 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400376 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.__init__">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400377 </td>
378 </tr></table>
379
380 <pre class="literalblock">
381Constructor for a BatchHttpRequest.
382
383Args:
384 callback: callable, A callback to be called for each response, of the
Joe Gregorioe7a0c472012-07-12 11:46:04 -0400385 form callback(id, response, exception). The first parameter is the
386 request id, and the second is the deserialized response object. The
387 third is an apiclient.errors.HttpError exception object if an HTTP error
388 occurred while processing the request, or None if no error occurred.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400389 batch_uri: string, URI to send batch requests to.
390
391</pre>
392 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400393 <dt>Decorators:</dt>
394 <dd><ul class="nomargin-top">
395 <li><code>@util.positional(1)</code></li>
396 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400397 <dt>Overrides:
398 object.__init__
399 </dt>
400 </dl>
401</td></tr></table>
402</div>
403<a name="_refresh_and_apply_credentials"></a>
404<div class="private">
405<table class="details" border="1" cellpadding="3"
406 cellspacing="0" width="100%" bgcolor="white">
407<tr><td>
408 <table width="100%" cellpadding="0" cellspacing="0" border="0">
409 <tr valign="top"><td>
410 <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh_and_apply_credentials</span>(<span class="sig-arg">self</span>,
411 <span class="sig-arg">request</span>,
412 <span class="sig-arg">http</span>)</span>
413 </h3>
414 </td><td align="right" valign="top"
415 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._refresh_and_apply_credentials">source&nbsp;code</a></span>&nbsp;
416 </td>
417 </tr></table>
418
419 <pre class="literalblock">
420Refresh the credentials and apply to the request.
421
422Args:
423 request: HttpRequest, the request.
424 http: httplib2.Http, the global http object for the batch.
425
426</pre>
427 <dl class="fields">
428 </dl>
429</td></tr></table>
430</div>
431<a name="_id_to_header"></a>
432<div class="private">
433<table class="details" border="1" cellpadding="3"
434 cellspacing="0" width="100%" bgcolor="white">
435<tr><td>
436 <table width="100%" cellpadding="0" cellspacing="0" border="0">
437 <tr valign="top"><td>
438 <h3 class="epydoc"><span class="sig"><span class="sig-name">_id_to_header</span>(<span class="sig-arg">self</span>,
439 <span class="sig-arg">id_</span>)</span>
440 </h3>
441 </td><td align="right" valign="top"
442 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._id_to_header">source&nbsp;code</a></span>&nbsp;
443 </td>
444 </tr></table>
445
446 <pre class="literalblock">
447Convert an id to a Content-ID header value.
448
449Args:
450 id_: string, identifier of individual request.
451
452Returns:
453 A Content-ID header with the id_ encoded into it. A UUID is prepended to
454 the value because Content-ID headers are supposed to be universally
455 unique.
456
457</pre>
458 <dl class="fields">
459 </dl>
460</td></tr></table>
461</div>
462<a name="_header_to_id"></a>
463<div class="private">
464<table class="details" border="1" cellpadding="3"
465 cellspacing="0" width="100%" bgcolor="white">
466<tr><td>
467 <table width="100%" cellpadding="0" cellspacing="0" border="0">
468 <tr valign="top"><td>
469 <h3 class="epydoc"><span class="sig"><span class="sig-name">_header_to_id</span>(<span class="sig-arg">self</span>,
470 <span class="sig-arg">header</span>)</span>
471 </h3>
472 </td><td align="right" valign="top"
473 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._header_to_id">source&nbsp;code</a></span>&nbsp;
474 </td>
475 </tr></table>
476
477 <pre class="literalblock">
478Convert a Content-ID header value to an id.
479
480Presumes the Content-ID header conforms to the format that _id_to_header()
481returns.
482
483Args:
484 header: string, Content-ID header value.
485
486Returns:
487 The extracted id value.
488
489Raises:
490 BatchError if the header is not in the expected format.
491
492</pre>
493 <dl class="fields">
494 </dl>
495</td></tr></table>
496</div>
497<a name="_serialize_request"></a>
498<div class="private">
499<table class="details" border="1" cellpadding="3"
500 cellspacing="0" width="100%" bgcolor="white">
501<tr><td>
502 <table width="100%" cellpadding="0" cellspacing="0" border="0">
503 <tr valign="top"><td>
504 <h3 class="epydoc"><span class="sig"><span class="sig-name">_serialize_request</span>(<span class="sig-arg">self</span>,
505 <span class="sig-arg">request</span>)</span>
506 </h3>
507 </td><td align="right" valign="top"
508 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._serialize_request">source&nbsp;code</a></span>&nbsp;
509 </td>
510 </tr></table>
511
512 <pre class="literalblock">
513Convert an HttpRequest object into a string.
514
515Args:
516 request: HttpRequest, the request to serialize.
517
518Returns:
519 The request as a string in application/http format.
520
521</pre>
522 <dl class="fields">
523 </dl>
524</td></tr></table>
525</div>
526<a name="_deserialize_response"></a>
527<div class="private">
528<table class="details" border="1" cellpadding="3"
529 cellspacing="0" width="100%" bgcolor="white">
530<tr><td>
531 <table width="100%" cellpadding="0" cellspacing="0" border="0">
532 <tr valign="top"><td>
533 <h3 class="epydoc"><span class="sig"><span class="sig-name">_deserialize_response</span>(<span class="sig-arg">self</span>,
534 <span class="sig-arg">payload</span>)</span>
535 </h3>
536 </td><td align="right" valign="top"
537 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._deserialize_response">source&nbsp;code</a></span>&nbsp;
538 </td>
539 </tr></table>
540
541 <pre class="literalblock">
542Convert string into httplib2 response and content.
543
544Args:
545 payload: string, headers and body as a string.
546
547Returns:
Joe Gregorioe7a0c472012-07-12 11:46:04 -0400548 A pair (resp, content), such as would be returned from httplib2.request.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400549
550</pre>
551 <dl class="fields">
552 </dl>
553</td></tr></table>
554</div>
555<a name="_new_id"></a>
556<div class="private">
557<table class="details" border="1" cellpadding="3"
558 cellspacing="0" width="100%" bgcolor="white">
559<tr><td>
560 <table width="100%" cellpadding="0" cellspacing="0" border="0">
561 <tr valign="top"><td>
562 <h3 class="epydoc"><span class="sig"><span class="sig-name">_new_id</span>(<span class="sig-arg">self</span>)</span>
563 </h3>
564 </td><td align="right" valign="top"
565 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._new_id">source&nbsp;code</a></span>&nbsp;
566 </td>
567 </tr></table>
568
569 <pre class="literalblock">
570Create a new id.
571
572Auto incrementing number that avoids conflicts with ids already used.
573
574Returns:
575 string, a new unique id.
576
577</pre>
578 <dl class="fields">
579 </dl>
580</td></tr></table>
581</div>
582<a name="add"></a>
583<div>
584<table class="details" border="1" cellpadding="3"
585 cellspacing="0" width="100%" bgcolor="white">
586<tr><td>
587 <table width="100%" cellpadding="0" cellspacing="0" border="0">
588 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400589 <h3 class="epydoc"><span class="sig"><span class="sig-name">add</span>(<span class="sig-arg">self</span>,
590 <span class="sig-arg">request</span>,
591 <span class="sig-arg">callback</span>=<span class="sig-default">None</span>,
592 <span class="sig-arg">request_id</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400593 </h3>
594 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400595 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.add">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400596 </td>
597 </tr></table>
598
599 <pre class="literalblock">
600Add a new request.
601
602Every callback added will be paired with a unique id, the request_id. That
603unique id will be passed back to the callback when the response comes back
604from the server. The default behavior is to have the library generate it's
605own unique id. If the caller passes in a request_id then they must ensure
606uniqueness for each request_id, and if they are not an exception is
607raised. Callers should either supply all request_ids or nevery supply a
608request id, to avoid such an error.
609
610Args:
611 request: HttpRequest, Request to add to the batch.
612 callback: callable, A callback to be called for this response, of the
Joe Gregorioe7a0c472012-07-12 11:46:04 -0400613 form callback(id, response, exception). The first parameter is the
614 request id, and the second is the deserialized response object. The
615 third is an apiclient.errors.HttpError exception object if an HTTP error
616 occurred while processing the request, or None if no errors occurred.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400617 request_id: string, A unique id for the request. The id will be passed to
618 the callback with the response.
619
620Returns:
621 None
622
623Raises:
Joe Gregorioebd0b842012-06-15 14:14:17 -0400624 BatchError if a media request is added to a batch.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400625 KeyError is the request_id is not unique.
626
627</pre>
628 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400629 <dt>Decorators:</dt>
630 <dd><ul class="nomargin-top">
631 <li><code>@util.positional(2)</code></li>
632 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400633 </dl>
634</td></tr></table>
635</div>
636<a name="_execute"></a>
637<div class="private">
638<table class="details" border="1" cellpadding="3"
639 cellspacing="0" width="100%" bgcolor="white">
640<tr><td>
641 <table width="100%" cellpadding="0" cellspacing="0" border="0">
642 <tr valign="top"><td>
643 <h3 class="epydoc"><span class="sig"><span class="sig-name">_execute</span>(<span class="sig-arg">self</span>,
644 <span class="sig-arg">http</span>,
645 <span class="sig-arg">order</span>,
646 <span class="sig-arg">requests</span>)</span>
647 </h3>
648 </td><td align="right" valign="top"
649 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest._execute">source&nbsp;code</a></span>&nbsp;
650 </td>
651 </tr></table>
652
653 <pre class="literalblock">
654Serialize batch request, send to server, process response.
655
656Args:
657 http: httplib2.Http, an http object to be used to make the request with.
658 order: list, list of request ids in the order they were added to the
659 batch.
660 request: list, list of request objects to send.
661
662Raises:
Joe Gregorioad8013f2012-08-03 08:44:02 -0400663 httplib2.HttpLib2Error if a transport error has occured.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400664 apiclient.errors.BatchError if the response is the wrong format.
665
666</pre>
667 <dl class="fields">
668 </dl>
669</td></tr></table>
670</div>
671<a name="execute"></a>
672<div>
673<table class="details" border="1" cellpadding="3"
674 cellspacing="0" width="100%" bgcolor="white">
675<tr><td>
676 <table width="100%" cellpadding="0" cellspacing="0" border="0">
677 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400678 <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
679 <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400680 </h3>
681 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400682 ><span class="codelink"><a href="apiclient.http-pysrc.html#BatchHttpRequest.execute">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400683 </td>
684 </tr></table>
685
686 <pre class="literalblock">
687Execute all the requests as a single batched HTTP request.
688
689Args:
690 http: httplib2.Http, an http object to be used in place of the one the
691 HttpRequest request object was constructed with. If one isn't supplied
692 then use a http object from the requests in this batch.
693
694Returns:
695 None
696
697Raises:
Joe Gregorioad8013f2012-08-03 08:44:02 -0400698 httplib2.HttpLib2Error if a transport error has occured.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400699 apiclient.errors.BatchError if the response is the wrong format.
700
701</pre>
702 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400703 <dt>Decorators:</dt>
704 <dd><ul class="nomargin-top">
705 <li><code>@util.positional(1)</code></li>
706 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400707 </dl>
708</td></tr></table>
709</div>
710<br />
711<!-- ==================== NAVIGATION BAR ==================== -->
712<table class="navbar" border="0" width="100%" cellpadding="0"
713 bgcolor="#a0c0ff" cellspacing="0">
714 <tr valign="middle">
715
716 <!-- Tree link -->
717 <th>&nbsp;&nbsp;&nbsp;<a
718 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
719
720 <!-- Index link -->
721 <th>&nbsp;&nbsp;&nbsp;<a
722 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
723
724 <!-- Help link -->
725 <th>&nbsp;&nbsp;&nbsp;<a
726 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
727
728 <th class="navbar" width="100%"></th>
729 </tr>
730</table>
731<table border="0" cellpadding="0" cellspacing="0" width="100%%">
732 <tr>
733 <td align="left" class="footer">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400734 Generated by Epydoc 3.0.1 on Thu Sep 6 13:36:12 2012
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400735 </td>
736 <td align="right" class="footer">
737 <a target="mainFrame" href="http://epydoc.sourceforge.net"
738 >http://epydoc.sourceforge.net</a>
739 </td>
740 </tr>
741</table>
742
743<script type="text/javascript">
744 <!--
745 // Private objects are initially displayed (because if
746 // javascript is turned off then we want them to be
747 // visible); but by default, we want to hide them. So hide
748 // them unless we have a cookie that says to show them.
749 checkCookie();
750 // -->
751</script>
752</body>
753</html>