1
<?xml version="1.0" encoding="ascii"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
"DTD/xhtml1-transitional.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
<title>vita.modules.s3.s3rest.S3Method</title>
7
<link rel="stylesheet" href="epydoc.css" type="text/css" />
8
<script type="text/javascript" src="epydoc.js"></script>
11
<body bgcolor="white" text="black" link="blue" vlink="#204080"
13
<!-- ==================== NAVIGATION BAR ==================== -->
14
<table class="navbar" border="0" width="100%" cellpadding="0"
15
bgcolor="#a0c0ff" cellspacing="0">
18
<th> <a
19
href="vita.modules.s3-module.html">Home</a> </th>
22
<th> <a
23
href="module-tree.html">Trees</a> </th>
26
<th> <a
27
href="identifier-index.html">Indices</a> </th>
30
<th> <a
31
href="help.html">Help</a> </th>
33
<!-- Project homepage -->
34
<th class="navbar" align="right" width="100%">
35
<table border="0" cellpadding="0" cellspacing="0">
36
<tr><th class="navbar" align="center"
37
><a class="navbar" target="_top" href="http://eden.sahanafoundation.org/wiki/S3">S3</a></th>
41
<table width="100%" cellpadding="0" cellspacing="0">
44
<span class="breadcrumbs">
46
Package modules ::
47
<a href="vita.modules.s3-module.html">Package s3</a> ::
48
<a href="vita.modules.s3.s3rest-module.html">Module s3rest</a> ::
53
<table cellpadding="0" cellspacing="0">
54
<!-- hide/show private -->
55
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
56
onclick="toggle_private();">hide private</a>]</span></td></tr>
57
<tr><td align="right"><span class="options"
58
>[<a href="frames.html" target="_top">frames</a
59
>] | <a href="vita.modules.s3.s3rest.S3Method-class.html"
60
target="_top">no frames</a>]</span></td></tr>
65
<!-- ==================== CLASS DESCRIPTION ==================== -->
66
<h1 class="epydoc">Class S3Method</h1><p class="nomargin-top"><span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method">source code</a></span></p>
67
<pre class="base-tree">
70
<strong class="uidshort">S3Method</strong>
74
<p>REST Method Handler Base Class</p>
75
<p>Method handler classes should inherit from this class and implement
76
the apply_method() method.</p>
78
<!-- ==================== INSTANCE METHODS ==================== -->
79
<a name="section-InstanceMethods"></a>
80
<table class="summary" border="1" cellpadding="3"
81
cellspacing="0" width="100%" bgcolor="white">
82
<tr bgcolor="#70b0f0" class="table-header">
83
<td colspan="2" class="table-header">
84
<table border="0" cellpadding="0" cellspacing="0" width="100%">
86
<td align="left"><span class="table-header">Instance Methods</span></td>
87
<td align="right" valign="top"
88
><span class="options">[<a href="#section-InstanceMethods"
89
class="privatelink" onclick="toggle_private();"
90
>hide private</a>]</span></td>
96
<td width="15%" align="right" valign="top" class="summary">
97
<span class="summary-type"> </span>
98
</td><td class="summary">
99
<table width="100%" cellpadding="0" cellspacing="0" border="0">
101
<td><span class="summary-sig"><a href="vita.modules.s3.s3rest.S3Method-class.html#__call__" class="summary-sig-name">__call__</a>(<span class="summary-sig-arg">self</span>,
102
<span class="summary-sig-arg">r</span>,
103
<span class="summary-sig-arg">method</span>=<span class="summary-sig-default">None</span>,
104
<span class="summary-sig-arg">**attr</span>)</span><br />
105
Entry point for the REST interface</td>
106
<td align="right" valign="top">
107
<span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method.__call__">source code</a></span>
116
<td width="15%" align="right" valign="top" class="summary">
117
<span class="summary-type"> </span>
118
</td><td class="summary">
119
<table width="100%" cellpadding="0" cellspacing="0" border="0">
121
<td><span class="summary-sig"><a href="vita.modules.s3.s3rest.S3Method-class.html#apply_method" class="summary-sig-name">apply_method</a>(<span class="summary-sig-arg">self</span>,
122
<span class="summary-sig-arg">r</span>,
123
<span class="summary-sig-arg">**attr</span>)</span><br />
124
Stub for apply_method, to be implemented in subclass</td>
125
<td align="right" valign="top">
126
<span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method.apply_method">source code</a></span>
135
<td width="15%" align="right" valign="top" class="summary">
136
<span class="summary-type"> </span>
137
</td><td class="summary">
138
<table width="100%" cellpadding="0" cellspacing="0" border="0">
140
<td><span class="summary-sig"><a href="vita.modules.s3.s3rest.S3Method-class.html#_config" class="summary-sig-name" onclick="show_private();">_config</a>(<span class="summary-sig-arg">self</span>,
141
<span class="summary-sig-arg">key</span>,
142
<span class="summary-sig-arg">default</span>=<span class="summary-sig-default">None</span>)</span><br />
143
Get a configuration setting of the current table</td>
144
<td align="right" valign="top">
145
<span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method._config">source code</a></span>
154
<td colspan="2" class="summary">
155
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
156
<code>__delattr__</code>,
157
<code>__format__</code>,
158
<code>__getattribute__</code>,
159
<code>__hash__</code>,
160
<code>__init__</code>,
161
<code>__new__</code>,
162
<code>__reduce__</code>,
163
<code>__reduce_ex__</code>,
164
<code>__repr__</code>,
165
<code>__setattr__</code>,
166
<code>__sizeof__</code>,
167
<code>__str__</code>,
168
<code>__subclasshook__</code>
173
<!-- ==================== STATIC METHODS ==================== -->
174
<a name="section-StaticMethods"></a>
175
<table class="summary" border="1" cellpadding="3"
176
cellspacing="0" width="100%" bgcolor="white">
177
<tr bgcolor="#70b0f0" class="table-header">
178
<td colspan="2" class="table-header">
179
<table border="0" cellpadding="0" cellspacing="0" width="100%">
181
<td align="left"><span class="table-header">Static Methods</span></td>
182
<td align="right" valign="top"
183
><span class="options">[<a href="#section-StaticMethods"
184
class="privatelink" onclick="toggle_private();"
185
>hide private</a>]</span></td>
191
<td width="15%" align="right" valign="top" class="summary">
192
<span class="summary-type"> </span>
193
</td><td class="summary">
194
<table width="100%" cellpadding="0" cellspacing="0" border="0">
196
<td><span class="summary-sig"><a href="vita.modules.s3.s3rest.S3Method-class.html#_record_id" class="summary-sig-name" onclick="show_private();">_record_id</a>(<span class="summary-sig-arg">r</span>)</span><br />
197
Get the ID of the target record of a S3Request</td>
198
<td align="right" valign="top">
199
<span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method._record_id">source code</a></span>
208
<td width="15%" align="right" valign="top" class="summary">
209
<span class="summary-type"> </span>
210
</td><td class="summary">
211
<table width="100%" cellpadding="0" cellspacing="0" border="0">
213
<td><span class="summary-sig"><a href="vita.modules.s3.s3rest.S3Method-class.html#_view" class="summary-sig-name" onclick="show_private();">_view</a>(<span class="summary-sig-arg">r</span>,
214
<span class="summary-sig-arg">default</span>,
215
<span class="summary-sig-arg">format</span>=<span class="summary-sig-default">None</span>)</span><br />
216
Get the path to the view stylesheet file</td>
217
<td align="right" valign="top">
218
<span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method._view">source code</a></span>
227
<td width="15%" align="right" valign="top" class="summary">
228
<span class="summary-type"> </span>
229
</td><td class="summary">
230
<table width="100%" cellpadding="0" cellspacing="0" border="0">
232
<td><span class="summary-sig"><a href="vita.modules.s3.s3rest.S3Method-class.html#_extend_view" class="summary-sig-name" onclick="show_private();">_extend_view</a>(<span class="summary-sig-arg">output</span>,
233
<span class="summary-sig-arg">r</span>,
234
<span class="summary-sig-arg">**attr</span>)</span><br />
235
Add additional view variables (invokes all callables)</td>
236
<td align="right" valign="top">
237
<span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method._extend_view">source code</a></span>
246
<!-- ==================== PROPERTIES ==================== -->
247
<a name="section-Properties"></a>
248
<table class="summary" border="1" cellpadding="3"
249
cellspacing="0" width="100%" bgcolor="white">
250
<tr bgcolor="#70b0f0" class="table-header">
251
<td colspan="2" class="table-header">
252
<table border="0" cellpadding="0" cellspacing="0" width="100%">
254
<td align="left"><span class="table-header">Properties</span></td>
255
<td align="right" valign="top"
256
><span class="options">[<a href="#section-Properties"
257
class="privatelink" onclick="toggle_private();"
258
>hide private</a>]</span></td>
264
<td colspan="2" class="summary">
265
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
266
<code>__class__</code>
271
<!-- ==================== METHOD DETAILS ==================== -->
272
<a name="section-MethodDetails"></a>
273
<table class="details" border="1" cellpadding="3"
274
cellspacing="0" width="100%" bgcolor="white">
275
<tr bgcolor="#70b0f0" class="table-header">
276
<td colspan="2" class="table-header">
277
<table border="0" cellpadding="0" cellspacing="0" width="100%">
279
<td align="left"><span class="table-header">Method Details</span></td>
280
<td align="right" valign="top"
281
><span class="options">[<a href="#section-MethodDetails"
282
class="privatelink" onclick="toggle_private();"
283
>hide private</a>]</span></td>
289
<a name="__call__"></a>
291
<table class="details" border="1" cellpadding="3"
292
cellspacing="0" width="100%" bgcolor="white">
294
<table width="100%" cellpadding="0" cellspacing="0" border="0">
295
<tr valign="top"><td>
296
<h3 class="epydoc"><span class="sig"><span class="sig-name">__call__</span>(<span class="sig-arg">self</span>,
297
<span class="sig-arg">r</span>,
298
<span class="sig-arg">method</span>=<span class="sig-default">None</span>,
299
<span class="sig-arg">**attr</span>)</span>
300
<br /><em class="fname">(Call operator)</em>
302
</td><td align="right" valign="top"
303
><span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method.__call__">source code</a></span>
307
<p>Entry point for the REST interface</p>
310
<dd><ul class="nomargin-top">
311
<li><strong class="pname"><code>r</code></strong> - the S3Request</li>
312
<li><strong class="pname"><code>method</code></strong> - the method established by the REST interface</li>
313
<li><strong class="pname"><code>attr</code></strong> - dict of parameters for the method handler</li>
316
<dd>output object to send to the view</dd>
320
<a name="apply_method"></a>
322
<table class="details" border="1" cellpadding="3"
323
cellspacing="0" width="100%" bgcolor="white">
325
<table width="100%" cellpadding="0" cellspacing="0" border="0">
326
<tr valign="top"><td>
327
<h3 class="epydoc"><span class="sig"><span class="sig-name">apply_method</span>(<span class="sig-arg">self</span>,
328
<span class="sig-arg">r</span>,
329
<span class="sig-arg">**attr</span>)</span>
331
</td><td align="right" valign="top"
332
><span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method.apply_method">source code</a></span>
336
<p>Stub for apply_method, to be implemented in subclass</p>
339
<dd><ul class="nomargin-top">
340
<li><strong class="pname"><code>r</code></strong> - the S3Request</li>
341
<li><strong class="pname"><code>attr</code></strong> - dictionary of parameters for the method handler</li>
344
<dd>output object to send to the view</dd>
348
<a name="_record_id"></a>
349
<div class="private">
350
<table class="details" border="1" cellpadding="3"
351
cellspacing="0" width="100%" bgcolor="white">
353
<table width="100%" cellpadding="0" cellspacing="0" border="0">
354
<tr valign="top"><td>
355
<h3 class="epydoc"><span class="sig"><span class="sig-name">_record_id</span>(<span class="sig-arg">r</span>)</span>
356
<br /><em class="fname">Static Method</em>
358
</td><td align="right" valign="top"
359
><span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method._record_id">source code</a></span>
363
<p>Get the ID of the target record of a S3Request</p>
366
<dd><ul class="nomargin-top">
367
<li><strong class="pname"><code>r</code></strong> - the S3Request</li>
372
<a name="_config"></a>
373
<div class="private">
374
<table class="details" border="1" cellpadding="3"
375
cellspacing="0" width="100%" bgcolor="white">
377
<table width="100%" cellpadding="0" cellspacing="0" border="0">
378
<tr valign="top"><td>
379
<h3 class="epydoc"><span class="sig"><span class="sig-name">_config</span>(<span class="sig-arg">self</span>,
380
<span class="sig-arg">key</span>,
381
<span class="sig-arg">default</span>=<span class="sig-default">None</span>)</span>
383
</td><td align="right" valign="top"
384
><span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method._config">source code</a></span>
388
<p>Get a configuration setting of the current table</p>
391
<dd><ul class="nomargin-top">
392
<li><strong class="pname"><code>key</code></strong> - the setting key</li>
393
<li><strong class="pname"><code>default</code></strong> - the default value</li>
399
<div class="private">
400
<table class="details" border="1" cellpadding="3"
401
cellspacing="0" width="100%" bgcolor="white">
403
<table width="100%" cellpadding="0" cellspacing="0" border="0">
404
<tr valign="top"><td>
405
<h3 class="epydoc"><span class="sig"><span class="sig-name">_view</span>(<span class="sig-arg">r</span>,
406
<span class="sig-arg">default</span>,
407
<span class="sig-arg">format</span>=<span class="sig-default">None</span>)</span>
408
<br /><em class="fname">Static Method</em>
410
</td><td align="right" valign="top"
411
><span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method._view">source code</a></span>
415
<p>Get the path to the view stylesheet file</p>
418
<dd><ul class="nomargin-top">
419
<li><strong class="pname"><code>r</code></strong> - the S3Request</li>
420
<li><strong class="pname"><code>default</code></strong> - name of the default view stylesheet file</li>
421
<li><strong class="pname"><code>format</code></strong> - format string (optional)</li>
426
<a name="_extend_view"></a>
427
<div class="private">
428
<table class="details" border="1" cellpadding="3"
429
cellspacing="0" width="100%" bgcolor="white">
431
<table width="100%" cellpadding="0" cellspacing="0" border="0">
432
<tr valign="top"><td>
433
<h3 class="epydoc"><span class="sig"><span class="sig-name">_extend_view</span>(<span class="sig-arg">output</span>,
434
<span class="sig-arg">r</span>,
435
<span class="sig-arg">**attr</span>)</span>
436
<br /><em class="fname">Static Method</em>
438
</td><td align="right" valign="top"
439
><span class="codelink"><a href="vita.modules.s3.s3rest-pysrc.html#S3Method._extend_view">source code</a></span>
443
<p>Add additional view variables (invokes all callables)</p>
446
<dd><ul class="nomargin-top">
447
<li><strong class="pname"><code>output</code></strong> - the output dict</li>
448
<li><strong class="pname"><code>r</code></strong> - the S3Request</li>
449
<li><strong class="pname"><code>attr</code></strong> - the view variables (e.g. 'rheader')</li>
452
<div class="fields"> <p><strong>Note:</strong>
453
overload this method in subclasses if you don't want additional
454
view variables to be added automatically
456
</div></td></tr></table>
459
<!-- ==================== NAVIGATION BAR ==================== -->
460
<table class="navbar" border="0" width="100%" cellpadding="0"
461
bgcolor="#a0c0ff" cellspacing="0">
464
<th> <a
465
href="vita.modules.s3-module.html">Home</a> </th>
468
<th> <a
469
href="module-tree.html">Trees</a> </th>
472
<th> <a
473
href="identifier-index.html">Indices</a> </th>
476
<th> <a
477
href="help.html">Help</a> </th>
479
<!-- Project homepage -->
480
<th class="navbar" align="right" width="100%">
481
<table border="0" cellpadding="0" cellspacing="0">
482
<tr><th class="navbar" align="center"
483
><a class="navbar" target="_top" href="http://eden.sahanafoundation.org/wiki/S3">S3</a></th>
487
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
489
<td align="left" class="footer">
490
Generated by Epydoc 3.0.1 on Tue Mar 29 14:25:41 2011
492
<td align="right" class="footer">
493
<a target="mainFrame" href="http://epydoc.sourceforge.net"
494
>http://epydoc.sourceforge.net</a>
499
<script type="text/javascript">
501
// Private objects are initially displayed (because if
502
// javascript is turned off then we want them to be
503
// visible); but by default, we want to hide them. So hide
504
// them unless we have a cookie that says to show them.