~ubuntu-branches/ubuntu/raring/genshi/raring-proposed

« back to all changes in this revision

Viewing changes to doc/api/genshi.template.directives.DefDirective-class.html

  • Committer: Bazaar Package Importer
  • Author(s): Arnaud Fontaine
  • Date: 2007-04-16 17:49:03 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20070416174903-x2p3n9g890v18d0m
Tags: 0.4-1
* New upstream release.
* Remove useless python-markup transition package.
* Add Provides against python-markup.
* Add doc-base.
* Add depends against python-xml.
* Add suggests to python-setuptools.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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">
 
5
<head>
 
6
  <title>genshi.template.directives.DefDirective</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
  <!-- Home link -->
 
18
      <th>&nbsp;&nbsp;&nbsp;<a
 
19
        href="genshi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
 
20
 
 
21
  <!-- Tree link -->
 
22
      <th>&nbsp;&nbsp;&nbsp;<a
 
23
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
 
24
 
 
25
  <!-- Index link -->
 
26
      <th>&nbsp;&nbsp;&nbsp;<a
 
27
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
 
28
 
 
29
  <!-- Help link -->
 
30
      <th>&nbsp;&nbsp;&nbsp;<a
 
31
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
32
 
 
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="../index.html">Documentation Index</a></th>
 
38
          </tr></table></th>
 
39
  </tr>
 
40
</table>
 
41
<table width="100%" cellpadding="0" cellspacing="0">
 
42
  <tr valign="top">
 
43
    <td width="100%">
 
44
      <span class="breadcrumbs">
 
45
        <a href="genshi-module.html">Package&nbsp;genshi</a> ::
 
46
        <a href="genshi.template-module.html">Package&nbsp;template</a> ::
 
47
        <a href="genshi.template.directives-module.html">Module&nbsp;directives</a> ::
 
48
        Class&nbsp;DefDirective
 
49
      </span>
 
50
    </td>
 
51
    <td>
 
52
      <table cellpadding="0" cellspacing="0">
 
53
        <!-- hide/show private -->
 
54
      </table>
 
55
    </td>
 
56
  </tr>
 
57
</table>
 
58
<!-- ==================== CLASS DESCRIPTION ==================== -->
 
59
<h1 class="epydoc">Class DefDirective</h1><br /><br />
 
60
<pre class="base-tree">
 
61
object --+    
 
62
         |    
 
63
 Directive --+
 
64
             |
 
65
            <strong class="uidshort">DefDirective</strong>
 
66
</pre>
 
67
 
 
68
<hr />
 
69
<p>Implementation of the <tt class="rst-rst-rst-docutils literal rst-rst-docutils literal rst-docutils literal"><span class="pre">py:def</span></tt> template directive.</p>
 
70
<p>This directive can be used to create &quot;Named Template Functions&quot;, which
 
71
are template snippets that are not actually output during normal
 
72
processing, but rather can be expanded from expressions in other places
 
73
in the template.</p>
 
74
<p>A named template function can be used just like a normal Python function
 
75
from template expressions:</p>
 
76
<pre class="py-doctest">
 
77
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> genshi.template <span class="py-keyword">import</span> MarkupTemplate
 
78
<span class="py-prompt">&gt;&gt;&gt; </span>tmpl = MarkupTemplate(<span class="py-string">'''&lt;div xmlns:py=&quot;http://genshi.edgewall.org/&quot;&gt;</span>
 
79
<span class="py-more">... </span><span class="py-string">  &lt;p py:def=&quot;echo(greeting, name='world')&quot; class=&quot;message&quot;&gt;</span>
 
80
<span class="py-more">... </span><span class="py-string">    ${greeting}, ${name}!</span>
 
81
<span class="py-more">... </span><span class="py-string">  &lt;/p&gt;</span>
 
82
<span class="py-more">... </span><span class="py-string">  ${echo('Hi', name='you')}</span>
 
83
<span class="py-more">... </span><span class="py-string">&lt;/div&gt;'''</span>)
 
