blob: c76ee1f9827fcd60eed0c3df2c2a1878775a1ec1 [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>oauth2client.file.Storage</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="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
38 <a href="oauth2client.file-module.html">Module&nbsp;file</a> ::
39 Class&nbsp;Storage
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="oauth2client.file.Storage-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 Storage</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage">source&nbsp;code</a></span></p>
57<center>
Joe Gregorio37802c32013-08-06 12:24:05 -040058<center> <map id="uml_class_diagram_for_oauth2cl_39" name="uml_class_diagram_for_oauth2cl_39">
59<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,153,188,172"/>
60<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#acquire_lock" title="Acquires any lock necessary to access this Storage." alt="" coords="17,172,188,191"/>
61<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#release_lock" title="Release the Storage lock." alt="" coords="17,191,188,209"/>
62<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#locked_get" title="Retrieve Credential from file." alt="" coords="17,209,188,228"/>
63<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#locked_put" title="Write Credentials to file." alt="" coords="17,228,188,247"/>
64<area shape="rect" id="node198" href="oauth2client.file.Storage-class.html#locked_delete" title="Delete Credentials file." alt="" coords="17,247,188,265"/>
65<area shape="rect" id="node1" href="oauth2client.file.Storage-class.html" title="Store and retrieve a single credential to and from a file." alt="" coords="5,121,200,271"/>
66<area shape="rect" id="node199" href="oauth2client.client.Storage-class.html#get" title="Retrieve credential." alt="" coords="40,39,165,57"/>
67<area shape="rect" id="node199" href="oauth2client.client.Storage-class.html#put" title="Write a credential." alt="" coords="40,57,165,76"/>
68<area shape="rect" id="node199" href="oauth2client.client.Storage-class.html#delete" title="Delete credential." alt="" coords="40,76,165,95"/>
69<area shape="rect" id="node2" href="oauth2client.client.Storage-class.html" title="Base class for all Storage objects." alt="" coords="28,6,177,101"/>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040070</map>
Joe Gregorio37802c32013-08-06 12:24:05 -040071 <img src="uml_class_diagram_for_oauth2cl_39.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_39" ismap="ismap" class="graph-without-title" />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040072</center>
73</center>
74<hr />
75<pre class="literalblock">
76Store and retrieve a single credential to and from a file.
77
78</pre>
79
80<!-- ==================== INSTANCE METHODS ==================== -->
81<a name="section-InstanceMethods"></a>
82<table class="summary" border="1" cellpadding="3"
83 cellspacing="0" width="100%" bgcolor="white">
84<tr bgcolor="#70b0f0" class="table-header">
85 <td colspan="2" class="table-header">
86 <table border="0" cellpadding="0" cellspacing="0" width="100%">
87 <tr valign="top">
88 <td align="left"><span class="table-header">Instance Methods</span></td>
89 <td align="right" valign="top"
90 ><span class="options">[<a href="#section-InstanceMethods"
91 class="privatelink" onclick="toggle_private();"
92 >hide private</a>]</span></td>
93 </tr>
94 </table>
95 </td>
96</tr>
97<tr>
98 <td width="15%" align="right" valign="top" class="summary">
99 <span class="summary-type">&nbsp;</span>
100 </td><td class="summary">
101 <table width="100%" cellpadding="0" cellspacing="0" border="0">
102 <tr>
103 <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
104 <span class="summary-sig-arg">filename</span>)</span><br />
Joe Gregorio52a5c532013-01-24 16:19:07 -0500105 x.__init__(...) initializes x; see help(type(x)) for signature</td>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400106 <td align="right" valign="top">
107 <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.__init__">source&nbsp;code</a></span>
108
109 </td>
110 </tr>
111 </table>
112
113 </td>
114 </tr>
Joe Gregorio0cd347a2012-08-30 08:22:27 -0400115<tr class="private">
116 <td width="15%" align="right" valign="top" class="summary">
117 <span class="summary-type">&nbsp;</span>
118 </td><td class="summary">
119 <table width="100%" cellpadding="0" cellspacing="0" border="0">
120 <tr>
121 <td><span class="summary-sig"><a name="_validate_file"></a><span class="summary-sig-name">_validate_file</span>(<span class="summary-sig-arg">self</span>)</span></td>
122 <td align="right" valign="top">
123 <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage._validate_file">source&nbsp;code</a></span>
124
125 </td>
126 </tr>
127 </table>
128
129 </td>
130 </tr>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400131<tr>
132 <td width="15%" align="right" valign="top" class="summary">
133 <span class="summary-type">&nbsp;</span>
134 </td><td class="summary">
135 <table width="100%" cellpadding="0" cellspacing="0" border="0">
136 <tr>
137 <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#acquire_lock" class="summary-sig-name">acquire_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
138 Acquires any lock necessary to access this Storage.</td>
139 <td align="right" valign="top">
140 <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.acquire_lock">source&nbsp;code</a></span>
141
142 </td>
143 </tr>
144 </table>
145
146 </td>
147 </tr>
148<tr>
149 <td width="15%" align="right" valign="top" class="summary">
150 <span class="summary-type">&nbsp;</span>
151 </td><td class="summary">
152 <table width="100%" cellpadding="0" cellspacing="0" border="0">
153 <tr>
154 <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#release_lock" class="summary-sig-name">release_lock</a>(<span class="summary-sig-arg">self</span>)</span><br />
155 Release the Storage lock.</td>
156 <td align="right" valign="top">
157 <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.release_lock">source&nbsp;code</a></span>
158
159 </td>
160 </tr>
161 </table>
162
163 </td>
164 </tr>
165<tr>
166 <td width="15%" align="right" valign="top" class="summary">
167 <span class="summary-type">&nbsp;</span>
168 </td><td class="summary">
169 <table width="100%" cellpadding="0" cellspacing="0" border="0">
170 <tr>
171 <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#locked_get" class="summary-sig-name">locked_get</a>(<span class="summary-sig-arg">self</span>)</span><br />
172 Retrieve Credential from file.</td>
173 <td align="right" valign="top">
174 <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>
175
176 </td>
177 </tr>
178 </table>
179
180 </td>
181 </tr>
182<tr class="private">
183 <td width="15%" align="right" valign="top" class="summary">
184 <span class="summary-type">&nbsp;</span>
185 </td><td class="summary">
186 <table width="100%" cellpadding="0" cellspacing="0" border="0">
187 <tr>
188 <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#_create_file_if_needed" class="summary-sig-name" onclick="show_private();">_create_file_if_needed</a>(<span class="summary-sig-arg">self</span>)</span><br />
189 Create an empty file if necessary.</td>
190 <td align="right" valign="top">
191 <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage._create_file_if_needed">source&nbsp;code</a></span>
192
193 </td>
194 </tr>
195 </table>
196
197 </td>
198 </tr>
199<tr>
200 <td width="15%" align="right" valign="top" class="summary">
201 <span class="summary-type">&nbsp;</span>
202 </td><td class="summary">
203 <table width="100%" cellpadding="0" cellspacing="0" border="0">
204 <tr>
205 <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#locked_put" class="summary-sig-name">locked_put</a>(<span class="summary-sig-arg">self</span>,
206 <span class="summary-sig-arg">credentials</span>)</span><br />
207 Write Credentials to file.</td>
208 <td align="right" valign="top">
209 <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>
210
211 </td>
212 </tr>
213 </table>
214
215 </td>
216 </tr>
217<tr>
218 <td width="15%" align="right" valign="top" class="summary">
219 <span class="summary-type">&nbsp;</span>
220 </td><td class="summary">
221 <table width="100%" cellpadding="0" cellspacing="0" border="0">
222 <tr>
223 <td><span class="summary-sig"><a href="oauth2client.file.Storage-class.html#locked_delete" class="summary-sig-name">locked_delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
224 Delete Credentials file.</td>
225 <td align="right" valign="top">
226 <span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>
227
228 </td>
229 </tr>
230 </table>
231
232 </td>
233 </tr>
234 <tr>
235 <td colspan="2" class="summary">
236 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Storage-class.html">client.Storage</a></code></b>:
237 <code><a href="oauth2client.client.Storage-class.html#delete">delete</a></code>,
238 <code><a href="oauth2client.client.Storage-class.html#get">get</a></code>,
239 <code><a href="oauth2client.client.Storage-class.html#put">put</a></code>
240 </p>
241 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
242 <code>__delattr__</code>,
243 <code>__format__</code>,
244 <code>__getattribute__</code>,
245 <code>__hash__</code>,
246 <code>__new__</code>,
247 <code>__reduce__</code>,
248 <code>__reduce_ex__</code>,
249 <code>__repr__</code>,
250 <code>__setattr__</code>,
251 <code>__sizeof__</code>,
252 <code>__str__</code>,
253 <code>__subclasshook__</code>
254 </p>
255 </td>
256 </tr>
257</table>
258<!-- ==================== PROPERTIES ==================== -->
259<a name="section-Properties"></a>
260<table class="summary" border="1" cellpadding="3"
261 cellspacing="0" width="100%" bgcolor="white">
262<tr bgcolor="#70b0f0" class="table-header">
263 <td colspan="2" class="table-header">
264 <table border="0" cellpadding="0" cellspacing="0" width="100%">
265 <tr valign="top">
266 <td align="left"><span class="table-header">Properties</span></td>
267 <td align="right" valign="top"
268 ><span class="options">[<a href="#section-Properties"
269 class="privatelink" onclick="toggle_private();"
270 >hide private</a>]</span></td>
271 </tr>
272 </table>
273 </td>
274</tr>
275 <tr>
276 <td colspan="2" class="summary">
277 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
278 <code>__class__</code>
279 </p>
280 </td>
281 </tr>
282</table>
283<!-- ==================== METHOD DETAILS ==================== -->
284<a name="section-MethodDetails"></a>
285<table class="details" border="1" cellpadding="3"
286 cellspacing="0" width="100%" bgcolor="white">
287<tr bgcolor="#70b0f0" class="table-header">
288 <td colspan="2" class="table-header">
289 <table border="0" cellpadding="0" cellspacing="0" width="100%">
290 <tr valign="top">
291 <td align="left"><span class="table-header">Method Details</span></td>
292 <td align="right" valign="top"
293 ><span class="options">[<a href="#section-MethodDetails"
294 class="privatelink" onclick="toggle_private();"
295 >hide private</a>]</span></td>
296 </tr>
297 </table>
298 </td>
299</tr>
300</table>
301<a name="__init__"></a>
302<div>
303<table class="details" border="1" cellpadding="3"
304 cellspacing="0" width="100%" bgcolor="white">
305<tr><td>
306 <table width="100%" cellpadding="0" cellspacing="0" border="0">
307 <tr valign="top"><td>
308 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
309 <span class="sig-arg">filename</span>)</span>
310 <br /><em class="fname">(Constructor)</em>
311 </h3>
312 </td><td align="right" valign="top"
313 ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.__init__">source&nbsp;code</a></span>&nbsp;
314 </td>
315 </tr></table>
316
317 <pre class="literalblock">
Joe Gregorio52a5c532013-01-24 16:19:07 -0500318x.__init__(...) initializes x; see help(type(x)) for signature
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400319
320</pre>
321 <dl class="fields">
322 <dt>Overrides:
323 object.__init__
324 <dd><em class="note">(inherited documentation)</em></dd>
325 </dt>
326 </dl>
327</td></tr></table>
328</div>
329<a name="acquire_lock"></a>
330<div>
331<table class="details" border="1" cellpadding="3"
332 cellspacing="0" width="100%" bgcolor="white">
333<tr><td>
334 <table width="100%" cellpadding="0" cellspacing="0" border="0">
335 <tr valign="top"><td>
336 <h3 class="epydoc"><span class="sig"><span class="sig-name">acquire_lock</span>(<span class="sig-arg">self</span>)</span>
337 </h3>
338 </td><td align="right" valign="top"
339 ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.acquire_lock">source&nbsp;code</a></span>&nbsp;
340 </td>
341 </tr></table>
342
343 <pre class="literalblock">
344Acquires any lock necessary to access this Storage.
345
346This lock is not reentrant.
347
348</pre>
349 <dl class="fields">
350 <dt>Overrides:
351 <a href="oauth2client.client.Storage-class.html#acquire_lock">client.Storage.acquire_lock</a>
352 </dt>
353 </dl>
354</td></tr></table>
355</div>
356<a name="release_lock"></a>
357<div>
358<table class="details" border="1" cellpadding="3"
359 cellspacing="0" width="100%" bgcolor="white">
360<tr><td>
361 <table width="100%" cellpadding="0" cellspacing="0" border="0">
362 <tr valign="top"><td>
363 <h3 class="epydoc"><span class="sig"><span class="sig-name">release_lock</span>(<span class="sig-arg">self</span>)</span>
364 </h3>
365 </td><td align="right" valign="top"
366 ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.release_lock">source&nbsp;code</a></span>&nbsp;
367 </td>
368 </tr></table>
369
370 <pre class="literalblock">
371Release the Storage lock.
372
373Trying to release a lock that isn't held will result in a
374RuntimeError.
375
376</pre>
377 <dl class="fields">
378 <dt>Overrides:
379 <a href="oauth2client.client.Storage-class.html#release_lock">client.Storage.release_lock</a>
380 </dt>
381 </dl>
382</td></tr></table>
383</div>
384<a name="locked_get"></a>
385<div>
386<table class="details" border="1" cellpadding="3"
387 cellspacing="0" width="100%" bgcolor="white">
388<tr><td>
389 <table width="100%" cellpadding="0" cellspacing="0" border="0">
390 <tr valign="top"><td>
391 <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_get</span>(<span class="sig-arg">self</span>)</span>
392 </h3>
393 </td><td align="right" valign="top"
394 ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_get">source&nbsp;code</a></span>&nbsp;
395 </td>
396 </tr></table>
397
398 <pre class="literalblock">
399Retrieve Credential from file.
400
401Returns:
402 oauth2client.client.Credentials
403
Joe Gregorio0cd347a2012-08-30 08:22:27 -0400404Raises:
405 CredentialsFileSymbolicLinkError if the file is a symbolic link.
406
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400407</pre>
408 <dl class="fields">
409 <dt>Overrides:
410 <a href="oauth2client.client.Storage-class.html#locked_get">client.Storage.locked_get</a>
411 </dt>
412 </dl>
413</td></tr></table>
414</div>
415<a name="_create_file_if_needed"></a>
416<div class="private">
417<table class="details" border="1" cellpadding="3"
418 cellspacing="0" width="100%" bgcolor="white">
419<tr><td>
420 <table width="100%" cellpadding="0" cellspacing="0" border="0">
421 <tr valign="top"><td>
422 <h3 class="epydoc"><span class="sig"><span class="sig-name">_create_file_if_needed</span>(<span class="sig-arg">self</span>)</span>
423 </h3>
424 </td><td align="right" valign="top"
425 ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage._create_file_if_needed">source&nbsp;code</a></span>&nbsp;
426 </td>
427 </tr></table>
428
429 <pre class="literalblock">
430Create an empty file if necessary.
431
432This method will not initialize the file. Instead it implements a
433simple version of &quot;touch&quot; to ensure the file has been created.
434
435</pre>
436 <dl class="fields">
437 </dl>
438</td></tr></table>
439</div>
440<a name="locked_put"></a>
441<div>
442<table class="details" border="1" cellpadding="3"
443 cellspacing="0" width="100%" bgcolor="white">
444<tr><td>
445 <table width="100%" cellpadding="0" cellspacing="0" border="0">
446 <tr valign="top"><td>
447 <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_put</span>(<span class="sig-arg">self</span>,
448 <span class="sig-arg">credentials</span>)</span>
449 </h3>
450 </td><td align="right" valign="top"
451 ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_put">source&nbsp;code</a></span>&nbsp;
452 </td>
453 </tr></table>
454
455 <pre class="literalblock">
456Write Credentials to file.
457
458Args:
459 credentials: Credentials, the credentials to store.
460
Joe Gregorio0cd347a2012-08-30 08:22:27 -0400461Raises:
462 CredentialsFileSymbolicLinkError if the file is a symbolic link.
463
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400464</pre>
465 <dl class="fields">
466 <dt>Overrides:
467 <a href="oauth2client.client.Storage-class.html#locked_put">client.Storage.locked_put</a>
468 </dt>
469 </dl>
470</td></tr></table>
471</div>
472<a name="locked_delete"></a>
473<div>
474<table class="details" border="1" cellpadding="3"
475 cellspacing="0" width="100%" bgcolor="white">
476<tr><td>
477 <table width="100%" cellpadding="0" cellspacing="0" border="0">
478 <tr valign="top"><td>
479 <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_delete</span>(<span class="sig-arg">self</span>)</span>
480 </h3>
481 </td><td align="right" valign="top"
482 ><span class="codelink"><a href="oauth2client.file-pysrc.html#Storage.locked_delete">source&nbsp;code</a></span>&nbsp;
483 </td>
484 </tr></table>
485
486 <pre class="literalblock">
487Delete Credentials file.
488
489Args:
490 credentials: Credentials, the credentials to store.
491
492</pre>
493 <dl class="fields">
494 <dt>Overrides:
495 <a href="oauth2client.client.Storage-class.html#locked_delete">client.Storage.locked_delete</a>
496 </dt>
497 </dl>
498</td></tr></table>
499</div>
500<br />
501<!-- ==================== NAVIGATION BAR ==================== -->
502<table class="navbar" border="0" width="100%" cellpadding="0"
503 bgcolor="#a0c0ff" cellspacing="0">
504 <tr valign="middle">
505
506 <!-- Tree link -->
507 <th>&nbsp;&nbsp;&nbsp;<a
508 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
509
510 <!-- Index link -->
511 <th>&nbsp;&nbsp;&nbsp;<a
512 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
513
514 <!-- Help link -->
515 <th>&nbsp;&nbsp;&nbsp;<a
516 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
517
518 <th class="navbar" width="100%"></th>
519 </tr>
520</table>
521<table border="0" cellpadding="0" cellspacing="0" width="100%%">
522 <tr>
523 <td align="left" class="footer">
Joe Gregorio37802c32013-08-06 12:24:05 -0400524 Generated by Epydoc 3.0.1 on Tue Aug 6 12:16:46 2013
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400525 </td>
526 <td align="right" class="footer">
527 <a target="mainFrame" href="http://epydoc.sourceforge.net"
528 >http://epydoc.sourceforge.net</a>
529 </td>
530 </tr>
531</table>
532
533<script type="text/javascript">
534 <!--
535 // Private objects are initially displayed (because if
536 // javascript is turned off then we want them to be
537 // visible); but by default, we want to hide them. So hide
538 // them unless we have a cookie that says to show them.
539 checkCookie();
540 // -->
541</script>
542</body>
543</html>