blob: 379f3ccfe25a0ca618460de675d88201f3e38790 [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.appengine.StorageByKeyName</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.appengine-module.html">Module&nbsp;appengine</a> ::
39 Class&nbsp;StorageByKeyName
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.appengine.StorageByKeyName-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 StorageByKeyName</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName">source&nbsp;code</a></span></p>
57<center>
Joe Gregorio746096f2012-06-15 10:53:36 -040058<center> <map id="class_hierarchy_for_storagebyk" name="class_hierarchy_for_storagebyk">
Joe Gregoriof4839b02012-09-06 13:47:24 -040059<area shape="rect" href="oauth2client.appengine.StorageByKeyName-class.html" title="StorageByKeyName" alt="" coords="5,5,144,32"/>
60<area shape="rect" href="oauth2client.client.Storage-class.html" title="client.Storage" alt="" coords="168,5,269,32"/>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040061</map>
Joe Gregorio746096f2012-06-15 10:53:36 -040062 <img src="class_hierarchy_for_storagebyk.gif" alt='' usemap="#class_hierarchy_for_storagebyk" ismap="ismap" class="graph-without-title" />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040063</center>
64</center>
65<hr />
66<pre class="literalblock">
67Store and retrieve a single credential to and from
68the App Engine datastore.
69
70This Storage helper presumes the Credentials
71have been stored as a CredenialsProperty
72on a datastore model class, and that entities
73are stored by key_name.
74
75</pre>
76
77<!-- ==================== INSTANCE METHODS ==================== -->
78<a name="section-InstanceMethods"></a>
79<table class="summary" border="1" cellpadding="3"
80 cellspacing="0" width="100%" bgcolor="white">
81<tr bgcolor="#70b0f0" class="table-header">
82 <td colspan="2" class="table-header">
83 <table border="0" cellpadding="0" cellspacing="0" width="100%">
84 <tr valign="top">
85 <td align="left"><span class="table-header">Instance Methods</span></td>
86 <td align="right" valign="top"
87 ><span class="options">[<a href="#section-InstanceMethods"
88 class="privatelink" onclick="toggle_private();"
89 >hide private</a>]</span></td>
90 </tr>
91 </table>
92 </td>
93</tr>
94<tr>
95 <td width="15%" align="right" valign="top" class="summary">
96 <span class="summary-type">&nbsp;</span>
97 </td><td class="summary">
98 <table width="100%" cellpadding="0" cellspacing="0" border="0">
99 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400100 <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
101 <span class="summary-sig-arg">model</span>,
102 <span class="summary-sig-arg">key_name</span>,
103 <span class="summary-sig-arg">property_name</span>,
104 <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400105 Constructor for Storage.</td>
106 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400107 <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.__init__">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400108
109 </td>
110 </tr>
111 </table>
112
113 </td>
114 </tr>
115<tr>
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 href="oauth2client.appengine.StorageByKeyName-class.html#locked_get" class="summary-sig-name">locked_get</a>(<span class="summary-sig-arg">self</span>)</span><br />
122 Retrieve Credential from datastore.</td>
123 <td align="right" valign="top">
124 <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_get">source&nbsp;code</a></span>
125
126 </td>
127 </tr>
128 </table>
129
130 </td>
131 </tr>
132<tr>
133 <td width="15%" align="right" valign="top" class="summary">
134 <span class="summary-type">&nbsp;</span>
135 </td><td class="summary">
136 <table width="100%" cellpadding="0" cellspacing="0" border="0">
137 <tr>
138 <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#locked_put" class="summary-sig-name">locked_put</a>(<span class="summary-sig-arg">self</span>,
139 <span class="summary-sig-arg">credentials</span>)</span><br />
140 Write a Credentials to the datastore.</td>
141 <td align="right" valign="top">
142 <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_put">source&nbsp;code</a></span>
143
144 </td>
145 </tr>
146 </table>
147
148 </td>
149 </tr>
150<tr>
151 <td width="15%" align="right" valign="top" class="summary">
152 <span class="summary-type">&nbsp;</span>
153 </td><td class="summary">
154 <table width="100%" cellpadding="0" cellspacing="0" border="0">
155 <tr>
156 <td><span class="summary-sig"><a href="oauth2client.appengine.StorageByKeyName-class.html#locked_delete" class="summary-sig-name">locked_delete</a>(<span class="summary-sig-arg">self</span>)</span><br />
157 Delete Credential from datastore.</td>
158 <td align="right" valign="top">
159 <span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_delete">source&nbsp;code</a></span>
160
161 </td>
162 </tr>
163 </table>
164
165 </td>
166 </tr>
167 <tr>
168 <td colspan="2" class="summary">
169 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Storage-class.html">client.Storage</a></code></b>:
170 <code><a href="oauth2client.client.Storage-class.html#acquire_lock">acquire_lock</a></code>,
171 <code><a href="oauth2client.client.Storage-class.html#delete">delete</a></code>,
172 <code><a href="oauth2client.client.Storage-class.html#get">get</a></code>,
173 <code><a href="oauth2client.client.Storage-class.html#put">put</a></code>,
174 <code><a href="oauth2client.client.Storage-class.html#release_lock">release_lock</a></code>
175 </p>
176 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
177 <code>__delattr__</code>,
178 <code>__format__</code>,
179 <code>__getattribute__</code>,
180 <code>__hash__</code>,
181 <code>__new__</code>,
182 <code>__reduce__</code>,
183 <code>__reduce_ex__</code>,
184 <code>__repr__</code>,
185 <code>__setattr__</code>,
186 <code>__sizeof__</code>,
187 <code>__str__</code>,
188 <code>__subclasshook__</code>
189 </p>
190 </td>
191 </tr>
192</table>
193<!-- ==================== PROPERTIES ==================== -->
194<a name="section-Properties"></a>
195<table class="summary" border="1" cellpadding="3"
196 cellspacing="0" width="100%" bgcolor="white">
197<tr bgcolor="#70b0f0" class="table-header">
198 <td colspan="2" class="table-header">
199 <table border="0" cellpadding="0" cellspacing="0" width="100%">
200 <tr valign="top">
201 <td align="left"><span class="table-header">Properties</span></td>
202 <td align="right" valign="top"
203 ><span class="options">[<a href="#section-Properties"
204 class="privatelink" onclick="toggle_private();"
205 >hide private</a>]</span></td>
206 </tr>
207 </table>
208 </td>
209</tr>
210 <tr>
211 <td colspan="2" class="summary">
212 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
213 <code>__class__</code>
214 </p>
215 </td>
216 </tr>
217</table>
218<!-- ==================== METHOD DETAILS ==================== -->
219<a name="section-MethodDetails"></a>
220<table class="details" border="1" cellpadding="3"
221 cellspacing="0" width="100%" bgcolor="white">
222<tr bgcolor="#70b0f0" class="table-header">
223 <td colspan="2" class="table-header">
224 <table border="0" cellpadding="0" cellspacing="0" width="100%">
225 <tr valign="top">
226 <td align="left"><span class="table-header">Method Details</span></td>
227 <td align="right" valign="top"
228 ><span class="options">[<a href="#section-MethodDetails"
229 class="privatelink" onclick="toggle_private();"
230 >hide private</a>]</span></td>
231 </tr>
232 </table>
233 </td>
234</tr>
235</table>
236<a name="__init__"></a>
237<div>
238<table class="details" border="1" cellpadding="3"
239 cellspacing="0" width="100%" bgcolor="white">
240<tr><td>
241 <table width="100%" cellpadding="0" cellspacing="0" border="0">
242 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400243 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
244 <span class="sig-arg">model</span>,
245 <span class="sig-arg">key_name</span>,
246 <span class="sig-arg">property_name</span>,
247 <span class="sig-arg">cache</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400248 <br /><em class="fname">(Constructor)</em>
249 </h3>
250 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400251 ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.__init__">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400252 </td>
253 </tr></table>
254
255 <pre class="literalblock">
256Constructor for Storage.
257
258Args:
259 model: db.Model, model class
260 key_name: string, key name for the entity that has the credentials
261 property_name: string, name of the property that is a CredentialsProperty
262 cache: memcache, a write-through cache to put in front of the datastore
263
264</pre>
265 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400266 <dt>Decorators:</dt>
267 <dd><ul class="nomargin-top">
268 <li><code>@util.positional(4)</code></li>
269 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400270 <dt>Overrides:
271 object.__init__
272 </dt>
273 </dl>
274</td></tr></table>
275</div>
276<a name="locked_get"></a>
277<div>
278<table class="details" border="1" cellpadding="3"
279 cellspacing="0" width="100%" bgcolor="white">
280<tr><td>
281 <table width="100%" cellpadding="0" cellspacing="0" border="0">
282 <tr valign="top"><td>
283 <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_get</span>(<span class="sig-arg">self</span>)</span>
284 </h3>
285 </td><td align="right" valign="top"
286 ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_get">source&nbsp;code</a></span>&nbsp;
287 </td>
288 </tr></table>
289
290 <pre class="literalblock">
291Retrieve Credential from datastore.
292
293Returns:
294 oauth2client.Credentials
295
296</pre>
297 <dl class="fields">
298 <dt>Overrides:
299 <a href="oauth2client.client.Storage-class.html#locked_get">client.Storage.locked_get</a>
300 </dt>
301 </dl>
302</td></tr></table>
303</div>
304<a name="locked_put"></a>
305<div>
306<table class="details" border="1" cellpadding="3"
307 cellspacing="0" width="100%" bgcolor="white">
308<tr><td>
309 <table width="100%" cellpadding="0" cellspacing="0" border="0">
310 <tr valign="top"><td>
311 <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_put</span>(<span class="sig-arg">self</span>,
312 <span class="sig-arg">credentials</span>)</span>
313 </h3>
314 </td><td align="right" valign="top"
315 ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_put">source&nbsp;code</a></span>&nbsp;
316 </td>
317 </tr></table>
318
319 <pre class="literalblock">
320Write a Credentials to the datastore.
321
322Args:
323 credentials: Credentials, the credentials to store.
324
325</pre>
326 <dl class="fields">
327 <dt>Overrides:
328 <a href="oauth2client.client.Storage-class.html#locked_put">client.Storage.locked_put</a>
329 </dt>
330 </dl>
331</td></tr></table>
332</div>
333<a name="locked_delete"></a>
334<div>
335<table class="details" border="1" cellpadding="3"
336 cellspacing="0" width="100%" bgcolor="white">
337<tr><td>
338 <table width="100%" cellpadding="0" cellspacing="0" border="0">
339 <tr valign="top"><td>
340 <h3 class="epydoc"><span class="sig"><span class="sig-name">locked_delete</span>(<span class="sig-arg">self</span>)</span>
341 </h3>
342 </td><td align="right" valign="top"
343 ><span class="codelink"><a href="oauth2client.appengine-pysrc.html#StorageByKeyName.locked_delete">source&nbsp;code</a></span>&nbsp;
344 </td>
345 </tr></table>
346
347 <pre class="literalblock">
348Delete Credential from datastore.
349
350</pre>
351 <dl class="fields">
352 <dt>Overrides:
353 <a href="oauth2client.client.Storage-class.html#locked_delete">client.Storage.locked_delete</a>
354 </dt>
355 </dl>
356</td></tr></table>
357</div>
358<br />
359<!-- ==================== NAVIGATION BAR ==================== -->
360<table class="navbar" border="0" width="100%" cellpadding="0"
361 bgcolor="#a0c0ff" cellspacing="0">
362 <tr valign="middle">
363
364 <!-- Tree link -->
365 <th>&nbsp;&nbsp;&nbsp;<a
366 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
367
368 <!-- Index link -->
369 <th>&nbsp;&nbsp;&nbsp;<a
370 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
371
372 <!-- Help link -->
373 <th>&nbsp;&nbsp;&nbsp;<a
374 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
375
376 <th class="navbar" width="100%"></th>
377 </tr>
378</table>
379<table border="0" cellpadding="0" cellspacing="0" width="100%%">
380 <tr>
381 <td align="left" class="footer">
Joe Gregorio5350efb2012-10-24 08:54:11 -0400382 Generated by Epydoc 3.0.1 on Wed Oct 24 08:53:07 2012
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400383 </td>
384 <td align="right" class="footer">
385 <a target="mainFrame" href="http://epydoc.sourceforge.net"
386 >http://epydoc.sourceforge.net</a>
387 </td>
388 </tr>
389</table>
390
391<script type="text/javascript">
392 <!--
393 // Private objects are initially displayed (because if
394 // javascript is turned off then we want them to be
395 // visible); but by default, we want to hide them. So hide
396 // them unless we have a cookie that says to show them.
397 checkCookie();
398 // -->
399</script>
400</body>
401</html>