84
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">print</span> tmpl.generate(bar=<span class="py-string">'Bye'</span>)
 
85
<span class="py-output">&lt;div&gt;</span>
 
86
<span class="py-output">  &lt;p class=&quot;message&quot;&gt;</span>
 
87
<span class="py-output">    Hi, you!</span>
 
88
<span class="py-output">  &lt;/p&gt;</span>
 
89
<span class="py-output">&lt;/div&gt;</span></pre>
 
90
<p>If a function does not require parameters, the parenthesis can be omitted
 
91
in the definition:</p>
 
92
<pre class="py-doctest">
 
93
<span class="py-prompt">&gt;&gt;&gt; </span>tmpl = MarkupTemplate(<span class="py-string">'''&lt;div xmlns:py=&quot;http://genshi.edgewall.org/&quot;&gt;</span>
 
94
<span class="py-more">... </span><span class="py-string">  &lt;p py:def=&quot;helloworld&quot; class=&quot;message&quot;&gt;</span>
 
95
<span class="py-more">... </span><span class="py-string">    Hello, world!</span>
 
96
<span class="py-more">... </span><span class="py-string">  &lt;/p&gt;</span>
 
97
<span class="py-more">... </span><span class="py-string">  ${helloworld()}</span>
 
98
<span class="py-more">... </span><span class="py-string">&lt;/div&gt;'''</span>)
 
99
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">print</span> tmpl.generate(bar=<span class="py-string">'Bye'</span>)
 
100
<span class="py-output">&lt;div&gt;</span>
 
101
<span class="py-output">  &lt;p class=&quot;message&quot;&gt;</span>
 
102
<span class="py-output">    Hello, world!</span>
 
103
<span class="py-output">  &lt;/p&gt;</span>
 
104
<span class="py-output">&lt;/div&gt;</span></pre><br /><br />
 
105
 
 
106
<!-- ==================== NESTED CLASSES ==================== -->
 
107
<a name="section-NestedClasses"></a>
 
108
<table class="summary" border="1" cellpadding="3"
 
109
       cellspacing="0" width="100%" bgcolor="white">
 
110
<tr bgcolor="#70b0f0" class="table-header">
 
111
  <td align="left" colspan="2" class="table-header">
 
112
    <span class="table-header">Nested Classes</span></td>
 
113
</tr>
 
114
  <tr>
 
115
    <td colspan="2" class="summary">
 
116
    <p class="indent-wrapped-lines"><b>Inherited from <code>Directive</code></b>:
 
117
      <code><a href="genshi.template.directives.DirectiveMeta-class.html">__metaclass__</a></code>
 
118
      </p>
 
119
    </td>
 
120
  </tr>
 
121
</table>
 
122
<!-- ==================== INSTANCE METHODS ==================== -->
 
123
<a name="section-InstanceMethods"></a>
 
124
<table class="summary" border="1" cellpadding="3"
 
125
       cellspacing="0" width="100%" bgcolor="white">
 
126
<tr bgcolor="#70b0f0" class="table-header">
 
127
  <td align="left" colspan="2" class="table-header">
 
128
    <span class="table-header">Instance Methods</span></td>
 
129
</tr>
 
130
<tr>
 
131
    <td width="15%" align="right" valign="top" class="summary">
 
132
      <span class="summary-type">&nbsp;</span>
 
133
    </td><td class="summary">
 
134
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
 
135
        <tr>
 
136
          <td><span class="summary-sig"><a href="genshi.template.directives.DefDirective-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
 
137
        <span class="summary-sig-arg">args</span>,
 
138
        <span class="summary-sig-arg">template</span>,
 
139
        <span class="summary-sig-arg">namespaces</span>=<span class="summary-sig-default">None</span>,
 
140
        <span class="summary-sig-arg">lineno</span>=<span class="summary-sig-default">-1</span>,
 
141
        <span class="summary-sig-arg">offset</span>=<span class="summary-sig-default">-1</span>)</span></td>
 
142
          <td align="right" valign="top">
 
143
            
 
144
            
 
145
          </td>
 
146
        </tr>
 
147
      </table>
 
148
      
 
149
    </td>
 
150
  </tr>
 
151
<tr>
 
152
    <td width="15%" align="right" valign="top" class="summary">
 
153
      <span class="summary-type">&nbsp;</span>
 
154
    </td><td class="summary">
 
155
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
 
156
        <tr>
 
157
          <td><span class="summary-sig"><a href="genshi.template.directives.DefDirective-class.html#__call__" class="summary-sig-name">__call__</a>(<span class="summary-sig-arg">self</span>,
 
158
        <span class="summary-sig-arg">stream</span>,
 
159
        <span class="summary-sig-arg">ctxt</span>,
 
160
        <span class="summary-sig-arg">directives</span>)</span><br />
 
161
      Apply the directive to the given stream.</td>
 
162
          <td align="right" valign="top">
 
163
            
 
164
            
 
165
          </td>
 
166
        </tr>
 
167
      </table>
 
168
      
 
169
    </td>
 
170
  </tr>
 
171
<tr>
 
172
    <td width="15%" align="right" valign="top" class="summary">
 
173
      <span class="summary-type">&nbsp;</span>
 
174
    </td><td class="summary">
 
175
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
 
176
        <tr>
 
177
          <td><span class="summary-sig"><a href="genshi.template.directives.DefDirective-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span></td>
 
178
          <td align="right" valign="top">
 
179
            
 
180
            
 
181
          </td>
 
182
        </tr>
 
183
      </table>
 
184
      
 
185
    </td>
 
186
  </tr>
 
187
  <tr>
 
188
    <td colspan="2" class="summary">
 
189
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
 
190
      <code>__delattr__</code>,
 
191
      <code>__getattribute__</code>,
 
192
      <code>__hash__</code>,
 
193
      <code>__new__</code>,
 
194
      <code>__reduce__</code>,
 
195
      <code>__reduce_ex__</code>,
 
196
      <code>__setattr__</code>,
 
197
      <code>__str__</code>
 
198
      </p>
 
199
    </td>
 
200
  </tr>
 
201
</table>
 
202
<!-- ==================== CLASS METHODS ==================== -->
 
203
<a name="section-ClassMethods"></a>
 
204
<table class="summary" border="1" cellpadding="3"
 
205
       cellspacing="0" width="100%" bgcolor="white">
 
206
<tr bgcolor="#70b0f0" class="table-header">
 
207
  <td align="left" colspan="2" class="table-header">
 
208
    <span class="table-header">Class Methods</span></td>
 
209
</tr>
 
210
  <tr>
 
211
    <td colspan="2" class="summary">
 
212
    <p class="indent-wrapped-lines"><b>Inherited from <code>Directive</code></b>:
 
213
      <code>attach</code>
 
214
      </p>
 
215
    </td>
 
216
  </tr>
 
217
</table>
 
218
<!-- ==================== CLASS VARIABLES ==================== -->
 
219
<a name="section-ClassVariables"></a>
 
220
<table class="summary" border="1" cellpadding="3"
 
221
       cellspacing="0" width="100%" bgcolor="white">
 
222
<tr bgcolor="#70b0f0" class="table-header">
 
223
  <td align="left" colspan="2" class="table-header">
 
224
    <span class="table-header">Class Variables</span></td>
 
225
</tr>
 
226
<tr>
 
227
    <td width="15%" align="right" valign="top" class="summary">
 
228
      <span class="summary-type">&nbsp;</span>
 
229
    </td><td class="summary">
 
230
        <a name="ATTRIBUTE"></a><span class="summary-name">ATTRIBUTE</span> = <code title="'function'"><code class="variable-quote">'</code><code class="variable-string">function</code><code class="variable-quote">'</code></code>
 
231
    </td>
 
232
  </tr>
 
233
<tr>
 
234
    <td width="15%" align="right" valign="top" class="summary">
 
235
      <span class="summary-type">&nbsp;</span>
 
236
    </td><td class="summary">
 
237
        <a name="tagname"></a><span class="summary-name">tagname</span> = <code title="'def'"><code class="variable-quote">'</code><code class="variable-string">def</code><code class="variable-quote">'</code></code>
 
238
    </td>
 
239
  </tr>
 
240
</table>
 
241
<!-- ==================== PROPERTIES ==================== -->
 
242
<a name="section-Properties"></a>
 
243
<table class="summary" border="1" cellpadding="3"
 
244
       cellspacing="0" width="100%" bgcolor="white">
 
245
<tr bgcolor="#70b0f0" class="table-header">
 
246
  <td align="left" colspan="2" class="table-header">
 
247
    <span class="table-header">Properties</span></td>
 
248
</tr>
 
249
<tr>
 
250
    <td width="15%" align="right" valign="top" class="summary">
 
251
      <span class="summary-type">&nbsp;</span>
 
252
    </td><td class="summary">
 
253
        <a name="args"></a><span class="summary-name">args</span>
 
254
    </td>
 
255
  </tr>
 
256
<tr>
 
257
    <td width="15%" align="right" valign="top" class="summary">
 
258
      <span class="summary-type">&nbsp;</span>
 
259
    </td><td class="summary">
 
260
        <a name="defaults"></a><span class="summary-name">defaults</span>
 
261
    </td>
 
262
  </tr>
 
263
<tr>
 
264
    <td width="15%" align="right" valign="top" class="summary">
 
265
      <span class="summary-type">&nbsp;</span>
 
266
    </td><td class="summary">
 
267
        <a name="name"></a><span class="summary-name">name</span>
 
268
    </td>
 
269
  </tr>
 
270
  <tr>
 
271
    <td colspan="2" class="summary">
 
272
    <p class="indent-wrapped-lines"><b>Inherited from <code>Directive</code></b>:
 
273
      <code>expr</code>
 
274
      </p>
 
275
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
 
276
      <code>__class__</code>
 
277
      </p>
 
278
    </td>
 
279
  </tr>
 
280
</table>
 
281
<!-- ==================== METHOD DETAILS ==================== -->
 
282
<a name="section-MethodDetails"></a>
 
283
<table class="details" border="1" cellpadding="3"
 
284
       cellspacing="0" width="100%" bgcolor="white">
 
285
<tr bgcolor="#70b0f0" class="table-header">
 
286
  <td align="left" colspan="2" class="table-header">
 
287
    <span class="table-header">Method Details</span></td>
 
288
</tr>
 
289
</table>
 
290
<a name="__init__"></a>
 
291
<div>
 
292
<table class="details" border="1" cellpadding="3"
 
293
       cellspacing="0" width="100%" bgcolor="white">
 
294
<tr><td>
 
295
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
 
296
  <tr valign="top"><td>
 
297
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
 
298
        <span class="sig-arg">args</span>,
 
299
        <span class="sig-arg">template</span>,
 
300
        <span class="sig-arg">namespaces</span>=<span class="sig-default">None</span>,
 
301
        <span class="sig-arg">lineno</span>=<span class="sig-default">-1</span>,
 
302
        <span class="sig-arg">offset</span>=<span class="sig-default">-1</span>)</span>
 
303
    <br /><em class="fname">(Constructor)</em>
 
304
  </h3>
 
305
  </td><td align="right" valign="top"
 
306
    >&nbsp;
 
307
    </td>
 
308
  </table>
 
309
  
 
310
  
 
311
  <dl class="fields">
 
312
    <dt>Overrides:
 
313
      Directive.__init__
 
314
    </dt>
 
315
  </dl>
 
316
</td></tr></table>
 
317
</div>
 
318
<a name="__call__"></a>
 
319
<div>
 
320
<table class="details" border="1" cellpadding="3"
 
321
       cellspacing="0" width="100%" bgcolor="white">
 
322
<tr><td>
 
323
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
 
324
  <tr valign="top"><td>
 
325
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__call__</span>(<span class="sig-arg">self</span>,
 
326
        <span class="sig-arg">stream</span>,
 
327
        <span class="sig-arg">ctxt</span>,
 
328
        <span class="sig-arg">directives</span>)</span>
 
329
    <br /><em class="fname">(Call operator)</em>
 
330
  </h3>
 
331
  </td><td align="right" valign="top"
 
332
    >&nbsp;
 
333
    </td>
 
334
  </table>
 
335
  
 
336
  Apply the directive to the given stream.
 
337
  <dl class="fields">
 
338
    <dt>Overrides:
 
339
      Directive.__call__
 
340
        <dd><em class="note">(inherited documentation)</em></dd>
 
341
    </dt>
 
342
  </dl>
 
343
</td></tr></table>
 
344
</div>
 
345
<a name="__repr__"></a>
 
346
<div>
 
347
<table class="details" border="1" cellpadding="3"
 
348
       cellspacing="0" width="100%" bgcolor="white">
 
349
<tr><td>
 
350
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
 
351
  <tr valign="top"><td>
 
352
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
 
353
    <br /><em class="fname">(Representation operator)</em>
 
354
  </h3>
 
355
  </td><td align="right" valign="top"
 
356
    >&nbsp;
 
357
    </td>
 
358
  </table>
 
359
  
 
360
  
 
361
  <dl class="fields">
 
362
    <dt>Overrides:
 
363
      Directive.__repr__
 
364
    </dt>
 
365
  </dl>
 
366
</td></tr></table>
 
367
</div>
 
368
<br />
 
369
<!-- ==================== NAVIGATION BAR ==================== -->
 
370
<table class="navbar" border="0" width="100%" cellpadding="0"
 
371
       bgcolor="#a0c0ff" cellspacing="0">
 
372
  <tr valign="middle">
 
373
  <!-- Home link -->
 
374
      <th>&nbsp;&nbsp;&nbsp;<a
 
375
        href="genshi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
 
376
 
 
377
  <!-- Tree link -->
 
378
      <th>&nbsp;&nbsp;&nbsp;<a
 
379
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
 
380
 
 
381
  <!-- Index link -->
 
382
      <th>&nbsp;&nbsp;&nbsp;<a
 
383
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
 
384
 
 
385
  <!-- Help link -->
 
386
      <th>&nbsp;&nbsp;&nbsp;<a
 
387
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
388
 
 
389
  <!-- Project homepage -->
 
390
      <th class="navbar" align="right" width="100%">
 
391
        <table border="0" cellpadding="0" cellspacing="0">
 
392
          <tr><th class="navbar" align="center"
 
393
            ><a class="navbar" target="_top" href="../index.html">Documentation Index</a></th>
 
394
          </tr></table></th>
 
395
  </tr>
 
396
</table>
 
397
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
 
398
  <tr>
 
399
    <td align="left" class="footer">
 
400
    Generated by Epydoc 3.0beta1 on Mon Apr 16 16:02:14 2007
 
401
    </td>
 
402
    <td align="right" class="footer">
 
403
      <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
 
404
    </td>
 
405
  </tr>
 
406
</table>
 
407
 
 
408
<script type="text/javascript">
 
409
  <!--
 
410
  // Private objects are initially displayed (because if
 
411
  // javascript is turned off then we want them to be
 
412
  // visible); but by default, we want to hide them.  So hide
 
413
  // them unless we have a cookie that says to show them.
 
414
  checkCookie()
 
415
  // -->
 
416
</script>
 
417
  
 
418
</body>
 
419
</html>