234
238
web2py.gluon.serializers.xml
235
239
web2py.gluon.tools.Recaptcha.xml
236
240
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-16', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
237
<a name="L116"></a><tt class="py-lineno"> 116</tt> <tt class="py-line"> </tt>
238
<a name="L117"></a><tt class="py-lineno"> 117</tt> <tt class="py-line"> <tt class="py-comment"># otherwise, make it a string</tt> </tt>
239
<a name="L118"></a><tt class="py-lineno"> 118</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
240
<a name="L119"></a><tt class="py-lineno"> 119</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
241
<a name="L120"></a><tt class="py-lineno"> 120</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
242
<a name="L121"></a><tt class="py-lineno"> 121</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method web2py.gluon.languages.lazyT.encode()=web2py.gluon.languages.lazyT-class.html#encode"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-17', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt> <tt class="py-string">'xmlcharrefreplace'</tt><tt class="py-op">)</tt> </tt>
243
<a name="L122"></a><tt class="py-lineno"> 122</tt> <tt class="py-line"> </tt>
244
<a name="L123"></a><tt class="py-lineno"> 123</tt> <tt class="py-line"> <tt class="py-comment"># ... and do the escaping</tt> </tt>
245
<a name="L124"></a><tt class="py-lineno"> 124</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">cgi</tt><tt class="py-op">.</tt><tt class="py-name">escape</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">quote</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"'"</tt><tt class="py-op">,</tt><tt class="py-string">"&#x27;"</tt><tt class="py-op">)</tt> </tt>
246
<a name="L125"></a><tt class="py-lineno"> 125</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">data</tt> </tt>
247
</div><a name="L126"></a><tt class="py-lineno"> 126</tt> <tt class="py-line"> </tt>
248
<a name="L127"></a><tt class="py-lineno"> 127</tt> <tt class="py-line"> </tt>
249
<a name="URL"></a><div id="URL-def"><a name="L128"></a><tt class="py-lineno"> 128</tt> <a class="py-toggle" href="#" id="URL-toggle" onclick="return toggle('URL');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html-module.html#URL">URL</a><tt class="py-op">(</tt> </tt>
250
<a name="L129"></a><tt class="py-lineno"> 129</tt> <tt class="py-line"> <tt class="py-param">a</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
251
<a name="L130"></a><tt class="py-lineno"> 130</tt> <tt class="py-line"> <tt class="py-param">c</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
252
<a name="L131"></a><tt class="py-lineno"> 131</tt> <tt class="py-line"> <tt class="py-param">f</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
253
<a name="L132"></a><tt class="py-lineno"> 132</tt> <tt class="py-line"> <tt class="py-param">r</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
254
<a name="L133"></a><tt class="py-lineno"> 133</tt> <tt class="py-line"> <tt class="py-param">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
255
<a name="L134"></a><tt class="py-lineno"> 134</tt> <tt class="py-line"> <tt class="py-param">vars</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
256
<a name="L135"></a><tt class="py-lineno"> 135</tt> <tt class="py-line"> <tt class="py-param">anchor</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
257
<a name="L136"></a><tt class="py-lineno"> 136</tt> <tt class="py-line"> <tt class="py-param">extension</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
258
<a name="L137"></a><tt class="py-lineno"> 137</tt> <tt class="py-line"> <tt class="py-param">env</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
259
<a name="L138"></a><tt class="py-lineno"> 138</tt> <tt class="py-line"> <tt class="py-param">hmac_key</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
260
<a name="L139"></a><tt class="py-lineno"> 139</tt> <tt class="py-line"> <tt class="py-param">hash_vars</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
261
<a name="L140"></a><tt class="py-lineno"> 140</tt> <tt class="py-line"> <tt class="py-param">salt</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
262
<a name="L141"></a><tt class="py-lineno"> 141</tt> <tt class="py-line"> <tt class="py-param">user_signature</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
263
<a name="L142"></a><tt class="py-lineno"> 142</tt> <tt class="py-line"> <tt class="py-param">scheme</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
264
<a name="L143"></a><tt class="py-lineno"> 143</tt> <tt class="py-line"> <tt class="py-param">host</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
265
<a name="L144"></a><tt class="py-lineno"> 144</tt> <tt class="py-line"> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
266
<a name="L145"></a><tt class="py-lineno"> 145</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
267
</div><div id="URL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="URL-expanded"><a name="L146"></a><tt class="py-lineno"> 146</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
268
<a name="L147"></a><tt class="py-lineno"> 147</tt> <tt class="py-line"><tt class="py-docstring"> generate a URL</tt> </tt>
269
<a name="L148"></a><tt class="py-lineno"> 148</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
270
<a name="L149"></a><tt class="py-lineno"> 149</tt> <tt class="py-line"><tt class="py-docstring"> example::</tt> </tt>
271
<a name="L150"></a><tt class="py-lineno"> 150</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
272
<a name="L151"></a><tt class="py-lineno"> 151</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['x', 'y', 'z'],</tt> </tt>
273
<a name="L152"></a><tt class="py-lineno"> 152</tt> <tt class="py-line"><tt class="py-docstring"> ... vars={'p':1, 'q':2}, anchor='1'))</tt> </tt>
274
<a name="L153"></a><tt class="py-lineno"> 153</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/x/y/z?p=1&q=2#1'</tt> </tt>
275
<a name="L154"></a><tt class="py-lineno"> 154</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
276
<a name="L155"></a><tt class="py-lineno"> 155</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['x', 'y', 'z'],</tt> </tt>
277
<a name="L156"></a><tt class="py-lineno"> 156</tt> <tt class="py-line"><tt class="py-docstring"> ... vars={'p':(1,3), 'q':2}, anchor='1'))</tt> </tt>
278
<a name="L157"></a><tt class="py-lineno"> 157</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/x/y/z?p=1&p=3&q=2#1'</tt> </tt>
279
<a name="L158"></a><tt class="py-lineno"> 158</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
280
<a name="L159"></a><tt class="py-lineno"> 159</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['x', 'y', 'z'],</tt> </tt>
281
<a name="L160"></a><tt class="py-lineno"> 160</tt> <tt class="py-line"><tt class="py-docstring"> ... vars={'p':(3,1), 'q':2}, anchor='1'))</tt> </tt>
282
<a name="L161"></a><tt class="py-lineno"> 161</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/x/y/z?p=3&p=1&q=2#1'</tt> </tt>
283
<a name="L162"></a><tt class="py-lineno"> 162</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
284
<a name="L163"></a><tt class="py-lineno"> 163</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', anchor='1+2'))</tt> </tt>
285
<a name="L164"></a><tt class="py-lineno"> 164</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f#1%2B2'</tt> </tt>
241
<a name="L118"></a><tt class="py-lineno"> 118</tt> <tt class="py-line"> </tt>
242
<a name="L119"></a><tt class="py-lineno"> 119</tt> <tt class="py-line"> <tt class="py-comment"># otherwise, make it a string</tt> </tt>
243
<a name="L120"></a><tt class="py-lineno"> 120</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
244
<a name="L121"></a><tt class="py-lineno"> 121</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
245
<a name="L122"></a><tt class="py-lineno"> 122</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
246
<a name="L123"></a><tt class="py-lineno"> 123</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method web2py.gluon.languages.lazyT.encode()=web2py.gluon.languages.lazyT-class.html#encode"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-17', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt> <tt class="py-string">'xmlcharrefreplace'</tt><tt class="py-op">)</tt> </tt>
247
<a name="L124"></a><tt class="py-lineno"> 124</tt> <tt class="py-line"> </tt>
248
<a name="L125"></a><tt class="py-lineno"> 125</tt> <tt class="py-line"> <tt class="py-comment"># ... and do the escaping</tt> </tt>
249
<a name="L126"></a><tt class="py-lineno"> 126</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">cgi</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method web2py.gluon.dal.DatabaseStoredFile.escape()=web2py.gluon.dal.DatabaseStoredFile-class.html#escape"><a title="web2py.gluon.dal.DatabaseStoredFile.escape" class="py-name" href="#" onclick="return doclink('link-18', 'escape', 'link-18');">escape</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">quote</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"'"</tt><tt class="py-op">,</tt><tt class="py-string">"&#x27;"</tt><tt class="py-op">)</tt> </tt>
250
<a name="L127"></a><tt class="py-lineno"> 127</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">data</tt> </tt>
251
</div><a name="L128"></a><tt class="py-lineno"> 128</tt> <tt class="py-line"> </tt>
252
<a name="L129"></a><tt class="py-lineno"> 129</tt> <tt class="py-line"> </tt>
253
<a name="URL"></a><div id="URL-def"><a name="L130"></a><tt class="py-lineno"> 130</tt> <a class="py-toggle" href="#" id="URL-toggle" onclick="return toggle('URL');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html-module.html#URL">URL</a><tt class="py-op">(</tt> </tt>
254
<a name="L131"></a><tt class="py-lineno"> 131</tt> <tt class="py-line"> <tt class="py-param">a</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
255
<a name="L132"></a><tt class="py-lineno"> 132</tt> <tt class="py-line"> <tt class="py-param">c</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
256
<a name="L133"></a><tt class="py-lineno"> 133</tt> <tt class="py-line"> <tt class="py-param">f</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
257
<a name="L134"></a><tt class="py-lineno"> 134</tt> <tt class="py-line"> <tt class="py-param">r</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
258
<a name="L135"></a><tt class="py-lineno"> 135</tt> <tt class="py-line"> <tt class="py-param">args</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
259
<a name="L136"></a><tt class="py-lineno"> 136</tt> <tt class="py-line"> <tt class="py-param">vars</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
260
<a name="L137"></a><tt class="py-lineno"> 137</tt> <tt class="py-line"> <tt class="py-param">anchor</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
261
<a name="L138"></a><tt class="py-lineno"> 138</tt> <tt class="py-line"> <tt class="py-param">extension</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
262
<a name="L139"></a><tt class="py-lineno"> 139</tt> <tt class="py-line"> <tt class="py-param">env</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
263
<a name="L140"></a><tt class="py-lineno"> 140</tt> <tt class="py-line"> <tt class="py-param">hmac_key</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
264
<a name="L141"></a><tt class="py-lineno"> 141</tt> <tt class="py-line"> <tt class="py-param">hash_vars</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
265
<a name="L142"></a><tt class="py-lineno"> 142</tt> <tt class="py-line"> <tt class="py-param">salt</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
266
<a name="L143"></a><tt class="py-lineno"> 143</tt> <tt class="py-line"> <tt class="py-param">user_signature</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
267
<a name="L144"></a><tt class="py-lineno"> 144</tt> <tt class="py-line"> <tt class="py-param">scheme</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
268
<a name="L145"></a><tt class="py-lineno"> 145</tt> <tt class="py-line"> <tt class="py-param">host</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
269
<a name="L146"></a><tt class="py-lineno"> 146</tt> <tt class="py-line"> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
270
<a name="L147"></a><tt class="py-lineno"> 147</tt> <tt class="py-line"> <tt class="py-param">encode_embedded_slash</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
271
<a name="L148"></a><tt class="py-lineno"> 148</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
272
</div><div id="URL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="URL-expanded"><a name="L149"></a><tt class="py-lineno"> 149</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
273
<a name="L150"></a><tt class="py-lineno"> 150</tt> <tt class="py-line"><tt class="py-docstring"> generate a URL</tt> </tt>
274
<a name="L151"></a><tt class="py-lineno"> 151</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
275
<a name="L152"></a><tt class="py-lineno"> 152</tt> <tt class="py-line"><tt class="py-docstring"> example::</tt> </tt>
276
<a name="L153"></a><tt class="py-lineno"> 153</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
277
<a name="L154"></a><tt class="py-lineno"> 154</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['x', 'y', 'z'],</tt> </tt>
278
<a name="L155"></a><tt class="py-lineno"> 155</tt> <tt class="py-line"><tt class="py-docstring"> ... vars={'p':1, 'q':2}, anchor='1'))</tt> </tt>
279
<a name="L156"></a><tt class="py-lineno"> 156</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/x/y/z?p=1&q=2#1'</tt> </tt>
280
<a name="L157"></a><tt class="py-lineno"> 157</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
281
<a name="L158"></a><tt class="py-lineno"> 158</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['x', 'y', 'z'],</tt> </tt>
282
<a name="L159"></a><tt class="py-lineno"> 159</tt> <tt class="py-line"><tt class="py-docstring"> ... vars={'p':(1,3), 'q':2}, anchor='1'))</tt> </tt>
283
<a name="L160"></a><tt class="py-lineno"> 160</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/x/y/z?p=1&p=3&q=2#1'</tt> </tt>
284
<a name="L161"></a><tt class="py-lineno"> 161</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
285
<a name="L162"></a><tt class="py-lineno"> 162</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['x', 'y', 'z'],</tt> </tt>
286
<a name="L163"></a><tt class="py-lineno"> 163</tt> <tt class="py-line"><tt class="py-docstring"> ... vars={'p':(3,1), 'q':2}, anchor='1'))</tt> </tt>
287
<a name="L164"></a><tt class="py-lineno"> 164</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/x/y/z?p=3&p=1&q=2#1'</tt> </tt>
286
288
<a name="L165"></a><tt class="py-lineno"> 165</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
287
<a name="L166"></a><tt class="py-lineno"> 166</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['x', 'y', 'z'],</tt> </tt>
288
<a name="L167"></a><tt class="py-lineno"> 167</tt> <tt class="py-line"><tt class="py-docstring"> ... vars={'p':(1,3), 'q':2}, anchor='1', hmac_key='key'))</tt> </tt>
289
<a name="L168"></a><tt class="py-lineno"> 168</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/x/y/z?p=1&p=3&q=2&_signature=5d06bb8a4a6093dd325da2ee591c35c61afbd3c6#1'</tt> </tt>
290
<a name="L169"></a><tt class="py-lineno"> 169</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
291
<a name="L170"></a><tt class="py-lineno"> 170</tt> <tt class="py-line"><tt class="py-docstring"> generates a url '/a/c/f' corresponding to application a, controller c</tt> </tt>
292
<a name="L171"></a><tt class="py-lineno"> 171</tt> <tt class="py-line"><tt class="py-docstring"> and function f. If r=request is passed, a, c, f are set, respectively,</tt> </tt>
293
<a name="L172"></a><tt class="py-lineno"> 172</tt> <tt class="py-line"><tt class="py-docstring"> to r.application, r.controller, r.function.</tt> </tt>
294
<a name="L173"></a><tt class="py-lineno"> 173</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
295
<a name="L174"></a><tt class="py-lineno"> 174</tt> <tt class="py-line"><tt class="py-docstring"> The more typical usage is:</tt> </tt>
289
<a name="L166"></a><tt class="py-lineno"> 166</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', anchor='1+2'))</tt> </tt>
290
<a name="L167"></a><tt class="py-lineno"> 167</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f#1%2B2'</tt> </tt>
291
<a name="L168"></a><tt class="py-lineno"> 168</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
292
<a name="L169"></a><tt class="py-lineno"> 169</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['x', 'y', 'z'],</tt> </tt>
293
<a name="L170"></a><tt class="py-lineno"> 170</tt> <tt class="py-line"><tt class="py-docstring"> ... vars={'p':(1,3), 'q':2}, anchor='1', hmac_key='key'))</tt> </tt>
294
<a name="L171"></a><tt class="py-lineno"> 171</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/x/y/z?p=1&p=3&q=2&_signature=a32530f0d0caa80964bb92aad2bedf8a4486a31f#1'</tt> </tt>
295
<a name="L172"></a><tt class="py-lineno"> 172</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
296
<a name="L173"></a><tt class="py-lineno"> 173</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['w/x', 'y/z']))</tt> </tt>
297
<a name="L174"></a><tt class="py-lineno"> 174</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/w/x/y/z'</tt> </tt>
296
298
<a name="L175"></a><tt class="py-lineno"> 175</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
297
<a name="L176"></a><tt class="py-lineno"> 176</tt> <tt class="py-line"><tt class="py-docstring"> URL(r=request, f='index') that generates a url for the index function</tt> </tt>
298
<a name="L177"></a><tt class="py-lineno"> 177</tt> <tt class="py-line"><tt class="py-docstring"> within the present application and controller.</tt> </tt>
299
<a name="L176"></a><tt class="py-lineno"> 176</tt> <tt class="py-line"><tt class="py-docstring"> >>> str(URL(a='a', c='c', f='f', args=['w/x', 'y/z'], encode_embedded_slash=True))</tt> </tt>
300
<a name="L177"></a><tt class="py-lineno"> 177</tt> <tt class="py-line"><tt class="py-docstring"> '/a/c/f/w%2Fx/y%2Fz'</tt> </tt>
299
301
<a name="L178"></a><tt class="py-lineno"> 178</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
300
<a name="L179"></a><tt class="py-lineno"> 179</tt> <tt class="py-line"><tt class="py-docstring"> :param a: application (default to current if r is given)</tt> </tt>
301
<a name="L180"></a><tt class="py-lineno"> 180</tt> <tt class="py-line"><tt class="py-docstring"> :param c: controller (default to current if r is given)</tt> </tt>
302
<a name="L181"></a><tt class="py-lineno"> 181</tt> <tt class="py-line"><tt class="py-docstring"> :param f: function (default to current if r is given)</tt> </tt>
303
<a name="L182"></a><tt class="py-lineno"> 182</tt> <tt class="py-line"><tt class="py-docstring"> :param r: request (optional)</tt> </tt>
304
<a name="L183"></a><tt class="py-lineno"> 183</tt> <tt class="py-line"><tt class="py-docstring"> :param args: any arguments (optional)</tt> </tt>
305
<a name="L184"></a><tt class="py-lineno"> 184</tt> <tt class="py-line"><tt class="py-docstring"> :param vars: any variables (optional)</tt> </tt>
306
<a name="L185"></a><tt class="py-lineno"> 185</tt> <tt class="py-line"><tt class="py-docstring"> :param anchor: anchorname, without # (optional)</tt> </tt>
307
<a name="L186"></a><tt class="py-lineno"> 186</tt> <tt class="py-line"><tt class="py-docstring"> :param hmac_key: key to use when generating hmac signature (optional)</tt> </tt>
308
<a name="L187"></a><tt class="py-lineno"> 187</tt> <tt class="py-line"><tt class="py-docstring"> :param hash_vars: which of the vars to include in our hmac signature</tt> </tt>
309
<a name="L188"></a><tt class="py-lineno"> 188</tt> <tt class="py-line"><tt class="py-docstring"> True (default) - hash all vars, False - hash none of the vars,</tt> </tt>
310
<a name="L189"></a><tt class="py-lineno"> 189</tt> <tt class="py-line"><tt class="py-docstring"> iterable - hash only the included vars ['key1','key2']</tt> </tt>
311
<a name="L190"></a><tt class="py-lineno"> 190</tt> <tt class="py-line"><tt class="py-docstring"> :param scheme: URI scheme (True, 'http' or 'https', etc); forces absolute URL (optional)</tt> </tt>
312
<a name="L191"></a><tt class="py-lineno"> 191</tt> <tt class="py-line"><tt class="py-docstring"> :param host: string to force absolute URL with host (True means http_host)</tt> </tt>
313
<a name="L192"></a><tt class="py-lineno"> 192</tt> <tt class="py-line"><tt class="py-docstring"> :param port: optional port number (forces absolute URL)</tt> </tt>
314
<a name="L193"></a><tt class="py-lineno"> 193</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
315
<a name="L194"></a><tt class="py-lineno"> 194</tt> <tt class="py-line"><tt class="py-docstring"> :raises SyntaxError: when no application, controller or function is</tt> </tt>
316
<a name="L195"></a><tt class="py-lineno"> 195</tt> <tt class="py-line"><tt class="py-docstring"> available</tt> </tt>
317
<a name="L196"></a><tt class="py-lineno"> 196</tt> <tt class="py-line"><tt class="py-docstring"> :raises SyntaxError: when a CRLF is found in the generated url</tt> </tt>
318
<a name="L197"></a><tt class="py-lineno"> 197</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
319
<a name="L198"></a><tt class="py-lineno"> 198</tt> <tt class="py-line"> </tt>
320
<a name="L199"></a><tt class="py-lineno"> 199</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
321
<a name="L200"></a><tt class="py-lineno"> 200</tt> <tt class="py-line"> <tt class="py-name">vars</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
322
<a name="L201"></a><tt class="py-lineno"> 201</tt> <tt class="py-line"> <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
323
<a name="L202"></a><tt class="py-lineno"> 202</tt> <tt class="py-line"> <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
324
<a name="L203"></a><tt class="py-lineno"> 203</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
325
<a name="L204"></a><tt class="py-lineno"> 204</tt> <tt class="py-line"> </tt>
326
<a name="L205"></a><tt class="py-lineno"> 205</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">r</tt><tt class="py-op">:</tt> </tt>
327
<a name="L206"></a><tt class="py-lineno"> 206</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">a</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">c</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
328
<a name="L207"></a><tt class="py-lineno"> 207</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">a</tt> <tt class="py-keyword">and</tt> <tt class="py-name">c</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">f</tt><tt class="py-op">,</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
329
<a name="L208"></a><tt class="py-lineno"> 208</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-18" class="py-name" targets="Module web2py.gluon.globals=web2py.gluon.globals-module.html"><a title="web2py.gluon.globals" class="py-name" href="#" onclick="return doclink('link-18', 'globals', 'link-18');">globals</a></tt> <tt class="py-keyword">import</tt> <tt id="link-19" class="py-name" targets="Variable web2py.gluon.current=web2py.gluon-module.html#current,Variable web2py.gluon.globals.current=web2py.gluon.globals-module.html#current,Variable web2py.gluon.tools.current=web2py.gluon.tools-module.html#current"><a title="web2py.gluon.current
330
web2py.gluon.globals.current
331
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-19', 'current', 'link-19');">current</a></tt> </tt>
332
<a name="L209"></a><tt class="py-lineno"> 209</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="web2py.gluon.current
333
web2py.gluon.globals.current
334
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-20', 'current', 'link-19');">current</a></tt><tt class="py-op">,</tt><tt class="py-string">'request'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
335
<a name="L210"></a><tt class="py-lineno"> 210</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="web2py.gluon.current
336
web2py.gluon.globals.current
337
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-21', 'current', 'link-19');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">request</tt> </tt>
338
<a name="L211"></a><tt class="py-lineno"> 211</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">r</tt><tt class="py-op">:</tt> </tt>
339
<a name="L212"></a><tt class="py-lineno"> 212</tt> <tt class="py-line"> <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">application</tt> </tt>
340
<a name="L213"></a><tt class="py-lineno"> 213</tt> <tt class="py-line"> <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">controller</tt> </tt>
341
<a name="L214"></a><tt class="py-lineno"> 214</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">function</tt> </tt>
342
<a name="L215"></a><tt class="py-lineno"> 215</tt> <tt class="py-line"> <tt id="link-22" class="py-name" targets="Function web2py.gluon.shell.env()=web2py.gluon.shell-module.html#env"><a title="web2py.gluon.shell.env" class="py-name" href="#" onclick="return doclink('link-22', 'env', 'link-22');">env</a></tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="web2py.gluon.shell.env" class="py-name" href="#" onclick="return doclink('link-23', 'env', 'link-22');">env</a></tt> </tt>
343
<a name="L216"></a><tt class="py-lineno"> 216</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">extension</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt> <tt class="py-op">!=</tt> <tt class="py-string">'html'</tt><tt class="py-op">:</tt> </tt>
344
<a name="L217"></a><tt class="py-lineno"> 217</tt> <tt class="py-line"> <tt class="py-name">extension</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt> </tt>
345
<a name="L218"></a><tt class="py-lineno"> 218</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
346
<a name="L219"></a><tt class="py-lineno"> 219</tt> <tt class="py-line"> <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">a</tt> </tt>
347
<a name="L220"></a><tt class="py-lineno"> 220</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">:</tt> </tt>
348
<a name="L221"></a><tt class="py-lineno"> 221</tt> <tt class="py-line"> <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt> </tt>
349
<a name="L222"></a><tt class="py-lineno"> 222</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
350
<a name="L223"></a><tt class="py-lineno"> 223</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
351
<a name="L224"></a><tt class="py-lineno"> 224</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> </tt>
352
<a name="L225"></a><tt class="py-lineno"> 225</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-string">'.'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
353
<a name="L226"></a><tt class="py-lineno"> 226</tt> <tt class="py-line"> <tt class="py-name">function</tt><tt class="py-op">,</tt> <tt class="py-name">extension</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
354
<a name="L227"></a><tt class="py-lineno"> 227</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
355
<a name="L228"></a><tt class="py-lineno"> 228</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt> </tt>
356
<a name="L229"></a><tt class="py-lineno"> 229</tt> <tt class="py-line"> </tt>
357
<a name="L230"></a><tt class="py-lineno"> 230</tt> <tt class="py-line"> <tt class="py-name">function2</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s.%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">function</tt><tt class="py-op">,</tt><tt class="py-name">extension</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
358
<a name="L231"></a><tt class="py-lineno"> 231</tt> <tt class="py-line"> </tt>
359
<a name="L232"></a><tt class="py-lineno"> 232</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">application</tt> <tt class="py-keyword">and</tt> <tt class="py-name">controller</tt> <tt class="py-keyword">and</tt> <tt class="py-name">function</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
360
<a name="L233"></a><tt class="py-lineno"> 233</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">,</tt> <tt class="py-string">'not enough information to build the url'</tt> </tt>
361
<a name="L234"></a><tt class="py-lineno"> 234</tt> <tt class="py-line"> </tt>
362
<a name="L235"></a><tt class="py-lineno"> 235</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
363
<a name="L236"></a><tt class="py-lineno"> 236</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">args</tt><tt class="py-op">]</tt> </tt>
364
<a name="L237"></a><tt class="py-lineno"> 237</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="web2py.gluon.html.join" class="py-name" href="#" onclick="return doclink('link-24', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-25" class="py-name" targets="Variable sqlite3.dbapi2.x=sqlite3.dbapi2-module.html#x"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-25', 'x', 'link-25');">x</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-26" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-26', 'x', 'link-25');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
365
<a name="L238"></a><tt class="py-lineno"> 238</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">other</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method web2py.gluon.dal.Expression.endswith()=web2py.gluon.dal.Expression-class.html#endswith"><a title="web2py.gluon.dal.Expression.endswith" class="py-name" href="#" onclick="return doclink('link-27', 'endswith', 'link-27');">endswith</a></tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
366
<a name="L239"></a><tt class="py-lineno"> 239</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">+=</tt> <tt class="py-string">'/'</tt> <tt class="py-comment"># add trailing slash to make last trailing empty arg explicit</tt> </tt>
302
<a name="L179"></a><tt class="py-lineno"> 179</tt> <tt class="py-line"><tt class="py-docstring"> generates a url '/a/c/f' corresponding to application a, controller c</tt> </tt>
303
<a name="L180"></a><tt class="py-lineno"> 180</tt> <tt class="py-line"><tt class="py-docstring"> and function f. If r=request is passed, a, c, f are set, respectively,</tt> </tt>
304
<a name="L181"></a><tt class="py-lineno"> 181</tt> <tt class="py-line"><tt class="py-docstring"> to r.application, r.controller, r.function.</tt> </tt>
305
<a name="L182"></a><tt class="py-lineno"> 182</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
306
<a name="L183"></a><tt class="py-lineno"> 183</tt> <tt class="py-line"><tt class="py-docstring"> The more typical usage is:</tt> </tt>
307
<a name="L184"></a><tt class="py-lineno"> 184</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
308
<a name="L185"></a><tt class="py-lineno"> 185</tt> <tt class="py-line"><tt class="py-docstring"> URL(r=request, f='index') that generates a url for the index function</tt> </tt>
309
<a name="L186"></a><tt class="py-lineno"> 186</tt> <tt class="py-line"><tt class="py-docstring"> within the present application and controller.</tt> </tt>
310
<a name="L187"></a><tt class="py-lineno"> 187</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
311
<a name="L188"></a><tt class="py-lineno"> 188</tt> <tt class="py-line"><tt class="py-docstring"> :param a: application (default to current if r is given)</tt> </tt>
312
<a name="L189"></a><tt class="py-lineno"> 189</tt> <tt class="py-line"><tt class="py-docstring"> :param c: controller (default to current if r is given)</tt> </tt>
313
<a name="L190"></a><tt class="py-lineno"> 190</tt> <tt class="py-line"><tt class="py-docstring"> :param f: function (default to current if r is given)</tt> </tt>
314
<a name="L191"></a><tt class="py-lineno"> 191</tt> <tt class="py-line"><tt class="py-docstring"> :param r: request (optional)</tt> </tt>
315
<a name="L192"></a><tt class="py-lineno"> 192</tt> <tt class="py-line"><tt class="py-docstring"> :param args: any arguments (optional)</tt> </tt>
316
<a name="L193"></a><tt class="py-lineno"> 193</tt> <tt class="py-line"><tt class="py-docstring"> :param vars: any variables (optional)</tt> </tt>
317
<a name="L194"></a><tt class="py-lineno"> 194</tt> <tt class="py-line"><tt class="py-docstring"> :param anchor: anchorname, without # (optional)</tt> </tt>
318
<a name="L195"></a><tt class="py-lineno"> 195</tt> <tt class="py-line"><tt class="py-docstring"> :param hmac_key: key to use when generating hmac signature (optional)</tt> </tt>
319
<a name="L196"></a><tt class="py-lineno"> 196</tt> <tt class="py-line"><tt class="py-docstring"> :param hash_vars: which of the vars to include in our hmac signature</tt> </tt>
320
<a name="L197"></a><tt class="py-lineno"> 197</tt> <tt class="py-line"><tt class="py-docstring"> True (default) - hash all vars, False - hash none of the vars,</tt> </tt>
321
<a name="L198"></a><tt class="py-lineno"> 198</tt> <tt class="py-line"><tt class="py-docstring"> iterable - hash only the included vars ['key1','key2']</tt> </tt>
322
<a name="L199"></a><tt class="py-lineno"> 199</tt> <tt class="py-line"><tt class="py-docstring"> :param scheme: URI scheme (True, 'http' or 'https', etc); forces absolute URL (optional)</tt> </tt>
323
<a name="L200"></a><tt class="py-lineno"> 200</tt> <tt class="py-line"><tt class="py-docstring"> :param host: string to force absolute URL with host (True means http_host)</tt> </tt>
324
<a name="L201"></a><tt class="py-lineno"> 201</tt> <tt class="py-line"><tt class="py-docstring"> :param port: optional port number (forces absolute URL)</tt> </tt>
325
<a name="L202"></a><tt class="py-lineno"> 202</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
326
<a name="L203"></a><tt class="py-lineno"> 203</tt> <tt class="py-line"><tt class="py-docstring"> :raises SyntaxError: when no application, controller or function is</tt> </tt>
327
<a name="L204"></a><tt class="py-lineno"> 204</tt> <tt class="py-line"><tt class="py-docstring"> available</tt> </tt>
328
<a name="L205"></a><tt class="py-lineno"> 205</tt> <tt class="py-line"><tt class="py-docstring"> :raises SyntaxError: when a CRLF is found in the generated url</tt> </tt>
329
<a name="L206"></a><tt class="py-lineno"> 206</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
330
<a name="L207"></a><tt class="py-lineno"> 207</tt> <tt class="py-line"> </tt>
331
<a name="L208"></a><tt class="py-lineno"> 208</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
332
<a name="L209"></a><tt class="py-lineno"> 209</tt> <tt class="py-line"> <tt class="py-name">vars</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
333
<a name="L210"></a><tt class="py-lineno"> 210</tt> <tt class="py-line"> <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
334
<a name="L211"></a><tt class="py-lineno"> 211</tt> <tt class="py-line"> <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
335
<a name="L212"></a><tt class="py-lineno"> 212</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
336
<a name="L213"></a><tt class="py-lineno"> 213</tt> <tt class="py-line"> </tt>
337
<a name="L214"></a><tt class="py-lineno"> 214</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">r</tt><tt class="py-op">:</tt> </tt>
338
<a name="L215"></a><tt class="py-lineno"> 215</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">a</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">c</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
339
<a name="L216"></a><tt class="py-lineno"> 216</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">a</tt> <tt class="py-keyword">and</tt> <tt class="py-name">c</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">f</tt><tt class="py-op">,</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
340
<a name="L217"></a><tt class="py-lineno"> 217</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-19" class="py-name" targets="Module web2py.gluon.globals=web2py.gluon.globals-module.html"><a title="web2py.gluon.globals" class="py-name" href="#" onclick="return doclink('link-19', 'globals', 'link-19');">globals</a></tt> <tt class="py-keyword">import</tt> <tt id="link-20" class="py-name" targets="Variable web2py.gluon.current=web2py.gluon-module.html#current,Variable web2py.gluon.globals.current=web2py.gluon.globals-module.html#current,Variable web2py.gluon.tools.current=web2py.gluon.tools-module.html#current"><a title="web2py.gluon.current
341
web2py.gluon.globals.current
342
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-20', 'current', 'link-20');">current</a></tt> </tt>
343
<a name="L218"></a><tt class="py-lineno"> 218</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-21" class="py-name"><a title="web2py.gluon.current
344
web2py.gluon.globals.current
345
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-21', 'current', 'link-20');">current</a></tt><tt class="py-op">,</tt><tt class="py-string">'request'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
346
<a name="L219"></a><tt class="py-lineno"> 219</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="web2py.gluon.current
347
web2py.gluon.globals.current
348
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-22', 'current', 'link-20');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">request</tt> </tt>
349
<a name="L220"></a><tt class="py-lineno"> 220</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">r</tt><tt class="py-op">:</tt> </tt>
350
<a name="L221"></a><tt class="py-lineno"> 221</tt> <tt class="py-line"> <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">application</tt> </tt>
351
<a name="L222"></a><tt class="py-lineno"> 222</tt> <tt class="py-line"> <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">controller</tt> </tt>
352
<a name="L223"></a><tt class="py-lineno"> 223</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">function</tt> </tt>
353
<a name="L224"></a><tt class="py-lineno"> 224</tt> <tt class="py-line"> <tt id="link-23" class="py-name" targets="Function web2py.gluon.shell.env()=web2py.gluon.shell-module.html#env"><a title="web2py.gluon.shell.env" class="py-name" href="#" onclick="return doclink('link-23', 'env', 'link-23');">env</a></tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="web2py.gluon.shell.env" class="py-name" href="#" onclick="return doclink('link-24', 'env', 'link-23');">env</a></tt> </tt>
354
<a name="L225"></a><tt class="py-lineno"> 225</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">extension</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt> <tt class="py-op">!=</tt> <tt class="py-string">'html'</tt><tt class="py-op">:</tt> </tt>
355
<a name="L226"></a><tt class="py-lineno"> 226</tt> <tt class="py-line"> <tt class="py-name">extension</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt> </tt>
356
<a name="L227"></a><tt class="py-lineno"> 227</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
357
<a name="L228"></a><tt class="py-lineno"> 228</tt> <tt class="py-line"> <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">a</tt> </tt>
358
<a name="L229"></a><tt class="py-lineno"> 229</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">:</tt> </tt>
359
<a name="L230"></a><tt class="py-lineno"> 230</tt> <tt class="py-line"> <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt> </tt>
360
<a name="L231"></a><tt class="py-lineno"> 231</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
361
<a name="L232"></a><tt class="py-lineno"> 232</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
362
<a name="L233"></a><tt class="py-lineno"> 233</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> </tt>
363
<a name="L234"></a><tt class="py-lineno"> 234</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-string">'.'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
364
<a name="L235"></a><tt class="py-lineno"> 235</tt> <tt class="py-line"> <tt class="py-name">function</tt><tt class="py-op">,</tt> <tt class="py-name">extension</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
365
<a name="L236"></a><tt class="py-lineno"> 236</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
366
<a name="L237"></a><tt class="py-lineno"> 237</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt> </tt>
367
<a name="L238"></a><tt class="py-lineno"> 238</tt> <tt class="py-line"> </tt>
368
<a name="L239"></a><tt class="py-lineno"> 239</tt> <tt class="py-line"> <tt class="py-name">function2</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s.%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">function</tt><tt class="py-op">,</tt><tt class="py-name">extension</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
367
369
<a name="L240"></a><tt class="py-lineno"> 240</tt> <tt class="py-line"> </tt>
368
<a name="L241"></a><tt class="py-lineno"> 241</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">vars</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method web2py.gluon.rocket.Headers.has_key()=web2py.gluon.rocket.Headers-class.html#has_key"><a title="web2py.gluon.rocket.Headers.has_key" class="py-name" href="#" onclick="return doclink('link-28', 'has_key', 'link-28');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">vars</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">)</tt> </tt>
369
<a name="L242"></a><tt class="py-lineno"> 242</tt> <tt class="py-line"> <tt class="py-name">list_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
370
<a name="L243"></a><tt class="py-lineno"> 243</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">vals</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method web2py.gluon.rocket.Headers.items()=web2py.gluon.rocket.Headers-class.html#items"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-29', 'items', 'link-29');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
371
<a name="L244"></a><tt class="py-lineno"> 244</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
372
<a name="L245"></a><tt class="py-lineno"> 245</tt> <tt class="py-line"> <tt class="py-name">vals</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">vals</tt><tt class="py-op">]</tt> </tt>
373
<a name="L246"></a><tt class="py-lineno"> 246</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">vals</tt><tt class="py-op">:</tt> </tt>
374
<a name="L247"></a><tt class="py-lineno"> 247</tt> <tt class="py-line"> <tt class="py-name">list_vars</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method web2py.gluon.html.DIV.append()=web2py.gluon.html.DIV-class.html#append,Method web2py.gluon.template.BlockNode.append()=web2py.gluon.template.BlockNode-class.html#append,Method web2py.gluon.template.Content.append()=web2py.gluon.template.Content-class.html#append"><a title="web2py.gluon.html.DIV.append
375
web2py.gluon.template.BlockNode.append
376
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-30', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
377
<a name="L248"></a><tt class="py-lineno"> 248</tt> <tt class="py-line"> </tt>
378
<a name="L249"></a><tt class="py-lineno"> 249</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">user_signature</tt><tt class="py-op">:</tt> </tt>
379
<a name="L250"></a><tt class="py-lineno"> 250</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-31" class="py-name"><a title="web2py.gluon.globals" class="py-name" href="#" onclick="return doclink('link-31', 'globals', 'link-18');">globals</a></tt> <tt class="py-keyword">import</tt> <tt id="link-32" class="py-name"><a title="web2py.gluon.current
380
web2py.gluon.globals.current
381
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-32', 'current', 'link-19');">current</a></tt> </tt>
382
<a name="L251"></a><tt class="py-lineno"> 251</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-33" class="py-name"><a title="web2py.gluon.current
383
web2py.gluon.globals.current
384
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-33', 'current', 'link-19');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">.</tt><tt class="py-name">auth</tt><tt class="py-op">:</tt> </tt>
385
<a name="L252"></a><tt class="py-lineno"> 252</tt> <tt class="py-line"> <tt class="py-name">hmac_key</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="web2py.gluon.current
386
web2py.gluon.globals.current
387
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-34', 'current', 'link-19');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">.</tt><tt class="py-name">auth</tt><tt class="py-op">.</tt><tt class="py-name">hmac_key</tt> </tt>
388
<a name="L253"></a><tt class="py-lineno"> 253</tt> <tt class="py-line"> </tt>
389
<a name="L254"></a><tt class="py-lineno"> 254</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hmac_key</tt><tt class="py-op">:</tt> </tt>
390
<a name="L255"></a><tt class="py-lineno"> 255</tt> <tt class="py-line"> <tt class="py-comment"># generate an hmac signature of the vars & args so can later</tt> </tt>
391
<a name="L256"></a><tt class="py-lineno"> 256</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># verify the user hasn't messed with anything</tt> </tt>
392
<a name="L257"></a><tt class="py-lineno"> 257</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
393
<a name="L258"></a><tt class="py-lineno"> 258</tt> <tt class="py-line"> <tt class="py-name">h_args</tt> <tt class="py-op">=</tt> <tt class="py-string">'/%s/%s/%s%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">application</tt><tt class="py-op">,</tt> <tt class="py-name">controller</tt><tt class="py-op">,</tt> <tt class="py-name">function2</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
394
<a name="L259"></a><tt class="py-lineno"> 259</tt> <tt class="py-line"> </tt>
395
<a name="L260"></a><tt class="py-lineno"> 260</tt> <tt class="py-line"> <tt class="py-comment"># how many of the vars should we include in our hash?</tt> </tt>
396
<a name="L261"></a><tt class="py-lineno"> 261</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> <tt class="py-comment"># include them all</tt> </tt>
397
<a name="L262"></a><tt class="py-lineno"> 262</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-name">list_vars</tt> </tt>
398
<a name="L263"></a><tt class="py-lineno"> 263</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> <tt class="py-comment"># include none of them</tt> </tt>
399
<a name="L264"></a><tt class="py-lineno"> 264</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
400
<a name="L265"></a><tt class="py-lineno"> 265</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment"># include just those specified</tt> </tt>
401
<a name="L266"></a><tt class="py-lineno"> 266</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">hash_vars</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
402
<a name="L267"></a><tt class="py-lineno"> 267</tt> <tt class="py-line"> <tt class="py-name">hash_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">hash_vars</tt><tt class="py-op">]</tt> </tt>
403
<a name="L268"></a><tt class="py-lineno"> 268</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-35" class="py-name" targets="Variable psycopg2.k=psycopg2-module.html#k"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-35', 'k', 'link-35');">k</a></tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt id="link-36" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-36', 'k', 'link-35');">k</a></tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list_vars</tt> <tt class="py-keyword">if</tt> <tt id="link-37" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-37', 'k', 'link-35');">k</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">hash_vars</tt><tt class="py-op">]</tt> </tt>
404
<a name="L269"></a><tt class="py-lineno"> 269</tt> <tt class="py-line"> </tt>
405
<a name="L270"></a><tt class="py-lineno"> 270</tt> <tt class="py-line"> <tt class="py-comment"># re-assembling the same way during hash authentication</tt> </tt>
406
<a name="L271"></a><tt class="py-lineno"> 271</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-38" class="py-name" targets="Variable web2py.gluon.http.HTTP.message=web2py.gluon.http.HTTP-class.html#message"><a title="web2py.gluon.http.HTTP.message" class="py-name" href="#" onclick="return doclink('link-38', 'message', 'link-38');">message</a></tt> <tt class="py-op">=</tt> <tt class="py-name">h_args</tt> <tt class="py-op">+</tt> <tt class="py-string">'?'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">h_vars</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
407
<a name="L272"></a><tt class="py-lineno"> 272</tt> <tt class="py-line"> </tt>
408
<a name="L273"></a><tt class="py-lineno"> 273</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="web2py.gluon.utils.hmac_hash" class="py-name" href="#" onclick="return doclink('link-39', 'hmac_hash', 'link-11');">hmac_hash</a></tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="web2py.gluon.http.HTTP.message" class="py-name" href="#" onclick="return doclink('link-40', 'message', 'link-38');">message</a></tt><tt class="py-op">,</tt><tt class="py-name">hmac_key</tt><tt class="py-op">,</tt><tt class="py-name">salt</tt><tt class="py-op">=</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt> </tt>
409
<a name="L274"></a><tt class="py-lineno"> 274</tt> <tt class="py-line"> <tt class="py-comment"># add the signature into vars</tt> </tt>
410
<a name="L275"></a><tt class="py-lineno"> 275</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">list_vars</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="web2py.gluon.html.DIV.append
411
web2py.gluon.template.BlockNode.append
412
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-41', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">,</tt> <tt class="py-name">sig</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
370
<a name="L241"></a><tt class="py-lineno"> 241</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">application</tt> <tt class="py-keyword">and</tt> <tt class="py-name">controller</tt> <tt class="py-keyword">and</tt> <tt class="py-name">function</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
371
<a name="L242"></a><tt class="py-lineno"> 242</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">,</tt> <tt class="py-string">'not enough information to build the url'</tt> </tt>
372
<a name="L243"></a><tt class="py-lineno"> 243</tt> <tt class="py-line"> </tt>
373
<a name="L244"></a><tt class="py-lineno"> 244</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
374
<a name="L245"></a><tt class="py-lineno"> 245</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">args</tt><tt class="py-op">]</tt> </tt>
375
<a name="L246"></a><tt class="py-lineno"> 246</tt> <tt class="py-line"> </tt>
376
<a name="L247"></a><tt class="py-lineno"> 247</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
377
<a name="L248"></a><tt class="py-lineno"> 248</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">encode_embedded_slash</tt><tt class="py-op">:</tt> </tt>
378
<a name="L249"></a><tt class="py-lineno"> 249</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="web2py.gluon.html.join
379
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-25', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name" targets="Variable sqlite3.dbapi2.x=sqlite3.dbapi2-module.html#x"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-26', 'x', 'link-26');">x</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-27" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-27', 'x', 'link-26');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
380
<a name="L250"></a><tt class="py-lineno"> 250</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
381
<a name="L251"></a><tt class="py-lineno"> 251</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="web2py.gluon.html.join
382
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-28', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-29', 'x', 'link-26');">x</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-30" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-30', 'x', 'link-26');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
383
<a name="L252"></a><tt class="py-lineno"> 252</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
384
<a name="L253"></a><tt class="py-lineno"> 253</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
385
<a name="L254"></a><tt class="py-lineno"> 254</tt> <tt class="py-line"> </tt>
386
<a name="L255"></a><tt class="py-lineno"> 255</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">other</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method web2py.gluon.dal.Expression.endswith()=web2py.gluon.dal.Expression-class.html#endswith"><a title="web2py.gluon.dal.Expression.endswith" class="py-name" href="#" onclick="return doclink('link-31', 'endswith', 'link-31');">endswith</a></tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
387
<a name="L256"></a><tt class="py-lineno"> 256</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">+=</tt> <tt class="py-string">'/'</tt> <tt class="py-comment"># add trailing slash to make last trailing empty arg explicit</tt> </tt>
388
<a name="L257"></a><tt class="py-lineno"> 257</tt> <tt class="py-line"> </tt>
389
<a name="L258"></a><tt class="py-lineno"> 258</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">vars</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">vars</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">)</tt> </tt>
390
<a name="L259"></a><tt class="py-lineno"> 259</tt> <tt class="py-line"> <tt class="py-name">list_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
391
<a name="L260"></a><tt class="py-lineno"> 260</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">vals</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
392
<a name="L261"></a><tt class="py-lineno"> 261</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
393
<a name="L262"></a><tt class="py-lineno"> 262</tt> <tt class="py-line"> <tt class="py-name">vals</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">vals</tt><tt class="py-op">]</tt> </tt>
394
<a name="L263"></a><tt class="py-lineno"> 263</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">vals</tt><tt class="py-op">:</tt> </tt>
395
<a name="L264"></a><tt class="py-lineno"> 264</tt> <tt class="py-line"> <tt class="py-name">list_vars</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method web2py.gluon.html.DIV.append()=web2py.gluon.html.DIV-class.html#append,Method web2py.gluon.template.BlockNode.append()=web2py.gluon.template.BlockNode-class.html#append,Method web2py.gluon.template.Content.append()=web2py.gluon.template.Content-class.html#append"><a title="web2py.gluon.html.DIV.append
396
web2py.gluon.template.BlockNode.append
397
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-32', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
398
<a name="L265"></a><tt class="py-lineno"> 265</tt> <tt class="py-line"> </tt>
399
<a name="L266"></a><tt class="py-lineno"> 266</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">user_signature</tt><tt class="py-op">:</tt> </tt>
400
<a name="L267"></a><tt class="py-lineno"> 267</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-33" class="py-name"><a title="web2py.gluon.globals" class="py-name" href="#" onclick="return doclink('link-33', 'globals', 'link-19');">globals</a></tt> <tt class="py-keyword">import</tt> <tt id="link-34" class="py-name"><a title="web2py.gluon.current
401
web2py.gluon.globals.current
402
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-34', 'current', 'link-20');">current</a></tt> </tt>
403
<a name="L268"></a><tt class="py-lineno"> 268</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-35" class="py-name"><a title="web2py.gluon.current
404
web2py.gluon.globals.current
405
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-35', 'current', 'link-20');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">.</tt><tt class="py-name">auth</tt><tt class="py-op">:</tt> </tt>
406
<a name="L269"></a><tt class="py-lineno"> 269</tt> <tt class="py-line"> <tt class="py-name">hmac_key</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="web2py.gluon.current
407
web2py.gluon.globals.current
408
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-36', 'current', 'link-20');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">.</tt><tt class="py-name">auth</tt><tt class="py-op">.</tt><tt class="py-name">hmac_key</tt> </tt>
409
<a name="L270"></a><tt class="py-lineno"> 270</tt> <tt class="py-line"> </tt>
410
<a name="L271"></a><tt class="py-lineno"> 271</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hmac_key</tt><tt class="py-op">:</tt> </tt>
411
<a name="L272"></a><tt class="py-lineno"> 272</tt> <tt class="py-line"> <tt class="py-comment"># generate an hmac signature of the vars & args so can later</tt> </tt>
412
<a name="L273"></a><tt class="py-lineno"> 273</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># verify the user hasn't messed with anything</tt> </tt>
413
<a name="L274"></a><tt class="py-lineno"> 274</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
414
<a name="L275"></a><tt class="py-lineno"> 275</tt> <tt class="py-line"> <tt class="py-name">h_args</tt> <tt class="py-op">=</tt> <tt class="py-string">'/%s/%s/%s%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">application</tt><tt class="py-op">,</tt> <tt class="py-name">controller</tt><tt class="py-op">,</tt> <tt class="py-name">function2</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
413
415
<a name="L276"></a><tt class="py-lineno"> 276</tt> <tt class="py-line"> </tt>
414
<a name="L277"></a><tt class="py-lineno"> 277</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">list_vars</tt><tt class="py-op">:</tt> </tt>
415
<a name="L278"></a><tt class="py-lineno"> 278</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">+=</tt> <tt class="py-string">'?%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">list_vars</tt><tt class="py-op">)</tt> </tt>
416
<a name="L279"></a><tt class="py-lineno"> 279</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">anchor</tt><tt class="py-op">:</tt> </tt>
417
<a name="L280"></a><tt class="py-lineno"> 280</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">+=</tt> <tt class="py-string">'#'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">anchor</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
418
<a name="L281"></a><tt class="py-lineno"> 281</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">extension</tt><tt class="py-op">:</tt> </tt>
419
<a name="L282"></a><tt class="py-lineno"> 282</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">+=</tt> <tt class="py-string">'.'</tt> <tt class="py-op">+</tt> <tt class="py-name">extension</tt> </tt>
420
<a name="L283"></a><tt class="py-lineno"> 283</tt> <tt class="py-line"> </tt>
421
<a name="L284"></a><tt class="py-lineno"> 284</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-42" class="py-name"><a title="web2py.gluon.html.regex_crlf" class="py-name" href="#" onclick="return doclink('link-42', 'regex_crlf', 'link-12');">regex_crlf</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method web2py.gluon.tools.Crud.search()=web2py.gluon.tools.Crud-class.html#search"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-43', 'search', 'link-43');">search</a></tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="web2py.gluon.html.join" class="py-name" href="#" onclick="return doclink('link-44', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">application</tt><tt class="py-op">,</tt> <tt class="py-name">controller</tt><tt class="py-op">,</tt> <tt class="py-name">function</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
422
<a name="L285"></a><tt class="py-lineno"> 285</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">,</tt> <tt class="py-string">'CRLF Injection Detected'</tt> </tt>
423
<a name="L286"></a><tt class="py-lineno"> 286</tt> <tt class="py-line"> <tt id="link-45" class="py-name" targets="Method web2py.gluon.tools.Auth.url()=web2py.gluon.tools.Auth-class.html#url,Method web2py.gluon.tools.Crud.url()=web2py.gluon.tools.Crud-class.html#url"><a title="web2py.gluon.tools.Auth.url
424
web2py.gluon.tools.Crud.url" class="py-name" href="#" onclick="return doclink('link-45', 'url', 'link-45');">url</a></tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name"><a title="web2py.gluon.rewrite" class="py-name" href="#" onclick="return doclink('link-46', 'rewrite', 'link-2');">rewrite</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Function web2py.gluon.rewrite.url_out()=web2py.gluon.rewrite-module.html#url_out"><a title="web2py.gluon.rewrite.url_out" class="py-name" href="#" onclick="return doclink('link-47', 'url_out', 'link-47');">url_out</a></tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">,</tt> <tt id="link-48" class="py-name"><a title="web2py.gluon.shell.env" class="py-name" href="#" onclick="return doclink('link-48', 'env', 'link-22');">env</a></tt><tt class="py-op">,</tt> <tt class="py-name">application</tt><tt class="py-op">,</tt> <tt class="py-name">controller</tt><tt class="py-op">,</tt> <tt class="py-name">function</tt><tt class="py-op">,</tt> </tt>
425
<a name="L287"></a><tt class="py-lineno"> 287</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">,</tt> <tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> </tt>
426
<a name="L288"></a><tt class="py-lineno"> 288</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-49" class="py-name"><a title="web2py.gluon.tools.Auth.url
427
web2py.gluon.tools.Crud.url" class="py-name" href="#" onclick="return doclink('link-49', 'url', 'link-45');">url</a></tt> </tt>
428
</div><a name="L289"></a><tt class="py-lineno"> 289</tt> <tt class="py-line"> </tt>
429
<a name="L290"></a><tt class="py-lineno"> 290</tt> <tt class="py-line"> </tt>
430
<a name="verifyURL"></a><div id="verifyURL-def"><a name="L291"></a><tt class="py-lineno"> 291</tt> <a class="py-toggle" href="#" id="verifyURL-toggle" onclick="return toggle('verifyURL');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html-module.html#verifyURL">verifyURL</a><tt class="py-op">(</tt><tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">hmac_key</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">hash_vars</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-param">salt</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">user_signature</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
431
</div><div id="verifyURL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="verifyURL-expanded"><a name="L292"></a><tt class="py-lineno"> 292</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
432
<a name="L293"></a><tt class="py-lineno"> 293</tt> <tt class="py-line"><tt class="py-docstring"> Verifies that a request's args & vars have not been tampered with by the user</tt> </tt>
433
<a name="L294"></a><tt class="py-lineno"> 294</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
434
<a name="L295"></a><tt class="py-lineno"> 295</tt> <tt class="py-line"><tt class="py-docstring"> :param request: web2py's request object</tt> </tt>
435
<a name="L296"></a><tt class="py-lineno"> 296</tt> <tt class="py-line"><tt class="py-docstring"> :param hmac_key: the key to authenticate with, must be the same one previously</tt> </tt>
436
<a name="L297"></a><tt class="py-lineno"> 297</tt> <tt class="py-line"><tt class="py-docstring"> used when calling URL()</tt> </tt>
437
<a name="L298"></a><tt class="py-lineno"> 298</tt> <tt class="py-line"><tt class="py-docstring"> :param hash_vars: which vars to include in our hashing. (Optional)</tt> </tt>
438
<a name="L299"></a><tt class="py-lineno"> 299</tt> <tt class="py-line"><tt class="py-docstring"> Only uses the 1st value currently</tt> </tt>
439
<a name="L300"></a><tt class="py-lineno"> 300</tt> <tt class="py-line"><tt class="py-docstring"> True (or undefined) means all, False none,</tt> </tt>
440
<a name="L301"></a><tt class="py-lineno"> 301</tt> <tt class="py-line"><tt class="py-docstring"> an iterable just the specified keys</tt> </tt>
441
<a name="L302"></a><tt class="py-lineno"> 302</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
442
<a name="L303"></a><tt class="py-lineno"> 303</tt> <tt class="py-line"><tt class="py-docstring"> do not call directly. Use instead:</tt> </tt>
443
<a name="L304"></a><tt class="py-lineno"> 304</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
444
<a name="L305"></a><tt class="py-lineno"> 305</tt> <tt class="py-line"><tt class="py-docstring"> URL.verify(hmac_key='...')</tt> </tt>
445
<a name="L306"></a><tt class="py-lineno"> 306</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
446
<a name="L307"></a><tt class="py-lineno"> 307</tt> <tt class="py-line"><tt class="py-docstring"> the key has to match the one used to generate the URL.</tt> </tt>
447
<a name="L308"></a><tt class="py-lineno"> 308</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
448
<a name="L309"></a><tt class="py-lineno"> 309</tt> <tt class="py-line"><tt class="py-docstring"> >>> r = Storage()</tt> </tt>
449
<a name="L310"></a><tt class="py-lineno"> 310</tt> <tt class="py-line"><tt class="py-docstring"> >>> gv = Storage(p=(1,3),q=2,_signature='5d06bb8a4a6093dd325da2ee591c35c61afbd3c6')</tt> </tt>
450
<a name="L311"></a><tt class="py-lineno"> 311</tt> <tt class="py-line"><tt class="py-docstring"> >>> r.update(dict(application='a', controller='c', function='f'))</tt> </tt>
451
<a name="L312"></a><tt class="py-lineno"> 312</tt> <tt class="py-line"><tt class="py-docstring"> >>> r['args'] = ['x', 'y', 'z']</tt> </tt>
452
<a name="L313"></a><tt class="py-lineno"> 313</tt> <tt class="py-line"><tt class="py-docstring"> >>> r['get_vars'] = gv</tt> </tt>
453
<a name="L314"></a><tt class="py-lineno"> 314</tt> <tt class="py-line"><tt class="py-docstring"> >>> verifyURL(r, 'key')</tt> </tt>
454
<a name="L315"></a><tt class="py-lineno"> 315</tt> <tt class="py-line"><tt class="py-docstring"> True</tt> </tt>
455
<a name="L316"></a><tt class="py-lineno"> 316</tt> <tt class="py-line"><tt class="py-docstring"> >>> verifyURL(r, 'kay')</tt> </tt>
456
<a name="L317"></a><tt class="py-lineno"> 317</tt> <tt class="py-line"><tt class="py-docstring"> False</tt> </tt>
457
<a name="L318"></a><tt class="py-lineno"> 318</tt> <tt class="py-line"><tt class="py-docstring"> >>> r.get_vars.p = (3, 1)</tt> </tt>
458
<a name="L319"></a><tt class="py-lineno"> 319</tt> <tt class="py-line"><tt class="py-docstring"> >>> verifyURL(r, 'key')</tt> </tt>
459
<a name="L320"></a><tt class="py-lineno"> 320</tt> <tt class="py-line"><tt class="py-docstring"> True</tt> </tt>
460
<a name="L321"></a><tt class="py-lineno"> 321</tt> <tt class="py-line"><tt class="py-docstring"> >>> r.get_vars.p = (3, 2)</tt> </tt>
461
<a name="L322"></a><tt class="py-lineno"> 322</tt> <tt class="py-line"><tt class="py-docstring"> >>> verifyURL(r, 'key')</tt> </tt>
462
<a name="L323"></a><tt class="py-lineno"> 323</tt> <tt class="py-line"><tt class="py-docstring"> False</tt> </tt>
463
<a name="L324"></a><tt class="py-lineno"> 324</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
464
<a name="L325"></a><tt class="py-lineno"> 325</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
465
<a name="L326"></a><tt class="py-lineno"> 326</tt> <tt class="py-line"> </tt>
466
<a name="L327"></a><tt class="py-lineno"> 327</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="web2py.gluon.rocket.Headers.has_key" class="py-name" href="#" onclick="return doclink('link-50', 'has_key', 'link-28');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
467
<a name="L328"></a><tt class="py-lineno"> 328</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> <tt class="py-comment"># no signature in the request URL</tt> </tt>
468
<a name="L329"></a><tt class="py-lineno"> 329</tt> <tt class="py-line"> </tt>
469
<a name="L330"></a><tt class="py-lineno"> 330</tt> <tt class="py-line"> <tt class="py-comment"># check if user_signature requires</tt> </tt>
470
<a name="L331"></a><tt class="py-lineno"> 331</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">user_signature</tt><tt class="py-op">:</tt> </tt>
471
<a name="L332"></a><tt class="py-lineno"> 332</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-51" class="py-name"><a title="web2py.gluon.globals" class="py-name" href="#" onclick="return doclink('link-51', 'globals', 'link-18');">globals</a></tt> <tt class="py-keyword">import</tt> <tt id="link-52" class="py-name"><a title="web2py.gluon.current
472
web2py.gluon.globals.current
473
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-52', 'current', 'link-19');">current</a></tt> </tt>
474
<a name="L333"></a><tt class="py-lineno"> 333</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-53" class="py-name"><a title="web2py.gluon.current
475
web2py.gluon.globals.current
476
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-53', 'current', 'link-19');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">:</tt> </tt>
477
<a name="L334"></a><tt class="py-lineno"> 334</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
478
<a name="L335"></a><tt class="py-lineno"> 335</tt> <tt class="py-line"> <tt class="py-name">hmac_key</tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="web2py.gluon.current
479
web2py.gluon.globals.current
480
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-54', 'current', 'link-19');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">.</tt><tt class="py-name">auth</tt><tt class="py-op">.</tt><tt class="py-name">hmac_key</tt> </tt>
481
<a name="L336"></a><tt class="py-lineno"> 336</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hmac_key</tt><tt class="py-op">:</tt> </tt>
482
<a name="L337"></a><tt class="py-lineno"> 337</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
483
<a name="L338"></a><tt class="py-lineno"> 338</tt> <tt class="py-line"> </tt>
484
<a name="L339"></a><tt class="py-lineno"> 339</tt> <tt class="py-line"> <tt class="py-comment"># get our sig from request.get_vars for later comparison</tt> </tt>
485
<a name="L340"></a><tt class="py-lineno"> 340</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">original_sig</tt> <tt class="py-op">=</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">.</tt><tt class="py-name">_signature</tt> </tt>
486
<a name="L341"></a><tt class="py-lineno"> 341</tt> <tt class="py-line"> </tt>
487
<a name="L342"></a><tt class="py-lineno"> 342</tt> <tt class="py-line"> <tt class="py-comment"># now generate a new hmac for the remaining args & vars</tt> </tt>
488
<a name="L343"></a><tt class="py-lineno"> 343</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">vars</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">,</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">args</tt> </tt>
489
<a name="L344"></a><tt class="py-lineno"> 344</tt> <tt class="py-line"> </tt>
490
<a name="L345"></a><tt class="py-lineno"> 345</tt> <tt class="py-line"> <tt class="py-comment"># remove the signature var since it was not part of our signed message</tt> </tt>
491
<a name="L346"></a><tt class="py-lineno"> 346</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">)</tt> </tt>
492
<a name="L347"></a><tt class="py-lineno"> 347</tt> <tt class="py-line"> </tt>
493
<a name="L348"></a><tt class="py-lineno"> 348</tt> <tt class="py-line"> <tt class="py-comment"># join all the args & vars into one long string</tt> </tt>
494
<a name="L349"></a><tt class="py-lineno"> 349</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
495
<a name="L350"></a><tt class="py-lineno"> 350</tt> <tt class="py-line"> <tt class="py-comment"># always include all of the args</tt> </tt>
496
<a name="L351"></a><tt class="py-lineno"> 351</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="web2py.gluon.html.join" class="py-name" href="#" onclick="return doclink('link-55', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-56" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-56', 'x', 'link-25');">x</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-57" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-57', 'x', 'link-25');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
497
<a name="L352"></a><tt class="py-lineno"> 352</tt> <tt class="py-line"> <tt class="py-name">h_args</tt> <tt class="py-op">=</tt> <tt class="py-string">'/%s/%s/%s.%s%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">application</tt><tt class="py-op">,</tt> </tt>
498
<a name="L353"></a><tt class="py-lineno"> 353</tt> <tt class="py-line"> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">controller</tt><tt class="py-op">,</tt> </tt>
499
<a name="L354"></a><tt class="py-lineno"> 354</tt> <tt class="py-line"> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">function</tt><tt class="py-op">,</tt> </tt>
500
<a name="L355"></a><tt class="py-lineno"> 355</tt> <tt class="py-line"> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt><tt class="py-op">,</tt> </tt>
501
<a name="L356"></a><tt class="py-lineno"> 356</tt> <tt class="py-line"> <tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
502
<a name="L357"></a><tt class="py-lineno"> 357</tt> <tt class="py-line"> </tt>
503
<a name="L358"></a><tt class="py-lineno"> 358</tt> <tt class="py-line"> <tt class="py-comment"># but only include those vars specified (allows more flexibility for use with</tt> </tt>
504
<a name="L359"></a><tt class="py-lineno"> 359</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># forms or ajax)</tt> </tt>
505
<a name="L360"></a><tt class="py-lineno"> 360</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
506
<a name="L361"></a><tt class="py-lineno"> 361</tt> <tt class="py-line"> <tt class="py-name">list_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
507
<a name="L362"></a><tt class="py-lineno"> 362</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">vals</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-58', 'items', 'link-29');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
508
<a name="L363"></a><tt class="py-lineno"> 363</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
509
<a name="L364"></a><tt class="py-lineno"> 364</tt> <tt class="py-line"> <tt class="py-name">vals</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">vals</tt><tt class="py-op">]</tt> </tt>
510
<a name="L365"></a><tt class="py-lineno"> 365</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">vals</tt><tt class="py-op">:</tt> </tt>
511
<a name="L366"></a><tt class="py-lineno"> 366</tt> <tt class="py-line"> <tt class="py-name">list_vars</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="web2py.gluon.html.DIV.append
512
web2py.gluon.template.BlockNode.append
513
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-59', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
514
<a name="L367"></a><tt class="py-lineno"> 367</tt> <tt class="py-line"> </tt>
515
<a name="L368"></a><tt class="py-lineno"> 368</tt> <tt class="py-line"> <tt class="py-comment"># which of the vars are to be included?</tt> </tt>
516
<a name="L369"></a><tt class="py-lineno"> 369</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> <tt class="py-comment"># include them all</tt> </tt>
517
<a name="L370"></a><tt class="py-lineno"> 370</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-name">list_vars</tt> </tt>
518
<a name="L371"></a><tt class="py-lineno"> 371</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> <tt class="py-comment"># include none of them</tt> </tt>
519
<a name="L372"></a><tt class="py-lineno"> 372</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
520
<a name="L373"></a><tt class="py-lineno"> 373</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment"># include just those specified</tt> </tt>
521
<a name="L374"></a><tt class="py-lineno"> 374</tt> <tt class="py-line"> <tt class="py-comment"># wrap in a try - if the desired vars have been removed it'll fail</tt> </tt>
522
<a name="L375"></a><tt class="py-lineno"> 375</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
523
<a name="L376"></a><tt class="py-lineno"> 376</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">hash_vars</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
524
<a name="L377"></a><tt class="py-lineno"> 377</tt> <tt class="py-line"> <tt class="py-name">hash_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">hash_vars</tt><tt class="py-op">]</tt> </tt>
525
<a name="L378"></a><tt class="py-lineno"> 378</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-60', 'k', 'link-35');">k</a></tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-61', 'k', 'link-35');">k</a></tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list_vars</tt> <tt class="py-keyword">if</tt> <tt id="link-62" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-62', 'k', 'link-35');">k</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">hash_vars</tt><tt class="py-op">]</tt> </tt>
526
<a name="L379"></a><tt class="py-lineno"> 379</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
527
<a name="L380"></a><tt class="py-lineno"> 380</tt> <tt class="py-line"> <tt class="py-comment"># user has removed one of our vars! Immediate fail</tt> </tt>
528
<a name="L381"></a><tt class="py-lineno"> 381</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
529
<a name="L382"></a><tt class="py-lineno"> 382</tt> <tt class="py-line"> <tt class="py-comment"># build the full message string with both args & vars</tt> </tt>
530
<a name="L383"></a><tt class="py-lineno"> 383</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-63" class="py-name"><a title="web2py.gluon.http.HTTP.message" class="py-name" href="#" onclick="return doclink('link-63', 'message', 'link-38');">message</a></tt> <tt class="py-op">=</tt> <tt class="py-name">h_args</tt> <tt class="py-op">+</tt> <tt class="py-string">'?'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">h_vars</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
416
<a name="L277"></a><tt class="py-lineno"> 277</tt> <tt class="py-line"> <tt class="py-comment"># how many of the vars should we include in our hash?</tt> </tt>
417
<a name="L278"></a><tt class="py-lineno"> 278</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> <tt class="py-comment"># include them all</tt> </tt>
418
<a name="L279"></a><tt class="py-lineno"> 279</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-name">list_vars</tt> </tt>
419
<a name="L280"></a><tt class="py-lineno"> 280</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> <tt class="py-comment"># include none of them</tt> </tt>
420
<a name="L281"></a><tt class="py-lineno"> 281</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
421
<a name="L282"></a><tt class="py-lineno"> 282</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment"># include just those specified</tt> </tt>
422
<a name="L283"></a><tt class="py-lineno"> 283</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">hash_vars</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
423
<a name="L284"></a><tt class="py-lineno"> 284</tt> <tt class="py-line"> <tt class="py-name">hash_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">hash_vars</tt><tt class="py-op">]</tt> </tt>
424
<a name="L285"></a><tt class="py-lineno"> 285</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-37" class="py-name" targets="Variable psycopg2.k=psycopg2-module.html#k"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-37', 'k', 'link-37');">k</a></tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt id="link-38" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-38', 'k', 'link-37');">k</a></tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list_vars</tt> <tt class="py-keyword">if</tt> <tt id="link-39" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-39', 'k', 'link-37');">k</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">hash_vars</tt><tt class="py-op">]</tt> </tt>
425
<a name="L286"></a><tt class="py-lineno"> 286</tt> <tt class="py-line"> </tt>
426
<a name="L287"></a><tt class="py-lineno"> 287</tt> <tt class="py-line"> <tt class="py-comment"># re-assembling the same way during hash authentication</tt> </tt>
427
<a name="L288"></a><tt class="py-lineno"> 288</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-40" class="py-name" targets="Variable web2py.gluon.http.HTTP.message=web2py.gluon.http.HTTP-class.html#message"><a title="web2py.gluon.http.HTTP.message" class="py-name" href="#" onclick="return doclink('link-40', 'message', 'link-40');">message</a></tt> <tt class="py-op">=</tt> <tt class="py-name">h_args</tt> <tt class="py-op">+</tt> <tt class="py-string">'?'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">h_vars</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
428
<a name="L289"></a><tt class="py-lineno"> 289</tt> <tt class="py-line"> </tt>
429
<a name="L290"></a><tt class="py-lineno"> 290</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name"><a title="web2py.gluon.utils.hmac_hash" class="py-name" href="#" onclick="return doclink('link-41', 'hmac_hash', 'link-11');">hmac_hash</a></tt><tt class="py-op">(</tt><tt id="link-42" class="py-name"><a title="web2py.gluon.http.HTTP.message" class="py-name" href="#" onclick="return doclink('link-42', 'message', 'link-40');">message</a></tt><tt class="py-op">,</tt> <tt class="py-name">hmac_key</tt><tt class="py-op">,</tt> <tt class="py-name">digest_alg</tt><tt class="py-op">=</tt><tt class="py-string">'sha1'</tt><tt class="py-op">,</tt> <tt class="py-name">salt</tt><tt class="py-op">=</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt> </tt>
430
<a name="L291"></a><tt class="py-lineno"> 291</tt> <tt class="py-line"> <tt class="py-comment"># add the signature into vars</tt> </tt>
431
<a name="L292"></a><tt class="py-lineno"> 292</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">list_vars</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="web2py.gluon.html.DIV.append
432
web2py.gluon.template.BlockNode.append
433
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-43', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">,</tt> <tt class="py-name">sig</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
434
<a name="L293"></a><tt class="py-lineno"> 293</tt> <tt class="py-line"> </tt>
435
<a name="L294"></a><tt class="py-lineno"> 294</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">list_vars</tt><tt class="py-op">:</tt> </tt>
436
<a name="L295"></a><tt class="py-lineno"> 295</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">+=</tt> <tt class="py-string">'?%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">list_vars</tt><tt class="py-op">)</tt> </tt>
437
<a name="L296"></a><tt class="py-lineno"> 296</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">anchor</tt><tt class="py-op">:</tt> </tt>
438
<a name="L297"></a><tt class="py-lineno"> 297</tt> <tt class="py-line"> <tt class="py-name">other</tt> <tt class="py-op">+=</tt> <tt class="py-string">'#'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">anchor</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
439
<a name="L298"></a><tt class="py-lineno"> 298</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">extension</tt><tt class="py-op">:</tt> </tt>
440
<a name="L299"></a><tt class="py-lineno"> 299</tt> <tt class="py-line"> <tt class="py-name">function</tt> <tt class="py-op">+=</tt> <tt class="py-string">'.'</tt> <tt class="py-op">+</tt> <tt class="py-name">extension</tt> </tt>
441
<a name="L300"></a><tt class="py-lineno"> 300</tt> <tt class="py-line"> </tt>
442
<a name="L301"></a><tt class="py-lineno"> 301</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-44" class="py-name"><a title="web2py.gluon.html.regex_crlf" class="py-name" href="#" onclick="return doclink('link-44', 'regex_crlf', 'link-12');">regex_crlf</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method web2py.gluon.tools.Crud.search()=web2py.gluon.tools.Crud-class.html#search"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-45', 'search', 'link-45');">search</a></tt><tt class="py-op">(</tt><tt id="link-46" class="py-name"><a title="web2py.gluon.html.join
443
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-46', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">application</tt><tt class="py-op">,</tt> <tt class="py-name">controller</tt><tt class="py-op">,</tt> <tt class="py-name">function</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
444
<a name="L302"></a><tt class="py-lineno"> 302</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">,</tt> <tt class="py-string">'CRLF Injection Detected'</tt> </tt>
445
<a name="L303"></a><tt class="py-lineno"> 303</tt> <tt class="py-line"> <tt id="link-47" class="py-name" targets="Method web2py.gluon.tools.Auth.url()=web2py.gluon.tools.Auth-class.html#url,Method web2py.gluon.tools.Crud.url()=web2py.gluon.tools.Crud-class.html#url"><a title="web2py.gluon.tools.Auth.url
446
web2py.gluon.tools.Crud.url" class="py-name" href="#" onclick="return doclink('link-47', 'url', 'link-47');">url</a></tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="web2py.gluon.rewrite" class="py-name" href="#" onclick="return doclink('link-48', 'rewrite', 'link-2');">rewrite</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Function web2py.gluon.rewrite.url_out()=web2py.gluon.rewrite-module.html#url_out"><a title="web2py.gluon.rewrite.url_out" class="py-name" href="#" onclick="return doclink('link-49', 'url_out', 'link-49');">url_out</a></tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">,</tt> <tt id="link-50" class="py-name"><a title="web2py.gluon.shell.env" class="py-name" href="#" onclick="return doclink('link-50', 'env', 'link-23');">env</a></tt><tt class="py-op">,</tt> <tt class="py-name">application</tt><tt class="py-op">,</tt> <tt class="py-name">controller</tt><tt class="py-op">,</tt> <tt class="py-name">function</tt><tt class="py-op">,</tt> </tt>
447
<a name="L304"></a><tt class="py-lineno"> 304</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">,</tt> <tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> </tt>
448
<a name="L305"></a><tt class="py-lineno"> 305</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-51" class="py-name"><a title="web2py.gluon.tools.Auth.url
449
web2py.gluon.tools.Crud.url" class="py-name" href="#" onclick="return doclink('link-51', 'url', 'link-47');">url</a></tt> </tt>
450
</div><a name="L306"></a><tt class="py-lineno"> 306</tt> <tt class="py-line"> </tt>
451
<a name="L307"></a><tt class="py-lineno"> 307</tt> <tt class="py-line"> </tt>
452
<a name="verifyURL"></a><div id="verifyURL-def"><a name="L308"></a><tt class="py-lineno"> 308</tt> <a class="py-toggle" href="#" id="verifyURL-toggle" onclick="return toggle('verifyURL');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html-module.html#verifyURL">verifyURL</a><tt class="py-op">(</tt><tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">hmac_key</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">hash_vars</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-param">salt</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">user_signature</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
453
</div><div id="verifyURL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="verifyURL-expanded"><a name="L309"></a><tt class="py-lineno"> 309</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
454
<a name="L310"></a><tt class="py-lineno"> 310</tt> <tt class="py-line"><tt class="py-docstring"> Verifies that a request's args & vars have not been tampered with by the user</tt> </tt>
455
<a name="L311"></a><tt class="py-lineno"> 311</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
456
<a name="L312"></a><tt class="py-lineno"> 312</tt> <tt class="py-line"><tt class="py-docstring"> :param request: web2py's request object</tt> </tt>
457
<a name="L313"></a><tt class="py-lineno"> 313</tt> <tt class="py-line"><tt class="py-docstring"> :param hmac_key: the key to authenticate with, must be the same one previously</tt> </tt>
458
<a name="L314"></a><tt class="py-lineno"> 314</tt> <tt class="py-line"><tt class="py-docstring"> used when calling URL()</tt> </tt>
459
<a name="L315"></a><tt class="py-lineno"> 315</tt> <tt class="py-line"><tt class="py-docstring"> :param hash_vars: which vars to include in our hashing. (Optional)</tt> </tt>
460
<a name="L316"></a><tt class="py-lineno"> 316</tt> <tt class="py-line"><tt class="py-docstring"> Only uses the 1st value currently</tt> </tt>
461
<a name="L317"></a><tt class="py-lineno"> 317</tt> <tt class="py-line"><tt class="py-docstring"> True (or undefined) means all, False none,</tt> </tt>
462
<a name="L318"></a><tt class="py-lineno"> 318</tt> <tt class="py-line"><tt class="py-docstring"> an iterable just the specified keys</tt> </tt>
463
<a name="L319"></a><tt class="py-lineno"> 319</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
464
<a name="L320"></a><tt class="py-lineno"> 320</tt> <tt class="py-line"><tt class="py-docstring"> do not call directly. Use instead:</tt> </tt>
465
<a name="L321"></a><tt class="py-lineno"> 321</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
466
<a name="L322"></a><tt class="py-lineno"> 322</tt> <tt class="py-line"><tt class="py-docstring"> URL.verify(hmac_key='...')</tt> </tt>
467
<a name="L323"></a><tt class="py-lineno"> 323</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
468
<a name="L324"></a><tt class="py-lineno"> 324</tt> <tt class="py-line"><tt class="py-docstring"> the key has to match the one used to generate the URL.</tt> </tt>
469
<a name="L325"></a><tt class="py-lineno"> 325</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
470
<a name="L326"></a><tt class="py-lineno"> 326</tt> <tt class="py-line"><tt class="py-docstring"> >>> r = Storage()</tt> </tt>
471
<a name="L327"></a><tt class="py-lineno"> 327</tt> <tt class="py-line"><tt class="py-docstring"> >>> gv = Storage(p=(1,3),q=2,_signature='a32530f0d0caa80964bb92aad2bedf8a4486a31f')</tt> </tt>
472
<a name="L328"></a><tt class="py-lineno"> 328</tt> <tt class="py-line"><tt class="py-docstring"> >>> r.update(dict(application='a', controller='c', function='f', extension='html'))</tt> </tt>
473
<a name="L329"></a><tt class="py-lineno"> 329</tt> <tt class="py-line"><tt class="py-docstring"> >>> r['args'] = ['x', 'y', 'z']</tt> </tt>
474
<a name="L330"></a><tt class="py-lineno"> 330</tt> <tt class="py-line"><tt class="py-docstring"> >>> r['get_vars'] = gv</tt> </tt>
475
<a name="L331"></a><tt class="py-lineno"> 331</tt> <tt class="py-line"><tt class="py-docstring"> >>> verifyURL(r, 'key')</tt> </tt>
476
<a name="L332"></a><tt class="py-lineno"> 332</tt> <tt class="py-line"><tt class="py-docstring"> True</tt> </tt>
477
<a name="L333"></a><tt class="py-lineno"> 333</tt> <tt class="py-line"><tt class="py-docstring"> >>> verifyURL(r, 'kay')</tt> </tt>
478
<a name="L334"></a><tt class="py-lineno"> 334</tt> <tt class="py-line"><tt class="py-docstring"> False</tt> </tt>
479
<a name="L335"></a><tt class="py-lineno"> 335</tt> <tt class="py-line"><tt class="py-docstring"> >>> r.get_vars.p = (3, 1)</tt> </tt>
480
<a name="L336"></a><tt class="py-lineno"> 336</tt> <tt class="py-line"><tt class="py-docstring"> >>> verifyURL(r, 'key')</tt> </tt>
481
<a name="L337"></a><tt class="py-lineno"> 337</tt> <tt class="py-line"><tt class="py-docstring"> True</tt> </tt>
482
<a name="L338"></a><tt class="py-lineno"> 338</tt> <tt class="py-line"><tt class="py-docstring"> >>> r.get_vars.p = (3, 2)</tt> </tt>
483
<a name="L339"></a><tt class="py-lineno"> 339</tt> <tt class="py-line"><tt class="py-docstring"> >>> verifyURL(r, 'key')</tt> </tt>
484
<a name="L340"></a><tt class="py-lineno"> 340</tt> <tt class="py-line"><tt class="py-docstring"> False</tt> </tt>
485
<a name="L341"></a><tt class="py-lineno"> 341</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
486
<a name="L342"></a><tt class="py-lineno"> 342</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
487
<a name="L343"></a><tt class="py-lineno"> 343</tt> <tt class="py-line"> </tt>
488
<a name="L344"></a><tt class="py-lineno"> 344</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
489
<a name="L345"></a><tt class="py-lineno"> 345</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> <tt class="py-comment"># no signature in the request URL</tt> </tt>
490
<a name="L346"></a><tt class="py-lineno"> 346</tt> <tt class="py-line"> </tt>
491
<a name="L347"></a><tt class="py-lineno"> 347</tt> <tt class="py-line"> <tt class="py-comment"># check if user_signature requires</tt> </tt>
492
<a name="L348"></a><tt class="py-lineno"> 348</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">user_signature</tt><tt class="py-op">:</tt> </tt>
493
<a name="L349"></a><tt class="py-lineno"> 349</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-52" class="py-name"><a title="web2py.gluon.globals" class="py-name" href="#" onclick="return doclink('link-52', 'globals', 'link-19');">globals</a></tt> <tt class="py-keyword">import</tt> <tt id="link-53" class="py-name"><a title="web2py.gluon.current
494
web2py.gluon.globals.current
495
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-53', 'current', 'link-20');">current</a></tt> </tt>
496
<a name="L350"></a><tt class="py-lineno"> 350</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-54" class="py-name"><a title="web2py.gluon.current
497
web2py.gluon.globals.current
498
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-54', 'current', 'link-20');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">:</tt> </tt>
499
<a name="L351"></a><tt class="py-lineno"> 351</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
500
<a name="L352"></a><tt class="py-lineno"> 352</tt> <tt class="py-line"> <tt class="py-name">hmac_key</tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="web2py.gluon.current
501
web2py.gluon.globals.current
502
web2py.gluon.tools.current" class="py-name" href="#" onclick="return doclink('link-55', 'current', 'link-20');">current</a></tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">.</tt><tt class="py-name">auth</tt><tt class="py-op">.</tt><tt class="py-name">hmac_key</tt> </tt>
503
<a name="L353"></a><tt class="py-lineno"> 353</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hmac_key</tt><tt class="py-op">:</tt> </tt>
504
<a name="L354"></a><tt class="py-lineno"> 354</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
505
<a name="L355"></a><tt class="py-lineno"> 355</tt> <tt class="py-line"> </tt>
506
<a name="L356"></a><tt class="py-lineno"> 356</tt> <tt class="py-line"> <tt class="py-comment"># get our sig from request.get_vars for later comparison</tt> </tt>
507
<a name="L357"></a><tt class="py-lineno"> 357</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">original_sig</tt> <tt class="py-op">=</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">.</tt><tt class="py-name">_signature</tt> </tt>
508
<a name="L358"></a><tt class="py-lineno"> 358</tt> <tt class="py-line"> </tt>
509
<a name="L359"></a><tt class="py-lineno"> 359</tt> <tt class="py-line"> <tt class="py-comment"># now generate a new hmac for the remaining args & vars</tt> </tt>
510
<a name="L360"></a><tt class="py-lineno"> 360</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">vars</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">,</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">args</tt> </tt>
511
<a name="L361"></a><tt class="py-lineno"> 361</tt> <tt class="py-line"> </tt>
512
<a name="L362"></a><tt class="py-lineno"> 362</tt> <tt class="py-line"> <tt class="py-comment"># remove the signature var since it was not part of our signed message</tt> </tt>
513
<a name="L363"></a><tt class="py-lineno"> 363</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-string">'_signature'</tt><tt class="py-op">)</tt> </tt>
514
<a name="L364"></a><tt class="py-lineno"> 364</tt> <tt class="py-line"> </tt>
515
<a name="L365"></a><tt class="py-lineno"> 365</tt> <tt class="py-line"> <tt class="py-comment"># join all the args & vars into one long string</tt> </tt>
516
<a name="L366"></a><tt class="py-lineno"> 366</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
517
<a name="L367"></a><tt class="py-lineno"> 367</tt> <tt class="py-line"> <tt class="py-comment"># always include all of the args</tt> </tt>
518
<a name="L368"></a><tt class="py-lineno"> 368</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="web2py.gluon.html.join
519
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-56', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-57" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-57', 'x', 'link-26');">x</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-58" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-58', 'x', 'link-26');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
520
<a name="L369"></a><tt class="py-lineno"> 369</tt> <tt class="py-line"> <tt class="py-name">h_args</tt> <tt class="py-op">=</tt> <tt class="py-string">'/%s/%s/%s.%s%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">application</tt><tt class="py-op">,</tt> </tt>
521
<a name="L370"></a><tt class="py-lineno"> 370</tt> <tt class="py-line"> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">controller</tt><tt class="py-op">,</tt> </tt>
522
<a name="L371"></a><tt class="py-lineno"> 371</tt> <tt class="py-line"> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">function</tt><tt class="py-op">,</tt> </tt>
523
<a name="L372"></a><tt class="py-lineno"> 372</tt> <tt class="py-line"> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt><tt class="py-op">,</tt> </tt>
524
<a name="L373"></a><tt class="py-lineno"> 373</tt> <tt class="py-line"> <tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
525
<a name="L374"></a><tt class="py-lineno"> 374</tt> <tt class="py-line"> </tt>
526
<a name="L375"></a><tt class="py-lineno"> 375</tt> <tt class="py-line"> <tt class="py-comment"># but only include those vars specified (allows more flexibility for use with</tt> </tt>
527
<a name="L376"></a><tt class="py-lineno"> 376</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># forms or ajax)</tt> </tt>
528
<a name="L377"></a><tt class="py-lineno"> 377</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
529
<a name="L378"></a><tt class="py-lineno"> 378</tt> <tt class="py-line"> <tt class="py-name">list_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
530
<a name="L379"></a><tt class="py-lineno"> 379</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">vals</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
531
<a name="L380"></a><tt class="py-lineno"> 380</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
532
<a name="L381"></a><tt class="py-lineno"> 381</tt> <tt class="py-line"> <tt class="py-name">vals</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">vals</tt><tt class="py-op">]</tt> </tt>
533
<a name="L382"></a><tt class="py-lineno"> 382</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">vals</tt><tt class="py-op">:</tt> </tt>
534
<a name="L383"></a><tt class="py-lineno"> 383</tt> <tt class="py-line"> <tt class="py-name">list_vars</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="web2py.gluon.html.DIV.append
535
web2py.gluon.template.BlockNode.append
536
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-59', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
531
537
<a name="L384"></a><tt class="py-lineno"> 384</tt> <tt class="py-line"> </tt>
532
<a name="L385"></a><tt class="py-lineno"> 385</tt> <tt class="py-line"> <tt class="py-comment"># hash with the hmac_key provided</tt> </tt>
533
<a name="L386"></a><tt class="py-lineno"> 386</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name"><a title="web2py.gluon.utils.hmac_hash" class="py-name" href="#" onclick="return doclink('link-64', 'hmac_hash', 'link-11');">hmac_hash</a></tt><tt class="py-op">(</tt><tt id="link-65" class="py-name"><a title="web2py.gluon.http.HTTP.message" class="py-name" href="#" onclick="return doclink('link-65', 'message', 'link-38');">message</a></tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hmac_key</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">salt</tt><tt class="py-op">=</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt> </tt>
534
<a name="L387"></a><tt class="py-lineno"> 387</tt> <tt class="py-line"> </tt>
535
<a name="L388"></a><tt class="py-lineno"> 388</tt> <tt class="py-line"> <tt class="py-comment"># put _signature back in get_vars just in case a second call to URL.verify is performed</tt> </tt>
536
<a name="L389"></a><tt class="py-lineno"> 389</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># (otherwise it'll immediately return false)</tt> </tt>
537
<a name="L390"></a><tt class="py-lineno"> 390</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">[</tt><tt class="py-string">'_signature'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">original_sig</tt> </tt>
538
<a name="L391"></a><tt class="py-lineno"> 391</tt> <tt class="py-line"> </tt>
539
<a name="L392"></a><tt class="py-lineno"> 392</tt> <tt class="py-line"> <tt class="py-comment"># return whether or not the signature in the request matched the one we just generated</tt> </tt>
540
<a name="L393"></a><tt class="py-lineno"> 393</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># (I.E. was the message the same as the one we originally signed)</tt> </tt>
541
<a name="L394"></a><tt class="py-lineno"> 394</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">original_sig</tt> <tt class="py-op">==</tt> <tt class="py-name">sig</tt> </tt>
542
</div><a name="L395"></a><tt class="py-lineno"> 395</tt> <tt class="py-line"> </tt>
543
<a name="L396"></a><tt class="py-lineno"> 396</tt> <tt class="py-line"><tt id="link-66" class="py-name" targets="Function web2py.gluon.html.URL()=web2py.gluon.html-module.html#URL"><a title="web2py.gluon.html.URL" class="py-name" href="#" onclick="return doclink('link-66', 'URL', 'link-66');">URL</a></tt><tt class="py-op">.</tt><tt class="py-name">verify</tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name" targets="Function web2py.gluon.html.verifyURL()=web2py.gluon.html-module.html#verifyURL"><a title="web2py.gluon.html.verifyURL" class="py-name" href="#" onclick="return doclink('link-67', 'verifyURL', 'link-67');">verifyURL</a></tt> </tt>
544
<a name="L397"></a><tt class="py-lineno"> 397</tt> <tt class="py-line"> </tt>
545
<a name="L398"></a><tt class="py-lineno"> 398</tt> <tt class="py-line"><tt id="link-68" class="py-name" targets="Variable web2py.gluon.ON=web2py.gluon-module.html#ON,Method web2py.gluon.dal.BaseAdapter.ON()=web2py.gluon.dal.BaseAdapter-class.html#ON,Method web2py.gluon.dal.NoSQLAdapter.ON()=web2py.gluon.dal.NoSQLAdapter-class.html#ON,Variable web2py.gluon.html.ON=web2py.gluon.html-module.html#ON,Variable web2py.gluon.tools.ON=web2py.gluon.tools-module.html#ON"><a title="web2py.gluon.ON
538
<a name="L385"></a><tt class="py-lineno"> 385</tt> <tt class="py-line"> <tt class="py-comment"># which of the vars are to be included?</tt> </tt>
539
<a name="L386"></a><tt class="py-lineno"> 386</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> <tt class="py-comment"># include them all</tt> </tt>
540
<a name="L387"></a><tt class="py-lineno"> 387</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-name">list_vars</tt> </tt>
541
<a name="L388"></a><tt class="py-lineno"> 388</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> <tt class="py-comment"># include none of them</tt> </tt>
542
<a name="L389"></a><tt class="py-lineno"> 389</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
543
<a name="L390"></a><tt class="py-lineno"> 390</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment"># include just those specified</tt> </tt>
544
<a name="L391"></a><tt class="py-lineno"> 391</tt> <tt class="py-line"> <tt class="py-comment"># wrap in a try - if the desired vars have been removed it'll fail</tt> </tt>
545
<a name="L392"></a><tt class="py-lineno"> 392</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
546
<a name="L393"></a><tt class="py-lineno"> 393</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hash_vars</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">hash_vars</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
547
<a name="L394"></a><tt class="py-lineno"> 394</tt> <tt class="py-line"> <tt class="py-name">hash_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">hash_vars</tt><tt class="py-op">]</tt> </tt>
548
<a name="L395"></a><tt class="py-lineno"> 395</tt> <tt class="py-line"> <tt class="py-name">h_vars</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-60', 'k', 'link-37');">k</a></tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-61', 'k', 'link-37');">k</a></tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list_vars</tt> <tt class="py-keyword">if</tt> <tt id="link-62" class="py-name"><a title="psycopg2.k" class="py-name" href="#" onclick="return doclink('link-62', 'k', 'link-37');">k</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">hash_vars</tt><tt class="py-op">]</tt> </tt>
549
<a name="L396"></a><tt class="py-lineno"> 396</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
550
<a name="L397"></a><tt class="py-lineno"> 397</tt> <tt class="py-line"> <tt class="py-comment"># user has removed one of our vars! Immediate fail</tt> </tt>
551
<a name="L398"></a><tt class="py-lineno"> 398</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
552
<a name="L399"></a><tt class="py-lineno"> 399</tt> <tt class="py-line"> <tt class="py-comment"># build the full message string with both args & vars</tt> </tt>
553
<a name="L400"></a><tt class="py-lineno"> 400</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-63" class="py-name"><a title="web2py.gluon.http.HTTP.message" class="py-name" href="#" onclick="return doclink('link-63', 'message', 'link-40');">message</a></tt> <tt class="py-op">=</tt> <tt class="py-name">h_args</tt> <tt class="py-op">+</tt> <tt class="py-string">'?'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">h_vars</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
554
<a name="L401"></a><tt class="py-lineno"> 401</tt> <tt class="py-line"> </tt>
555
<a name="L402"></a><tt class="py-lineno"> 402</tt> <tt class="py-line"> <tt class="py-comment"># hash with the hmac_key provided</tt> </tt>
556
<a name="L403"></a><tt class="py-lineno"> 403</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name"><a title="web2py.gluon.utils.hmac_hash" class="py-name" href="#" onclick="return doclink('link-64', 'hmac_hash', 'link-11');">hmac_hash</a></tt><tt class="py-op">(</tt><tt id="link-65" class="py-name"><a title="web2py.gluon.http.HTTP.message" class="py-name" href="#" onclick="return doclink('link-65', 'message', 'link-40');">message</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hmac_key</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">digest_alg</tt><tt class="py-op">=</tt><tt class="py-string">'sha1'</tt><tt class="py-op">,</tt> <tt class="py-name">salt</tt><tt class="py-op">=</tt><tt class="py-name">salt</tt><tt class="py-op">)</tt> </tt>
557
<a name="L404"></a><tt class="py-lineno"> 404</tt> <tt class="py-line"> </tt>
558
<a name="L405"></a><tt class="py-lineno"> 405</tt> <tt class="py-line"> <tt class="py-comment"># put _signature back in get_vars just in case a second call to URL.verify is performed</tt> </tt>
559
<a name="L406"></a><tt class="py-lineno"> 406</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># (otherwise it'll immediately return false)</tt> </tt>
560
<a name="L407"></a><tt class="py-lineno"> 407</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_vars</tt><tt class="py-op">[</tt><tt class="py-string">'_signature'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">original_sig</tt> </tt>
561
<a name="L408"></a><tt class="py-lineno"> 408</tt> <tt class="py-line"> </tt>
562
<a name="L409"></a><tt class="py-lineno"> 409</tt> <tt class="py-line"> <tt class="py-comment"># return whether or not the signature in the request matched the one we just generated</tt> </tt>
563
<a name="L410"></a><tt class="py-lineno"> 410</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># (I.E. was the message the same as the one we originally signed)</tt> </tt>
564
<a name="L411"></a><tt class="py-lineno"> 411</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">original_sig</tt> <tt class="py-op">==</tt> <tt class="py-name">sig</tt> </tt>
565
</div><a name="L412"></a><tt class="py-lineno"> 412</tt> <tt class="py-line"> </tt>
566
<a name="L413"></a><tt class="py-lineno"> 413</tt> <tt class="py-line"><tt id="link-66" class="py-name" targets="Function web2py.gluon.html.URL()=web2py.gluon.html-module.html#URL"><a title="web2py.gluon.html.URL" class="py-name" href="#" onclick="return doclink('link-66', 'URL', 'link-66');">URL</a></tt><tt class="py-op">.</tt><tt class="py-name">verify</tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name" targets="Function web2py.gluon.html.verifyURL()=web2py.gluon.html-module.html#verifyURL"><a title="web2py.gluon.html.verifyURL" class="py-name" href="#" onclick="return doclink('link-67', 'verifyURL', 'link-67');">verifyURL</a></tt> </tt>
567
<a name="L414"></a><tt class="py-lineno"> 414</tt> <tt class="py-line"> </tt>
568
<a name="L415"></a><tt class="py-lineno"> 415</tt> <tt class="py-line"><tt id="link-68" class="py-name" targets="Variable web2py.gluon.ON=web2py.gluon-module.html#ON,Method web2py.gluon.dal.BaseAdapter.ON()=web2py.gluon.dal.BaseAdapter-class.html#ON,Method web2py.gluon.dal.NoSQLAdapter.ON()=web2py.gluon.dal.NoSQLAdapter-class.html#ON,Variable web2py.gluon.html.ON=web2py.gluon.html-module.html#ON,Variable web2py.gluon.tools.ON=web2py.gluon.tools-module.html#ON"><a title="web2py.gluon.ON
546
569
web2py.gluon.dal.BaseAdapter.ON
547
570
web2py.gluon.dal.NoSQLAdapter.ON
548
571
web2py.gluon.html.ON
549
572
web2py.gluon.tools.ON" class="py-name" href="#" onclick="return doclink('link-68', 'ON', 'link-68');">ON</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
550
<a name="L399"></a><tt class="py-lineno"> 399</tt> <tt class="py-line"> </tt>
551
<a name="L400"></a><tt class="py-lineno"> 400</tt> <tt class="py-line"> </tt>
552
<a name="XmlComponent"></a><div id="XmlComponent-def"><a name="L401"></a><tt class="py-lineno"> 401</tt> <a class="py-toggle" href="#" id="XmlComponent-toggle" onclick="return toggle('XmlComponent');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.XmlComponent-class.html">XmlComponent</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
553
</div><div id="XmlComponent-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XmlComponent-expanded"><a name="L402"></a><tt class="py-lineno"> 402</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
554
<a name="L403"></a><tt class="py-lineno"> 403</tt> <tt class="py-line"><tt class="py-docstring"> Abstract root for all Html components</tt> </tt>
555
<a name="L404"></a><tt class="py-lineno"> 404</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
556
<a name="L405"></a><tt class="py-lineno"> 405</tt> <tt class="py-line"> </tt>
557
<a name="L406"></a><tt class="py-lineno"> 406</tt> <tt class="py-line"> <tt class="py-comment"># TODO: move some DIV methods to here</tt> </tt>
558
<a name="L407"></a><tt class="py-lineno"> 407</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
559
<a name="XmlComponent.xml"></a><div id="XmlComponent.xml-def"><a name="L408"></a><tt class="py-lineno"> 408</tt> <a class="py-toggle" href="#" id="XmlComponent.xml-toggle" onclick="return toggle('XmlComponent.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XmlComponent-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
560
</div><div id="XmlComponent.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XmlComponent.xml-expanded"><a name="L409"></a><tt class="py-lineno"> 409</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt> </tt>
561
</div></div><a name="L410"></a><tt class="py-lineno"> 410</tt> <tt class="py-line"> </tt>
562
<a name="L411"></a><tt class="py-lineno"> 411</tt> <tt class="py-line"> </tt>
563
<a name="XML"></a><div id="XML-def"><a name="L412"></a><tt class="py-lineno"> 412</tt> <a class="py-toggle" href="#" id="XML-toggle" onclick="return toggle('XML');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.XML-class.html">XML</a><tt class="py-op">(</tt><tt class="py-base-class">XmlComponent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
564
</div><div id="XML-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XML-expanded"><a name="L413"></a><tt class="py-lineno"> 413</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
565
<a name="L414"></a><tt class="py-lineno"> 414</tt> <tt class="py-line"><tt class="py-docstring"> use it to wrap a string that contains XML/HTML so that it will not be</tt> </tt>
566
<a name="L415"></a><tt class="py-lineno"> 415</tt> <tt class="py-line"><tt class="py-docstring"> escaped by the template</tt> </tt>
567
<a name="L416"></a><tt class="py-lineno"> 416</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
568
<a name="L417"></a><tt class="py-lineno"> 417</tt> <tt class="py-line"><tt class="py-docstring"> example:</tt> </tt>
569
<a name="L418"></a><tt class="py-lineno"> 418</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
570
<a name="L419"></a><tt class="py-lineno"> 419</tt> <tt class="py-line"><tt class="py-docstring"> >>> XML('<h1>Hello</h1>').xml()</tt> </tt>
571
<a name="L420"></a><tt class="py-lineno"> 420</tt> <tt class="py-line"><tt class="py-docstring"> '<h1>Hello</h1>'</tt> </tt>
573
<a name="L416"></a><tt class="py-lineno"> 416</tt> <tt class="py-line"> </tt>
574
<a name="L417"></a><tt class="py-lineno"> 417</tt> <tt class="py-line"> </tt>
575
<a name="XmlComponent"></a><div id="XmlComponent-def"><a name="L418"></a><tt class="py-lineno"> 418</tt> <a class="py-toggle" href="#" id="XmlComponent-toggle" onclick="return toggle('XmlComponent');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.XmlComponent-class.html">XmlComponent</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
576
</div><div id="XmlComponent-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XmlComponent-expanded"><a name="L419"></a><tt class="py-lineno"> 419</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
577
<a name="L420"></a><tt class="py-lineno"> 420</tt> <tt class="py-line"><tt class="py-docstring"> Abstract root for all Html components</tt> </tt>
572
578
<a name="L421"></a><tt class="py-lineno"> 421</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
573
579
<a name="L422"></a><tt class="py-lineno"> 422</tt> <tt class="py-line"> </tt>
574
<a name="XML.__init__"></a><div id="XML.__init__-def"><a name="L423"></a><tt class="py-lineno"> 423</tt> <a class="py-toggle" href="#" id="XML.__init__-toggle" onclick="return toggle('XML.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XML-class.html#__init__">__init__</a><tt class="py-op">(</tt> </tt>
575
<a name="L424"></a><tt class="py-lineno"> 424</tt> <tt class="py-line"> <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
576
<a name="L425"></a><tt class="py-lineno"> 425</tt> <tt class="py-line"> <tt class="py-param">text</tt><tt class="py-op">,</tt> </tt>
577
<a name="L426"></a><tt class="py-lineno"> 426</tt> <tt class="py-line"> <tt class="py-param">sanitize</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
578
<a name="L427"></a><tt class="py-lineno"> 427</tt> <tt class="py-line"> <tt class="py-param">permitted_tags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
579
<a name="L428"></a><tt class="py-lineno"> 428</tt> <tt class="py-line"> <tt class="py-string">'a'</tt><tt class="py-op">,</tt> </tt>
580
<a name="L429"></a><tt class="py-lineno"> 429</tt> <tt class="py-line"> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> </tt>
581
<a name="L430"></a><tt class="py-lineno"> 430</tt> <tt class="py-line"> <tt class="py-string">'blockquote'</tt><tt class="py-op">,</tt> </tt>
582
<a name="L431"></a><tt class="py-lineno"> 431</tt> <tt class="py-line"> <tt class="py-string">'br/'</tt><tt class="py-op">,</tt> </tt>
583
<a name="L432"></a><tt class="py-lineno"> 432</tt> <tt class="py-line"> <tt class="py-string">'i'</tt><tt class="py-op">,</tt> </tt>
584
<a name="L433"></a><tt class="py-lineno"> 433</tt> <tt class="py-line"> <tt class="py-string">'li'</tt><tt class="py-op">,</tt> </tt>
585
<a name="L434"></a><tt class="py-lineno"> 434</tt> <tt class="py-line"> <tt class="py-string">'ol'</tt><tt class="py-op">,</tt> </tt>
586
<a name="L435"></a><tt class="py-lineno"> 435</tt> <tt class="py-line"> <tt class="py-string">'ul'</tt><tt class="py-op">,</tt> </tt>
587
<a name="L436"></a><tt class="py-lineno"> 436</tt> <tt class="py-line"> <tt class="py-string">'p'</tt><tt class="py-op">,</tt> </tt>
588
<a name="L437"></a><tt class="py-lineno"> 437</tt> <tt class="py-line"> <tt class="py-string">'cite'</tt><tt class="py-op">,</tt> </tt>
589
<a name="L438"></a><tt class="py-lineno"> 438</tt> <tt class="py-line"> <tt class="py-string">'code'</tt><tt class="py-op">,</tt> </tt>
590
<a name="L439"></a><tt class="py-lineno"> 439</tt> <tt class="py-line"> <tt class="py-string">'pre'</tt><tt class="py-op">,</tt> </tt>
591
<a name="L440"></a><tt class="py-lineno"> 440</tt> <tt class="py-line"> <tt class="py-string">'img/'</tt><tt class="py-op">,</tt> </tt>
592
<a name="L441"></a><tt class="py-lineno"> 441</tt> <tt class="py-line"> <tt class="py-string">'h1'</tt><tt class="py-op">,</tt><tt class="py-string">'h2'</tt><tt class="py-op">,</tt><tt class="py-string">'h3'</tt><tt class="py-op">,</tt><tt class="py-string">'h4'</tt><tt class="py-op">,</tt><tt class="py-string">'h5'</tt><tt class="py-op">,</tt><tt class="py-string">'h6'</tt><tt class="py-op">,</tt> </tt>
593
<a name="L442"></a><tt class="py-lineno"> 442</tt> <tt class="py-line"> <tt class="py-string">'table'</tt><tt class="py-op">,</tt><tt class="py-string">'tr'</tt><tt class="py-op">,</tt><tt class="py-string">'td'</tt><tt class="py-op">,</tt><tt class="py-string">'div'</tt><tt class="py-op">,</tt> </tt>
594
<a name="L443"></a><tt class="py-lineno"> 443</tt> <tt class="py-line"> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
595
<a name="L444"></a><tt class="py-lineno"> 444</tt> <tt class="py-line"> <tt class="py-param">allowed_attributes</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
596
<a name="L445"></a><tt class="py-lineno"> 445</tt> <tt class="py-line"> <tt class="py-string">'a'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> <tt class="py-string">'title'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
597
<a name="L446"></a><tt class="py-lineno"> 446</tt> <tt class="py-line"> <tt class="py-string">'img'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> <tt class="py-string">'alt'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
598
<a name="L447"></a><tt class="py-lineno"> 447</tt> <tt class="py-line"> <tt class="py-string">'blockquote'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
599
<a name="L448"></a><tt class="py-lineno"> 448</tt> <tt class="py-line"> <tt class="py-string">'td'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'colspan'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
600
<a name="L449"></a><tt class="py-lineno"> 449</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
601
<a name="L450"></a><tt class="py-lineno"> 450</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
602
</div><div id="XML.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.__init__-expanded"><a name="L451"></a><tt class="py-lineno"> 451</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
603
<a name="L452"></a><tt class="py-lineno"> 452</tt> <tt class="py-line"><tt class="py-docstring"> :param text: the XML text</tt> </tt>
604
<a name="L453"></a><tt class="py-lineno"> 453</tt> <tt class="py-line"><tt class="py-docstring"> :param sanitize: sanitize text using the permitted tags and allowed</tt> </tt>
605
<a name="L454"></a><tt class="py-lineno"> 454</tt> <tt class="py-line"><tt class="py-docstring"> attributes (default False)</tt> </tt>
606
<a name="L455"></a><tt class="py-lineno"> 455</tt> <tt class="py-line"><tt class="py-docstring"> :param permitted_tags: list of permitted tags (default: simple list of</tt> </tt>
607
<a name="L456"></a><tt class="py-lineno"> 456</tt> <tt class="py-line"><tt class="py-docstring"> tags)</tt> </tt>
608
<a name="L457"></a><tt class="py-lineno"> 457</tt> <tt class="py-line"><tt class="py-docstring"> :param allowed_attributes: dictionary of allowed attributed (default</tt> </tt>
609
<a name="L458"></a><tt class="py-lineno"> 458</tt> <tt class="py-line"><tt class="py-docstring"> for A, IMG and BlockQuote).</tt> </tt>
610
<a name="L459"></a><tt class="py-lineno"> 459</tt> <tt class="py-line"><tt class="py-docstring"> The key is the tag; the value is a list of allowed attributes.</tt> </tt>
611
<a name="L460"></a><tt class="py-lineno"> 460</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
612
<a name="L461"></a><tt class="py-lineno"> 461</tt> <tt class="py-line"> </tt>
613
<a name="L462"></a><tt class="py-lineno"> 462</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-69" class="py-name" targets="Function web2py.gluon.sanitizer.sanitize()=web2py.gluon.sanitizer-module.html#sanitize"><a title="web2py.gluon.sanitizer.sanitize" class="py-name" href="#" onclick="return doclink('link-69', 'sanitize', 'link-69');">sanitize</a></tt><tt class="py-op">:</tt> </tt>
614
<a name="L463"></a><tt class="py-lineno"> 463</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="web2py.gluon.sanitizer" class="py-name" href="#" onclick="return doclink('link-70', 'sanitizer', 'link-1');">sanitizer</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="web2py.gluon.sanitizer.sanitize" class="py-name" href="#" onclick="return doclink('link-71', 'sanitize', 'link-69');">sanitize</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">permitted_tags</tt><tt class="py-op">,</tt> </tt>
615
<a name="L464"></a><tt class="py-lineno"> 464</tt> <tt class="py-line"> <tt class="py-name">allowed_attributes</tt><tt class="py-op">)</tt> </tt>
616
<a name="L465"></a><tt class="py-lineno"> 465</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
617
<a name="L466"></a><tt class="py-lineno"> 466</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-72', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt> <tt class="py-string">'xmlcharrefreplace'</tt><tt class="py-op">)</tt> </tt>
618
<a name="L467"></a><tt class="py-lineno"> 467</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
619
<a name="L468"></a><tt class="py-lineno"> 468</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
620
<a name="L469"></a><tt class="py-lineno"> 469</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt> </tt>
621
</div><a name="L470"></a><tt class="py-lineno"> 470</tt> <tt class="py-line"> </tt>
622
<a name="XML.xml"></a><div id="XML.xml-def"><a name="L471"></a><tt class="py-lineno"> 471</tt> <a class="py-toggle" href="#" id="XML.xml-toggle" onclick="return toggle('XML.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XML-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
623
</div><div id="XML.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.xml-expanded"><a name="L472"></a><tt class="py-lineno"> 472</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
624
</div><a name="L473"></a><tt class="py-lineno"> 473</tt> <tt class="py-line"> </tt>
625
<a name="XML.__str__"></a><div id="XML.__str__-def"><a name="L474"></a><tt class="py-lineno"> 474</tt> <a class="py-toggle" href="#" id="XML.__str__-toggle" onclick="return toggle('XML.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XML-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
626
</div><div id="XML.__str__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.__str__-expanded"><a name="L475"></a><tt class="py-lineno"> 475</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="web2py.gluon.dal.Rows.xml
580
<a name="L423"></a><tt class="py-lineno"> 423</tt> <tt class="py-line"> <tt class="py-comment"># TODO: move some DIV methods to here</tt> </tt>
581
<a name="L424"></a><tt class="py-lineno"> 424</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
582
<a name="XmlComponent.xml"></a><div id="XmlComponent.xml-def"><a name="L425"></a><tt class="py-lineno"> 425</tt> <a class="py-toggle" href="#" id="XmlComponent.xml-toggle" onclick="return toggle('XmlComponent.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XmlComponent-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
583
</div><div id="XmlComponent.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XmlComponent.xml-expanded"><a name="L426"></a><tt class="py-lineno"> 426</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt> </tt>
584
</div></div><a name="L427"></a><tt class="py-lineno"> 427</tt> <tt class="py-line"> </tt>
585
<a name="L428"></a><tt class="py-lineno"> 428</tt> <tt class="py-line"> </tt>
586
<a name="XML"></a><div id="XML-def"><a name="L429"></a><tt class="py-lineno"> 429</tt> <a class="py-toggle" href="#" id="XML-toggle" onclick="return toggle('XML');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.XML-class.html">XML</a><tt class="py-op">(</tt><tt class="py-base-class">XmlComponent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
587
</div><div id="XML-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XML-expanded"><a name="L430"></a><tt class="py-lineno"> 430</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
588
<a name="L431"></a><tt class="py-lineno"> 431</tt> <tt class="py-line"><tt class="py-docstring"> use it to wrap a string that contains XML/HTML so that it will not be</tt> </tt>
589
<a name="L432"></a><tt class="py-lineno"> 432</tt> <tt class="py-line"><tt class="py-docstring"> escaped by the template</tt> </tt>
590
<a name="L433"></a><tt class="py-lineno"> 433</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
591
<a name="L434"></a><tt class="py-lineno"> 434</tt> <tt class="py-line"><tt class="py-docstring"> example:</tt> </tt>
592
<a name="L435"></a><tt class="py-lineno"> 435</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
593
<a name="L436"></a><tt class="py-lineno"> 436</tt> <tt class="py-line"><tt class="py-docstring"> >>> XML('<h1>Hello</h1>').xml()</tt> </tt>
594
<a name="L437"></a><tt class="py-lineno"> 437</tt> <tt class="py-line"><tt class="py-docstring"> '<h1>Hello</h1>'</tt> </tt>
595
<a name="L438"></a><tt class="py-lineno"> 438</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
596
<a name="L439"></a><tt class="py-lineno"> 439</tt> <tt class="py-line"> </tt>
597
<a name="XML.__init__"></a><div id="XML.__init__-def"><a name="L440"></a><tt class="py-lineno"> 440</tt> <a class="py-toggle" href="#" id="XML.__init__-toggle" onclick="return toggle('XML.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XML-class.html#__init__">__init__</a><tt class="py-op">(</tt> </tt>
598
<a name="L441"></a><tt class="py-lineno"> 441</tt> <tt class="py-line"> <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
599
<a name="L442"></a><tt class="py-lineno"> 442</tt> <tt class="py-line"> <tt class="py-param">text</tt><tt class="py-op">,</tt> </tt>
600
<a name="L443"></a><tt class="py-lineno"> 443</tt> <tt class="py-line"> <tt class="py-param">sanitize</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
601
<a name="L444"></a><tt class="py-lineno"> 444</tt> <tt class="py-line"> <tt class="py-param">permitted_tags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
602
<a name="L445"></a><tt class="py-lineno"> 445</tt> <tt class="py-line"> <tt class="py-string">'a'</tt><tt class="py-op">,</tt> </tt>
603
<a name="L446"></a><tt class="py-lineno"> 446</tt> <tt class="py-line"> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> </tt>
604
<a name="L447"></a><tt class="py-lineno"> 447</tt> <tt class="py-line"> <tt class="py-string">'blockquote'</tt><tt class="py-op">,</tt> </tt>
605
<a name="L448"></a><tt class="py-lineno"> 448</tt> <tt class="py-line"> <tt class="py-string">'br/'</tt><tt class="py-op">,</tt> </tt>
606
<a name="L449"></a><tt class="py-lineno"> 449</tt> <tt class="py-line"> <tt class="py-string">'i'</tt><tt class="py-op">,</tt> </tt>
607
<a name="L450"></a><tt class="py-lineno"> 450</tt> <tt class="py-line"> <tt class="py-string">'li'</tt><tt class="py-op">,</tt> </tt>
608
<a name="L451"></a><tt class="py-lineno"> 451</tt> <tt class="py-line"> <tt class="py-string">'ol'</tt><tt class="py-op">,</tt> </tt>
609
<a name="L452"></a><tt class="py-lineno"> 452</tt> <tt class="py-line"> <tt class="py-string">'ul'</tt><tt class="py-op">,</tt> </tt>
610
<a name="L453"></a><tt class="py-lineno"> 453</tt> <tt class="py-line"> <tt class="py-string">'p'</tt><tt class="py-op">,</tt> </tt>
611
<a name="L454"></a><tt class="py-lineno"> 454</tt> <tt class="py-line"> <tt class="py-string">'cite'</tt><tt class="py-op">,</tt> </tt>
612
<a name="L455"></a><tt class="py-lineno"> 455</tt> <tt class="py-line"> <tt class="py-string">'code'</tt><tt class="py-op">,</tt> </tt>
613
<a name="L456"></a><tt class="py-lineno"> 456</tt> <tt class="py-line"> <tt class="py-string">'pre'</tt><tt class="py-op">,</tt> </tt>
614
<a name="L457"></a><tt class="py-lineno"> 457</tt> <tt class="py-line"> <tt class="py-string">'img/'</tt><tt class="py-op">,</tt> </tt>
615
<a name="L458"></a><tt class="py-lineno"> 458</tt> <tt class="py-line"> <tt class="py-string">'h1'</tt><tt class="py-op">,</tt><tt class="py-string">'h2'</tt><tt class="py-op">,</tt><tt class="py-string">'h3'</tt><tt class="py-op">,</tt><tt class="py-string">'h4'</tt><tt class="py-op">,</tt><tt class="py-string">'h5'</tt><tt class="py-op">,</tt><tt class="py-string">'h6'</tt><tt class="py-op">,</tt> </tt>
616
<a name="L459"></a><tt class="py-lineno"> 459</tt> <tt class="py-line"> <tt class="py-string">'table'</tt><tt class="py-op">,</tt><tt class="py-string">'tr'</tt><tt class="py-op">,</tt><tt class="py-string">'td'</tt><tt class="py-op">,</tt><tt class="py-string">'div'</tt><tt class="py-op">,</tt> </tt>
617
<a name="L460"></a><tt class="py-lineno"> 460</tt> <tt class="py-line"> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
618
<a name="L461"></a><tt class="py-lineno"> 461</tt> <tt class="py-line"> <tt class="py-param">allowed_attributes</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
619
<a name="L462"></a><tt class="py-lineno"> 462</tt> <tt class="py-line"> <tt class="py-string">'a'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> <tt class="py-string">'title'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
620
<a name="L463"></a><tt class="py-lineno"> 463</tt> <tt class="py-line"> <tt class="py-string">'img'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> <tt class="py-string">'alt'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
621
<a name="L464"></a><tt class="py-lineno"> 464</tt> <tt class="py-line"> <tt class="py-string">'blockquote'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
622
<a name="L465"></a><tt class="py-lineno"> 465</tt> <tt class="py-line"> <tt class="py-string">'td'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'colspan'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
623
<a name="L466"></a><tt class="py-lineno"> 466</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
624
<a name="L467"></a><tt class="py-lineno"> 467</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
625
</div><div id="XML.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.__init__-expanded"><a name="L468"></a><tt class="py-lineno"> 468</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
626
<a name="L469"></a><tt class="py-lineno"> 469</tt> <tt class="py-line"><tt class="py-docstring"> :param text: the XML text</tt> </tt>
627
<a name="L470"></a><tt class="py-lineno"> 470</tt> <tt class="py-line"><tt class="py-docstring"> :param sanitize: sanitize text using the permitted tags and allowed</tt> </tt>
628
<a name="L471"></a><tt class="py-lineno"> 471</tt> <tt class="py-line"><tt class="py-docstring"> attributes (default False)</tt> </tt>
629
<a name="L472"></a><tt class="py-lineno"> 472</tt> <tt class="py-line"><tt class="py-docstring"> :param permitted_tags: list of permitted tags (default: simple list of</tt> </tt>
630
<a name="L473"></a><tt class="py-lineno"> 473</tt> <tt class="py-line"><tt class="py-docstring"> tags)</tt> </tt>
631
<a name="L474"></a><tt class="py-lineno"> 474</tt> <tt class="py-line"><tt class="py-docstring"> :param allowed_attributes: dictionary of allowed attributed (default</tt> </tt>
632
<a name="L475"></a><tt class="py-lineno"> 475</tt> <tt class="py-line"><tt class="py-docstring"> for A, IMG and BlockQuote).</tt> </tt>
633
<a name="L476"></a><tt class="py-lineno"> 476</tt> <tt class="py-line"><tt class="py-docstring"> The key is the tag; the value is a list of allowed attributes.</tt> </tt>
634
<a name="L477"></a><tt class="py-lineno"> 477</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
635
<a name="L478"></a><tt class="py-lineno"> 478</tt> <tt class="py-line"> </tt>
636
<a name="L479"></a><tt class="py-lineno"> 479</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-69" class="py-name" targets="Function web2py.gluon.sanitizer.sanitize()=web2py.gluon.sanitizer-module.html#sanitize"><a title="web2py.gluon.sanitizer.sanitize" class="py-name" href="#" onclick="return doclink('link-69', 'sanitize', 'link-69');">sanitize</a></tt><tt class="py-op">:</tt> </tt>
637
<a name="L480"></a><tt class="py-lineno"> 480</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="web2py.gluon.sanitizer" class="py-name" href="#" onclick="return doclink('link-70', 'sanitizer', 'link-1');">sanitizer</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="web2py.gluon.sanitizer.sanitize" class="py-name" href="#" onclick="return doclink('link-71', 'sanitize', 'link-69');">sanitize</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">permitted_tags</tt><tt class="py-op">,</tt> </tt>
638
<a name="L481"></a><tt class="py-lineno"> 481</tt> <tt class="py-line"> <tt class="py-name">allowed_attributes</tt><tt class="py-op">)</tt> </tt>
639
<a name="L482"></a><tt class="py-lineno"> 482</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
640
<a name="L483"></a><tt class="py-lineno"> 483</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-72', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt> <tt class="py-string">'xmlcharrefreplace'</tt><tt class="py-op">)</tt> </tt>
641
<a name="L484"></a><tt class="py-lineno"> 484</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
642
<a name="L485"></a><tt class="py-lineno"> 485</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
643
<a name="L486"></a><tt class="py-lineno"> 486</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt> </tt>
644
</div><a name="L487"></a><tt class="py-lineno"> 487</tt> <tt class="py-line"> </tt>
645
<a name="XML.xml"></a><div id="XML.xml-def"><a name="L488"></a><tt class="py-lineno"> 488</tt> <a class="py-toggle" href="#" id="XML.xml-toggle" onclick="return toggle('XML.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XML-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
646
</div><div id="XML.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.xml-expanded"><a name="L489"></a><tt class="py-lineno"> 489</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
647
</div><a name="L490"></a><tt class="py-lineno"> 490</tt> <tt class="py-line"> </tt>
648
<a name="XML.__str__"></a><div id="XML.__str__-def"><a name="L491"></a><tt class="py-lineno"> 491</tt> <a class="py-toggle" href="#" id="XML.__str__-toggle" onclick="return toggle('XML.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XML-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
649
</div><div id="XML.__str__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.__str__-expanded"><a name="L492"></a><tt class="py-lineno"> 492</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="web2py.gluon.dal.Rows.xml
627
650
web2py.gluon.html.A.xml
628
651
web2py.gluon.html.CODE.xml
629
652
web2py.gluon.html.DIV.xml
981
1004
web2py.gluon.html.TFOOT._fixup
982
1005
web2py.gluon.html.THEAD._fixup
983
1006
web2py.gluon.html.TR._fixup
984
web2py.gluon.html.UL._fixup" class="py-name" href="#" onclick="return doclink('link-95', '_fixup', 'link-86');">_fixup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
985
<a name="L610"></a><tt class="py-lineno"> 610</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
986
</div><a name="L611"></a><tt class="py-lineno"> 611</tt> <tt class="py-line"> </tt>
987
<a name="DIV.__getitem__"></a><div id="DIV.__getitem__-def"><a name="L612"></a><tt class="py-lineno"> 612</tt> <a class="py-toggle" href="#" id="DIV.__getitem__-toggle" onclick="return toggle('DIV.__getitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__getitem__">__getitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
988
</div><div id="DIV.__getitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__getitem__-expanded"><a name="L613"></a><tt class="py-lineno"> 613</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
989
<a name="L614"></a><tt class="py-lineno"> 614</tt> <tt class="py-line"><tt class="py-docstring"> gets attribute with name 'i' or component #i.</tt> </tt>
990
<a name="L615"></a><tt class="py-lineno"> 615</tt> <tt class="py-line"><tt class="py-docstring"> If attribute 'i' is not found returns None</tt> </tt>
991
<a name="L616"></a><tt class="py-lineno"> 616</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
992
<a name="L617"></a><tt class="py-lineno"> 617</tt> <tt class="py-line"><tt class="py-docstring"> :param i: index</tt> </tt>
993
<a name="L618"></a><tt class="py-lineno"> 618</tt> <tt class="py-line"><tt class="py-docstring"> if i is a string: the name of the attribute</tt> </tt>
994
<a name="L619"></a><tt class="py-lineno"> 619</tt> <tt class="py-line"><tt class="py-docstring"> otherwise references to number of the component</tt> </tt>
995
<a name="L620"></a><tt class="py-lineno"> 620</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
996
<a name="L621"></a><tt class="py-lineno"> 621</tt> <tt class="py-line"> </tt>
997
<a name="L622"></a><tt class="py-lineno"> 622</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
998
<a name="L623"></a><tt class="py-lineno"> 623</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
999
<a name="L624"></a><tt class="py-lineno"> 624</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
1000
<a name="L625"></a><tt class="py-lineno"> 625</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
1001
<a name="L626"></a><tt class="py-lineno"> 626</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
1002
<a name="L627"></a><tt class="py-lineno"> 627</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1003
<a name="L628"></a><tt class="py-lineno"> 628</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
1004
</div><a name="L629"></a><tt class="py-lineno"> 629</tt> <tt class="py-line"> </tt>
1005
<a name="DIV.__setitem__"></a><div id="DIV.__setitem__-def"><a name="L630"></a><tt class="py-lineno"> 630</tt> <a class="py-toggle" href="#" id="DIV.__setitem__-toggle" onclick="return toggle('DIV.__setitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__setitem__">__setitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1006
</div><div id="DIV.__setitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__setitem__-expanded"><a name="L631"></a><tt class="py-lineno"> 631</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1007
<a name="L632"></a><tt class="py-lineno"> 632</tt> <tt class="py-line"><tt class="py-docstring"> sets attribute with name 'i' or component #i.</tt> </tt>
1007
web2py.gluon.html.UL._fixup" class="py-name" href="#" onclick="return doclink('link-94', '_fixup', 'link-86');">_fixup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1008
<a name="L627"></a><tt class="py-lineno"> 627</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
1009
</div><a name="L628"></a><tt class="py-lineno"> 628</tt> <tt class="py-line"> </tt>
1010
<a name="DIV.__getitem__"></a><div id="DIV.__getitem__-def"><a name="L629"></a><tt class="py-lineno"> 629</tt> <a class="py-toggle" href="#" id="DIV.__getitem__-toggle" onclick="return toggle('DIV.__getitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__getitem__">__getitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1011
</div><div id="DIV.__getitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__getitem__-expanded"><a name="L630"></a><tt class="py-lineno"> 630</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1012
<a name="L631"></a><tt class="py-lineno"> 631</tt> <tt class="py-line"><tt class="py-docstring"> gets attribute with name 'i' or component #i.</tt> </tt>
1013
<a name="L632"></a><tt class="py-lineno"> 632</tt> <tt class="py-line"><tt class="py-docstring"> If attribute 'i' is not found returns None</tt> </tt>
1008
1014
<a name="L633"></a><tt class="py-lineno"> 633</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1009
1015
<a name="L634"></a><tt class="py-lineno"> 634</tt> <tt class="py-line"><tt class="py-docstring"> :param i: index</tt> </tt>
1010
1016
<a name="L635"></a><tt class="py-lineno"> 635</tt> <tt class="py-line"><tt class="py-docstring"> if i is a string: the name of the attribute</tt> </tt>
1011
1017
<a name="L636"></a><tt class="py-lineno"> 636</tt> <tt class="py-line"><tt class="py-docstring"> otherwise references to number of the component</tt> </tt>
1012
<a name="L637"></a><tt class="py-lineno"> 637</tt> <tt class="py-line"><tt class="py-docstring"> :param value: the new value</tt> </tt>
1013
<a name="L638"></a><tt class="py-lineno"> 638</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1014
<a name="L639"></a><tt class="py-lineno"> 639</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="web2py.gluon.html.DIV._setnode" class="py-name" href="#" onclick="return doclink('link-96', '_setnode', 'link-88');">_setnode</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
1015
<a name="L640"></a><tt class="py-lineno"> 640</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1016
<a name="L641"></a><tt class="py-lineno"> 641</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
1017
<a name="L642"></a><tt class="py-lineno"> 642</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1018
<a name="L643"></a><tt class="py-lineno"> 643</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
1019
</div><a name="L644"></a><tt class="py-lineno"> 644</tt> <tt class="py-line"> </tt>
1020
<a name="DIV.__delitem__"></a><div id="DIV.__delitem__-def"><a name="L645"></a><tt class="py-lineno"> 645</tt> <a class="py-toggle" href="#" id="DIV.__delitem__-toggle" onclick="return toggle('DIV.__delitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__delitem__">__delitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1021
</div><div id="DIV.__delitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__delitem__-expanded"><a name="L646"></a><tt class="py-lineno"> 646</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1022
<a name="L647"></a><tt class="py-lineno"> 647</tt> <tt class="py-line"><tt class="py-docstring"> deletes attribute with name 'i' or component #i.</tt> </tt>
1023
<a name="L648"></a><tt class="py-lineno"> 648</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1024
<a name="L649"></a><tt class="py-lineno"> 649</tt> <tt class="py-line"><tt class="py-docstring"> :param i: index</tt> </tt>
1025
<a name="L650"></a><tt class="py-lineno"> 650</tt> <tt class="py-line"><tt class="py-docstring"> if i is a string: the name of the attribute</tt> </tt>
1026
<a name="L651"></a><tt class="py-lineno"> 651</tt> <tt class="py-line"><tt class="py-docstring"> otherwise references to number of the component</tt> </tt>
1027
<a name="L652"></a><tt class="py-lineno"> 652</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1028
<a name="L653"></a><tt class="py-lineno"> 653</tt> <tt class="py-line"> </tt>
1029
<a name="L654"></a><tt class="py-lineno"> 654</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1030
<a name="L655"></a><tt class="py-lineno"> 655</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
1031
<a name="L656"></a><tt class="py-lineno"> 656</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1032
<a name="L657"></a><tt class="py-lineno"> 657</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
1033
</div><a name="L658"></a><tt class="py-lineno"> 658</tt> <tt class="py-line"> </tt>
1034
<a name="DIV.__len__"></a><div id="DIV.__len__-def"><a name="L659"></a><tt class="py-lineno"> 659</tt> <a class="py-toggle" href="#" id="DIV.__len__-toggle" onclick="return toggle('DIV.__len__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__len__">__len__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1035
</div><div id="DIV.__len__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__len__-expanded"><a name="L660"></a><tt class="py-lineno"> 660</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1036
<a name="L661"></a><tt class="py-lineno"> 661</tt> <tt class="py-line"><tt class="py-docstring"> returns the number of included components</tt> </tt>
1037
<a name="L662"></a><tt class="py-lineno"> 662</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1038
<a name="L663"></a><tt class="py-lineno"> 663</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-97" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-97', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
1039
</div><a name="L664"></a><tt class="py-lineno"> 664</tt> <tt class="py-line"> </tt>
1040
<a name="DIV.__nonzero__"></a><div id="DIV.__nonzero__-def"><a name="L665"></a><tt class="py-lineno"> 665</tt> <a class="py-toggle" href="#" id="DIV.__nonzero__-toggle" onclick="return toggle('DIV.__nonzero__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__nonzero__">__nonzero__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1041
</div><div id="DIV.__nonzero__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__nonzero__-expanded"><a name="L666"></a><tt class="py-lineno"> 666</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1042
<a name="L667"></a><tt class="py-lineno"> 667</tt> <tt class="py-line"><tt class="py-docstring"> always return True</tt> </tt>
1043
<a name="L668"></a><tt class="py-lineno"> 668</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1044
<a name="L669"></a><tt class="py-lineno"> 669</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
1045
</div><a name="L670"></a><tt class="py-lineno"> 670</tt> <tt class="py-line"> </tt>
1046
<a name="DIV._fixup"></a><div id="DIV._fixup-def"><a name="L671"></a><tt class="py-lineno"> 671</tt> <a class="py-toggle" href="#" id="DIV._fixup-toggle" onclick="return toggle('DIV._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1047
</div><div id="DIV._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._fixup-expanded"><a name="L672"></a><tt class="py-lineno"> 672</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1048
<a name="L673"></a><tt class="py-lineno"> 673</tt> <tt class="py-line"><tt class="py-docstring"> Handling of provided components.</tt> </tt>
1049
<a name="L674"></a><tt class="py-lineno"> 674</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1050
<a name="L675"></a><tt class="py-lineno"> 675</tt> <tt class="py-line"><tt class="py-docstring"> Nothing to fixup yet. May be overridden by subclasses,</tt> </tt>
1051
<a name="L676"></a><tt class="py-lineno"> 676</tt> <tt class="py-line"><tt class="py-docstring"> eg for wrapping some components in another component or blocking them.</tt> </tt>
1052
<a name="L677"></a><tt class="py-lineno"> 677</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1053
<a name="L678"></a><tt class="py-lineno"> 678</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
1054
</div><a name="L679"></a><tt class="py-lineno"> 679</tt> <tt class="py-line"> </tt>
1055
<a name="DIV._wrap_components"></a><div id="DIV._wrap_components-def"><a name="L680"></a><tt class="py-lineno"> 680</tt> <a class="py-toggle" href="#" id="DIV._wrap_components-toggle" onclick="return toggle('DIV._wrap_components');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_wrap_components">_wrap_components</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">allowed_parents</tt><tt class="py-op">,</tt> </tt>
1056
<a name="L681"></a><tt class="py-lineno"> 681</tt> <tt class="py-line"> <tt class="py-param">wrap_parent</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
1057
<a name="L682"></a><tt class="py-lineno"> 682</tt> <tt class="py-line"> <tt class="py-param">wrap_lambda</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1058
</div><div id="DIV._wrap_components-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._wrap_components-expanded"><a name="L683"></a><tt class="py-lineno"> 683</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1059
<a name="L684"></a><tt class="py-lineno"> 684</tt> <tt class="py-line"><tt class="py-docstring"> helper for _fixup. Checks if a component is in allowed_parents,</tt> </tt>
1060
<a name="L685"></a><tt class="py-lineno"> 685</tt> <tt class="py-line"><tt class="py-docstring"> otherwise wraps it in wrap_parent</tt> </tt>
1061
<a name="L686"></a><tt class="py-lineno"> 686</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1062
<a name="L687"></a><tt class="py-lineno"> 687</tt> <tt class="py-line"><tt class="py-docstring"> :param allowed_parents: (tuple) classes that the component should be an</tt> </tt>
1063
<a name="L688"></a><tt class="py-lineno"> 688</tt> <tt class="py-line"><tt class="py-docstring"> instance of</tt> </tt>
1064
<a name="L689"></a><tt class="py-lineno"> 689</tt> <tt class="py-line"><tt class="py-docstring"> :param wrap_parent: the class to wrap the component in, if needed</tt> </tt>
1065
<a name="L690"></a><tt class="py-lineno"> 690</tt> <tt class="py-line"><tt class="py-docstring"> :param wrap_lambda: lambda to use for wrapping, if needed</tt> </tt>
1018
<a name="L637"></a><tt class="py-lineno"> 637</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1019
<a name="L638"></a><tt class="py-lineno"> 638</tt> <tt class="py-line"> </tt>
1020
<a name="L639"></a><tt class="py-lineno"> 639</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1021
<a name="L640"></a><tt class="py-lineno"> 640</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
1022
<a name="L641"></a><tt class="py-lineno"> 641</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
1023
<a name="L642"></a><tt class="py-lineno"> 642</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
1024
<a name="L643"></a><tt class="py-lineno"> 643</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
1025
<a name="L644"></a><tt class="py-lineno"> 644</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1026
<a name="L645"></a><tt class="py-lineno"> 645</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
1027
</div><a name="L646"></a><tt class="py-lineno"> 646</tt> <tt class="py-line"> </tt>
1028
<a name="DIV.__setitem__"></a><div id="DIV.__setitem__-def"><a name="L647"></a><tt class="py-lineno"> 647</tt> <a class="py-toggle" href="#" id="DIV.__setitem__-toggle" onclick="return toggle('DIV.__setitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__setitem__">__setitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1029
</div><div id="DIV.__setitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__setitem__-expanded"><a name="L648"></a><tt class="py-lineno"> 648</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1030
<a name="L649"></a><tt class="py-lineno"> 649</tt> <tt class="py-line"><tt class="py-docstring"> sets attribute with name 'i' or component #i.</tt> </tt>
1031
<a name="L650"></a><tt class="py-lineno"> 650</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1032
<a name="L651"></a><tt class="py-lineno"> 651</tt> <tt class="py-line"><tt class="py-docstring"> :param i: index</tt> </tt>
1033
<a name="L652"></a><tt class="py-lineno"> 652</tt> <tt class="py-line"><tt class="py-docstring"> if i is a string: the name of the attribute</tt> </tt>
1034
<a name="L653"></a><tt class="py-lineno"> 653</tt> <tt class="py-line"><tt class="py-docstring"> otherwise references to number of the component</tt> </tt>
1035
<a name="L654"></a><tt class="py-lineno"> 654</tt> <tt class="py-line"><tt class="py-docstring"> :param value: the new value</tt> </tt>
1036
<a name="L655"></a><tt class="py-lineno"> 655</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1037
<a name="L656"></a><tt class="py-lineno"> 656</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="web2py.gluon.html.DIV._setnode" class="py-name" href="#" onclick="return doclink('link-95', '_setnode', 'link-88');">_setnode</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
1038
<a name="L657"></a><tt class="py-lineno"> 657</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1039
<a name="L658"></a><tt class="py-lineno"> 658</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
1040
<a name="L659"></a><tt class="py-lineno"> 659</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1041
<a name="L660"></a><tt class="py-lineno"> 660</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
1042
</div><a name="L661"></a><tt class="py-lineno"> 661</tt> <tt class="py-line"> </tt>
1043
<a name="DIV.__delitem__"></a><div id="DIV.__delitem__-def"><a name="L662"></a><tt class="py-lineno"> 662</tt> <a class="py-toggle" href="#" id="DIV.__delitem__-toggle" onclick="return toggle('DIV.__delitem__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__delitem__">__delitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1044
</div><div id="DIV.__delitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__delitem__-expanded"><a name="L663"></a><tt class="py-lineno"> 663</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1045
<a name="L664"></a><tt class="py-lineno"> 664</tt> <tt class="py-line"><tt class="py-docstring"> deletes attribute with name 'i' or component #i.</tt> </tt>
1046
<a name="L665"></a><tt class="py-lineno"> 665</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1047
<a name="L666"></a><tt class="py-lineno"> 666</tt> <tt class="py-line"><tt class="py-docstring"> :param i: index</tt> </tt>
1048
<a name="L667"></a><tt class="py-lineno"> 667</tt> <tt class="py-line"><tt class="py-docstring"> if i is a string: the name of the attribute</tt> </tt>
1049
<a name="L668"></a><tt class="py-lineno"> 668</tt> <tt class="py-line"><tt class="py-docstring"> otherwise references to number of the component</tt> </tt>
1050
<a name="L669"></a><tt class="py-lineno"> 669</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1051
<a name="L670"></a><tt class="py-lineno"> 670</tt> <tt class="py-line"> </tt>
1052
<a name="L671"></a><tt class="py-lineno"> 671</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1053
<a name="L672"></a><tt class="py-lineno"> 672</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
1054
<a name="L673"></a><tt class="py-lineno"> 673</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1055
<a name="L674"></a><tt class="py-lineno"> 674</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
1056
</div><a name="L675"></a><tt class="py-lineno"> 675</tt> <tt class="py-line"> </tt>
1057
<a name="DIV.__len__"></a><div id="DIV.__len__-def"><a name="L676"></a><tt class="py-lineno"> 676</tt> <a class="py-toggle" href="#" id="DIV.__len__-toggle" onclick="return toggle('DIV.__len__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__len__">__len__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1058
</div><div id="DIV.__len__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__len__-expanded"><a name="L677"></a><tt class="py-lineno"> 677</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1059
<a name="L678"></a><tt class="py-lineno"> 678</tt> <tt class="py-line"><tt class="py-docstring"> returns the number of included components</tt> </tt>
1060
<a name="L679"></a><tt class="py-lineno"> 679</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1061
<a name="L680"></a><tt class="py-lineno"> 680</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-96" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-96', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
1062
</div><a name="L681"></a><tt class="py-lineno"> 681</tt> <tt class="py-line"> </tt>
1063
<a name="DIV.__nonzero__"></a><div id="DIV.__nonzero__-def"><a name="L682"></a><tt class="py-lineno"> 682</tt> <a class="py-toggle" href="#" id="DIV.__nonzero__-toggle" onclick="return toggle('DIV.__nonzero__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__nonzero__">__nonzero__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1064
</div><div id="DIV.__nonzero__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__nonzero__-expanded"><a name="L683"></a><tt class="py-lineno"> 683</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1065
<a name="L684"></a><tt class="py-lineno"> 684</tt> <tt class="py-line"><tt class="py-docstring"> always return True</tt> </tt>
1066
<a name="L685"></a><tt class="py-lineno"> 685</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1067
<a name="L686"></a><tt class="py-lineno"> 686</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
1068
</div><a name="L687"></a><tt class="py-lineno"> 687</tt> <tt class="py-line"> </tt>
1069
<a name="DIV._fixup"></a><div id="DIV._fixup-def"><a name="L688"></a><tt class="py-lineno"> 688</tt> <a class="py-toggle" href="#" id="DIV._fixup-toggle" onclick="return toggle('DIV._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1070
</div><div id="DIV._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._fixup-expanded"><a name="L689"></a><tt class="py-lineno"> 689</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1071
<a name="L690"></a><tt class="py-lineno"> 690</tt> <tt class="py-line"><tt class="py-docstring"> Handling of provided components.</tt> </tt>
1066
1072
<a name="L691"></a><tt class="py-lineno"> 691</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1067
<a name="L692"></a><tt class="py-lineno"> 692</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1068
<a name="L693"></a><tt class="py-lineno"> 693</tt> <tt class="py-line"> <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
1069
<a name="L694"></a><tt class="py-lineno"> 694</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1070
<a name="L695"></a><tt class="py-lineno"> 695</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">allowed_parents</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1071
<a name="L696"></a><tt class="py-lineno"> 696</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
1072
<a name="L697"></a><tt class="py-lineno"> 697</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">wrap_lambda</tt><tt class="py-op">:</tt> </tt>
1073
<a name="L698"></a><tt class="py-lineno"> 698</tt> <tt class="py-line"> <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-name">wrap_lambda</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1074
<a name="L699"></a><tt class="py-lineno"> 699</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1075
<a name="L700"></a><tt class="py-lineno"> 700</tt> <tt class="py-line"> <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-name">wrap_parent</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1076
<a name="L701"></a><tt class="py-lineno"> 701</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt id="link-98" class="py-name" targets="Method web2py.gluon.dal.BaseAdapter.DIV()=web2py.gluon.dal.BaseAdapter-class.html#DIV,Method web2py.gluon.dal.NoSQLAdapter.DIV()=web2py.gluon.dal.NoSQLAdapter-class.html#DIV,Class web2py.gluon.html.DIV=web2py.gluon.html.DIV-class.html"><a title="web2py.gluon.dal.BaseAdapter.DIV
1073
<a name="L692"></a><tt class="py-lineno"> 692</tt> <tt class="py-line"><tt class="py-docstring"> Nothing to fixup yet. May be overridden by subclasses,</tt> </tt>
1074
<a name="L693"></a><tt class="py-lineno"> 693</tt> <tt class="py-line"><tt class="py-docstring"> eg for wrapping some components in another component or blocking them.</tt> </tt>
1075
<a name="L694"></a><tt class="py-lineno"> 694</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1076
<a name="L695"></a><tt class="py-lineno"> 695</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
1077
</div><a name="L696"></a><tt class="py-lineno"> 696</tt> <tt class="py-line"> </tt>
1078
<a name="DIV._wrap_components"></a><div id="DIV._wrap_components-def"><a name="L697"></a><tt class="py-lineno"> 697</tt> <a class="py-toggle" href="#" id="DIV._wrap_components-toggle" onclick="return toggle('DIV._wrap_components');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_wrap_components">_wrap_components</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">allowed_parents</tt><tt class="py-op">,</tt> </tt>
1079
<a name="L698"></a><tt class="py-lineno"> 698</tt> <tt class="py-line"> <tt class="py-param">wrap_parent</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
1080
<a name="L699"></a><tt class="py-lineno"> 699</tt> <tt class="py-line"> <tt class="py-param">wrap_lambda</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1081
</div><div id="DIV._wrap_components-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._wrap_components-expanded"><a name="L700"></a><tt class="py-lineno"> 700</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1082
<a name="L701"></a><tt class="py-lineno"> 701</tt> <tt class="py-line"><tt class="py-docstring"> helper for _fixup. Checks if a component is in allowed_parents,</tt> </tt>
1083
<a name="L702"></a><tt class="py-lineno"> 702</tt> <tt class="py-line"><tt class="py-docstring"> otherwise wraps it in wrap_parent</tt> </tt>
1084
<a name="L703"></a><tt class="py-lineno"> 703</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1085
<a name="L704"></a><tt class="py-lineno"> 704</tt> <tt class="py-line"><tt class="py-docstring"> :param allowed_parents: (tuple) classes that the component should be an</tt> </tt>
1086
<a name="L705"></a><tt class="py-lineno"> 705</tt> <tt class="py-line"><tt class="py-docstring"> instance of</tt> </tt>
1087
<a name="L706"></a><tt class="py-lineno"> 706</tt> <tt class="py-line"><tt class="py-docstring"> :param wrap_parent: the class to wrap the component in, if needed</tt> </tt>
1088
<a name="L707"></a><tt class="py-lineno"> 707</tt> <tt class="py-line"><tt class="py-docstring"> :param wrap_lambda: lambda to use for wrapping, if needed</tt> </tt>
1089
<a name="L708"></a><tt class="py-lineno"> 708</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1090
<a name="L709"></a><tt class="py-lineno"> 709</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1091
<a name="L710"></a><tt class="py-lineno"> 710</tt> <tt class="py-line"> <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
1092
<a name="L711"></a><tt class="py-lineno"> 711</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1093
<a name="L712"></a><tt class="py-lineno"> 712</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">allowed_parents</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1094
<a name="L713"></a><tt class="py-lineno"> 713</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
1095
<a name="L714"></a><tt class="py-lineno"> 714</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">wrap_lambda</tt><tt class="py-op">:</tt> </tt>
1096
<a name="L715"></a><tt class="py-lineno"> 715</tt> <tt class="py-line"> <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-name">wrap_lambda</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1097
<a name="L716"></a><tt class="py-lineno"> 716</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1098
<a name="L717"></a><tt class="py-lineno"> 717</tt> <tt class="py-line"> <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-name">wrap_parent</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1099
<a name="L718"></a><tt class="py-lineno"> 718</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt id="link-97" class="py-name" targets="Method web2py.gluon.dal.BaseAdapter.DIV()=web2py.gluon.dal.BaseAdapter-class.html#DIV,Method web2py.gluon.dal.NoSQLAdapter.DIV()=web2py.gluon.dal.NoSQLAdapter-class.html#DIV,Class web2py.gluon.html.DIV=web2py.gluon.html.DIV-class.html"><a title="web2py.gluon.dal.BaseAdapter.DIV
1077
1100
web2py.gluon.dal.NoSQLAdapter.DIV
1078
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-98', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1079
<a name="L702"></a><tt class="py-lineno"> 702</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
1080
<a name="L703"></a><tt class="py-lineno"> 703</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="web2py.gluon.html.DIV.append
1101
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-97', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1102
<a name="L719"></a><tt class="py-lineno"> 719</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
1103
<a name="L720"></a><tt class="py-lineno"> 720</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="web2py.gluon.html.DIV.append
1081
1104
web2py.gluon.template.BlockNode.append
1082
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-99', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1083
<a name="L704"></a><tt class="py-lineno"> 704</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
1084
</div><a name="L705"></a><tt class="py-lineno"> 705</tt> <tt class="py-line"> </tt>
1085
<a name="DIV._postprocessing"></a><div id="DIV._postprocessing-def"><a name="L706"></a><tt class="py-lineno"> 706</tt> <a class="py-toggle" href="#" id="DIV._postprocessing-toggle" onclick="return toggle('DIV._postprocessing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1086
</div><div id="DIV._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._postprocessing-expanded"><a name="L707"></a><tt class="py-lineno"> 707</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1087
<a name="L708"></a><tt class="py-lineno"> 708</tt> <tt class="py-line"><tt class="py-docstring"> Handling of attributes (normally the ones not prefixed with '_').</tt> </tt>
1088
<a name="L709"></a><tt class="py-lineno"> 709</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1089
<a name="L710"></a><tt class="py-lineno"> 710</tt> <tt class="py-line"><tt class="py-docstring"> Nothing to postprocess yet. May be overridden by subclasses</tt> </tt>
1090
<a name="L711"></a><tt class="py-lineno"> 711</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1091
<a name="L712"></a><tt class="py-lineno"> 712</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
1092
</div><a name="L713"></a><tt class="py-lineno"> 713</tt> <tt class="py-line"> </tt>
1093
<a name="DIV._traverse"></a><div id="DIV._traverse-def"><a name="L714"></a><tt class="py-lineno"> 714</tt> <a class="py-toggle" href="#" id="DIV._traverse-toggle" onclick="return toggle('DIV._traverse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_traverse">_traverse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">status</tt><tt class="py-op">,</tt> <tt class="py-param">hideerror</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1094
</div><div id="DIV._traverse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._traverse-expanded"><a name="L715"></a><tt class="py-lineno"> 715</tt> <tt class="py-line"> <tt class="py-comment"># TODO: docstring</tt> </tt>
1095
<a name="L716"></a><tt class="py-lineno"> 716</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">status</tt> </tt>
1096
<a name="L717"></a><tt class="py-lineno"> 717</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1097
<a name="L718"></a><tt class="py-lineno"> 718</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'_traverse'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">callable</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method web2py.gluon.html.DIV._traverse()=web2py.gluon.html.DIV-class.html#_traverse"><a title="web2py.gluon.html.DIV._traverse" class="py-name" href="#" onclick="return doclink('link-100', '_traverse', 'link-100');">_traverse</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1098
<a name="L719"></a><tt class="py-lineno"> 719</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt> </tt>
1099
<a name="L720"></a><tt class="py-lineno"> 720</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt> </tt>
1100
<a name="L721"></a><tt class="py-lineno"> 721</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt> </tt>
1101
<a name="L722"></a><tt class="py-lineno"> 722</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt> </tt>
1102
<a name="L723"></a><tt class="py-lineno"> 723</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">session</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session</tt> </tt>
1103
<a name="L724"></a><tt class="py-lineno"> 724</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt> </tt>
1104
<a name="L725"></a><tt class="py-lineno"> 725</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'hideerror'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">hideerror</tt> </tt>
1105
<a name="L726"></a><tt class="py-lineno"> 726</tt> <tt class="py-line"> <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="web2py.gluon.html.DIV._traverse" class="py-name" href="#" onclick="return doclink('link-101', '_traverse', 'link-100');">_traverse</a></tt><tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">,</tt><tt class="py-name">hideerror</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">newstatus</tt> </tt>
1106
<a name="L727"></a><tt class="py-lineno"> 727</tt> <tt class="py-line"> </tt>
1107
<a name="L728"></a><tt class="py-lineno"> 728</tt> <tt class="py-line"> <tt class="py-comment"># for input, textarea, select, option</tt> </tt>
1108
<a name="L729"></a><tt class="py-lineno"> 729</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># deal with 'value' and 'validation'</tt> </tt>
1109
<a name="L730"></a><tt class="py-lineno"> 730</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
1110
<a name="L731"></a><tt class="py-lineno"> 731</tt> <tt class="py-line"> <tt id="link-102" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-102', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_name'</tt><tt class="py-op">]</tt> </tt>
1111
<a name="L732"></a><tt class="py-lineno"> 732</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">newstatus</tt><tt class="py-op">:</tt> </tt>
1112
<a name="L733"></a><tt class="py-lineno"> 733</tt> <tt class="py-line"> <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name" targets="Method web2py.gluon.dal.Table._validate()=web2py.gluon.dal.Table-class.html#_validate,Method web2py.gluon.html.DIV._validate()=web2py.gluon.html.DIV-class.html#_validate,Method web2py.gluon.html.INPUT._validate()=web2py.gluon.html.INPUT-class.html#_validate,Method web2py.gluon.tools.Recaptcha._validate()=web2py.gluon.tools.Recaptcha-class.html#_validate"><a title="web2py.gluon.dal.Table._validate
1105
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-98', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1106
<a name="L721"></a><tt class="py-lineno"> 721</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
1107
</div><a name="L722"></a><tt class="py-lineno"> 722</tt> <tt class="py-line"> </tt>
1108
<a name="DIV._postprocessing"></a><div id="DIV._postprocessing-def"><a name="L723"></a><tt class="py-lineno"> 723</tt> <a class="py-toggle" href="#" id="DIV._postprocessing-toggle" onclick="return toggle('DIV._postprocessing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1109
</div><div id="DIV._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._postprocessing-expanded"><a name="L724"></a><tt class="py-lineno"> 724</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1110
<a name="L725"></a><tt class="py-lineno"> 725</tt> <tt class="py-line"><tt class="py-docstring"> Handling of attributes (normally the ones not prefixed with '_').</tt> </tt>
1111
<a name="L726"></a><tt class="py-lineno"> 726</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1112
<a name="L727"></a><tt class="py-lineno"> 727</tt> <tt class="py-line"><tt class="py-docstring"> Nothing to postprocess yet. May be overridden by subclasses</tt> </tt>
1113
<a name="L728"></a><tt class="py-lineno"> 728</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1114
<a name="L729"></a><tt class="py-lineno"> 729</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
1115
</div><a name="L730"></a><tt class="py-lineno"> 730</tt> <tt class="py-line"> </tt>
1116
<a name="DIV._traverse"></a><div id="DIV._traverse-def"><a name="L731"></a><tt class="py-lineno"> 731</tt> <a class="py-toggle" href="#" id="DIV._traverse-toggle" onclick="return toggle('DIV._traverse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_traverse">_traverse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">status</tt><tt class="py-op">,</tt> <tt class="py-param">hideerror</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1117
</div><div id="DIV._traverse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._traverse-expanded"><a name="L732"></a><tt class="py-lineno"> 732</tt> <tt class="py-line"> <tt class="py-comment"># TODO: docstring</tt> </tt>
1118
<a name="L733"></a><tt class="py-lineno"> 733</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">status</tt> </tt>
1119
<a name="L734"></a><tt class="py-lineno"> 734</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1120
<a name="L735"></a><tt class="py-lineno"> 735</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'_traverse'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">callable</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name" targets="Method web2py.gluon.html.DIV._traverse()=web2py.gluon.html.DIV-class.html#_traverse"><a title="web2py.gluon.html.DIV._traverse" class="py-name" href="#" onclick="return doclink('link-99', '_traverse', 'link-99');">_traverse</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1121
<a name="L736"></a><tt class="py-lineno"> 736</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt> </tt>
1122
<a name="L737"></a><tt class="py-lineno"> 737</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt> </tt>
1123
<a name="L738"></a><tt class="py-lineno"> 738</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt> </tt>
1124
<a name="L739"></a><tt class="py-lineno"> 739</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt> </tt>
1125
<a name="L740"></a><tt class="py-lineno"> 740</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">session</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session</tt> </tt>
1126
<a name="L741"></a><tt class="py-lineno"> 741</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt> </tt>
1127
<a name="L742"></a><tt class="py-lineno"> 742</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'hideerror'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">hideerror</tt> </tt>
1128
<a name="L743"></a><tt class="py-lineno"> 743</tt> <tt class="py-line"> <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="web2py.gluon.html.DIV._traverse" class="py-name" href="#" onclick="return doclink('link-100', '_traverse', 'link-99');">_traverse</a></tt><tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">,</tt><tt class="py-name">hideerror</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">newstatus</tt> </tt>
1129
<a name="L744"></a><tt class="py-lineno"> 744</tt> <tt class="py-line"> </tt>
1130
<a name="L745"></a><tt class="py-lineno"> 745</tt> <tt class="py-line"> <tt class="py-comment"># for input, textarea, select, option</tt> </tt>
1131
<a name="L746"></a><tt class="py-lineno"> 746</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># deal with 'value' and 'validation'</tt> </tt>
1132
<a name="L747"></a><tt class="py-lineno"> 747</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
1133
<a name="L748"></a><tt class="py-lineno"> 748</tt> <tt class="py-line"> <tt id="link-101" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-101', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_name'</tt><tt class="py-op">]</tt> </tt>
1134
<a name="L749"></a><tt class="py-lineno"> 749</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">newstatus</tt><tt class="py-op">:</tt> </tt>
1135
<a name="L750"></a><tt class="py-lineno"> 750</tt> <tt class="py-line"> <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Method web2py.gluon.dal.Table._validate()=web2py.gluon.dal.Table-class.html#_validate,Method web2py.gluon.html.DIV._validate()=web2py.gluon.html.DIV-class.html#_validate,Method web2py.gluon.html.INPUT._validate()=web2py.gluon.html.INPUT-class.html#_validate,Method web2py.gluon.tools.Recaptcha._validate()=web2py.gluon.tools.Recaptcha-class.html#_validate"><a title="web2py.gluon.dal.Table._validate
1113
1136
web2py.gluon.html.DIV._validate
1114
1137
web2py.gluon.html.INPUT._validate
1115
web2py.gluon.tools.Recaptcha._validate" class="py-name" href="#" onclick="return doclink('link-103', '_validate', 'link-103');">_validate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1116
<a name="L734"></a><tt class="py-lineno"> 734</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="web2py.gluon.html.DIV._postprocessing
1138
web2py.gluon.tools.Recaptcha._validate" class="py-name" href="#" onclick="return doclink('link-102', '_validate', 'link-102');">_validate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1139
<a name="L751"></a><tt class="py-lineno"> 751</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="web2py.gluon.html.DIV._postprocessing
1140
web2py.gluon.html.FORM._postprocessing
1141
web2py.gluon.html.INPUT._postprocessing
1142
web2py.gluon.html.SELECT._postprocessing
1143
web2py.gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-103', '_postprocessing', 'link-87');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1144
<a name="L752"></a><tt class="py-lineno"> 752</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-string">'old_value'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
1145
<a name="L753"></a><tt class="py-lineno"> 753</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> </tt>
1146
<a name="L754"></a><tt class="py-lineno"> 754</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="web2py.gluon.html.DIV._postprocessing
1117
1147
web2py.gluon.html.FORM._postprocessing
1118
1148
web2py.gluon.html.INPUT._postprocessing
1119
1149
web2py.gluon.html.SELECT._postprocessing
1120
1150
web2py.gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-104', '_postprocessing', 'link-87');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1121
<a name="L735"></a><tt class="py-lineno"> 735</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-string">'old_value'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
1122
<a name="L736"></a><tt class="py-lineno"> 736</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> </tt>
1123
<a name="L737"></a><tt class="py-lineno"> 737</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="web2py.gluon.html.DIV._postprocessing
1124
web2py.gluon.html.FORM._postprocessing
1125
web2py.gluon.html.INPUT._postprocessing
1126
web2py.gluon.html.SELECT._postprocessing
1127
web2py.gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-105', '_postprocessing', 'link-87');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1128
<a name="L738"></a><tt class="py-lineno"> 738</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-106" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-106', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">and</tt> <tt id="link-107" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-107', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">:</tt> </tt>
1129
<a name="L739"></a><tt class="py-lineno"> 739</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt id="link-108" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-108', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> </tt>
1130
<a name="L740"></a><tt class="py-lineno"> 740</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="web2py.gluon.html.DIV._postprocessing
1131
web2py.gluon.html.FORM._postprocessing
1132
web2py.gluon.html.INPUT._postprocessing
1133
web2py.gluon.html.SELECT._postprocessing
1134
web2py.gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-109', '_postprocessing', 'link-87');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1135
<a name="L741"></a><tt class="py-lineno"> 741</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-110" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-110', 'name', 'link-74');">name</a></tt><tt class="py-op">:</tt> </tt>
1136
<a name="L742"></a><tt class="py-lineno"> 742</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt><tt class="py-op">[</tt><tt id="link-111" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-111', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
1137
<a name="L743"></a><tt class="py-lineno"> 743</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">newstatus</tt> </tt>
1138
</div><a name="L744"></a><tt class="py-lineno"> 744</tt> <tt class="py-line"> </tt>
1139
<a name="DIV._validate"></a><div id="DIV._validate-def"><a name="L745"></a><tt class="py-lineno"> 745</tt> <a class="py-toggle" href="#" id="DIV._validate-toggle" onclick="return toggle('DIV._validate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_validate">_validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1140
</div><div id="DIV._validate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._validate-expanded"><a name="L746"></a><tt class="py-lineno"> 746</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1141
<a name="L747"></a><tt class="py-lineno"> 747</tt> <tt class="py-line"><tt class="py-docstring"> nothing to validate yet. May be overridden by subclasses</tt> </tt>
1142
<a name="L748"></a><tt class="py-lineno"> 748</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1143
<a name="L749"></a><tt class="py-lineno"> 749</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
1144
</div><a name="L750"></a><tt class="py-lineno"> 750</tt> <tt class="py-line"> </tt>
1145
<a name="DIV._setnode"></a><div id="DIV._setnode-def"><a name="L751"></a><tt class="py-lineno"> 751</tt> <a class="py-toggle" href="#" id="DIV._setnode-toggle" onclick="return toggle('DIV._setnode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_setnode">_setnode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1146
</div><div id="DIV._setnode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._setnode-expanded"><a name="L752"></a><tt class="py-lineno"> 752</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt id="link-112" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
1151
<a name="L755"></a><tt class="py-lineno"> 755</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-105" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-105', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">and</tt> <tt id="link-106" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-106', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">:</tt> </tt>
1152
<a name="L756"></a><tt class="py-lineno"> 756</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt id="link-107" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-107', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> </tt>
1153
<a name="L757"></a><tt class="py-lineno"> 757</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="web2py.gluon.html.DIV._postprocessing
1154
web2py.gluon.html.FORM._postprocessing
1155
web2py.gluon.html.INPUT._postprocessing
1156
web2py.gluon.html.SELECT._postprocessing
1157
web2py.gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-108', '_postprocessing', 'link-87');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1158
<a name="L758"></a><tt class="py-lineno"> 758</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-109" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-109', 'name', 'link-74');">name</a></tt><tt class="py-op">:</tt> </tt>
1159
<a name="L759"></a><tt class="py-lineno"> 759</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt><tt class="py-op">[</tt><tt id="link-110" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-110', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
1160
<a name="L760"></a><tt class="py-lineno"> 760</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">newstatus</tt> </tt>
1161
</div><a name="L761"></a><tt class="py-lineno"> 761</tt> <tt class="py-line"> </tt>
1162
<a name="DIV._validate"></a><div id="DIV._validate-def"><a name="L762"></a><tt class="py-lineno"> 762</tt> <a class="py-toggle" href="#" id="DIV._validate-toggle" onclick="return toggle('DIV._validate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_validate">_validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1163
</div><div id="DIV._validate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._validate-expanded"><a name="L763"></a><tt class="py-lineno"> 763</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1164
<a name="L764"></a><tt class="py-lineno"> 764</tt> <tt class="py-line"><tt class="py-docstring"> nothing to validate yet. May be overridden by subclasses</tt> </tt>
1165
<a name="L765"></a><tt class="py-lineno"> 765</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1166
<a name="L766"></a><tt class="py-lineno"> 766</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
1167
</div><a name="L767"></a><tt class="py-lineno"> 767</tt> <tt class="py-line"> </tt>
1168
<a name="DIV._setnode"></a><div id="DIV._setnode-def"><a name="L768"></a><tt class="py-lineno"> 768</tt> <a class="py-toggle" href="#" id="DIV._setnode-toggle" onclick="return toggle('DIV._setnode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_setnode">_setnode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1169
</div><div id="DIV._setnode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._setnode-expanded"><a name="L769"></a><tt class="py-lineno"> 769</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt id="link-111" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
1147
1170
web2py.gluon.dal.NoSQLAdapter.DIV
1148
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-112', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1149
<a name="L753"></a><tt class="py-lineno"> 753</tt> <tt class="py-line"> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
1150
</div><a name="L754"></a><tt class="py-lineno"> 754</tt> <tt class="py-line"> </tt>
1151
<a name="DIV._xml"></a><div id="DIV._xml-def"><a name="L755"></a><tt class="py-lineno"> 755</tt> <a class="py-toggle" href="#" id="DIV._xml-toggle" onclick="return toggle('DIV._xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_xml">_xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1152
</div><div id="DIV._xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._xml-expanded"><a name="L756"></a><tt class="py-lineno"> 756</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1153
<a name="L757"></a><tt class="py-lineno"> 757</tt> <tt class="py-line"><tt class="py-docstring"> helper for xml generation. Returns separately:</tt> </tt>
1154
<a name="L758"></a><tt class="py-lineno"> 758</tt> <tt class="py-line"><tt class="py-docstring"> - the component attributes</tt> </tt>
1155
<a name="L759"></a><tt class="py-lineno"> 759</tt> <tt class="py-line"><tt class="py-docstring"> - the generated xml of the inner components</tt> </tt>
1156
<a name="L760"></a><tt class="py-lineno"> 760</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1157
<a name="L761"></a><tt class="py-lineno"> 761</tt> <tt class="py-line"><tt class="py-docstring"> Component attributes start with an underscore ('_') and</tt> </tt>
1158
<a name="L762"></a><tt class="py-lineno"> 762</tt> <tt class="py-line"><tt class="py-docstring"> do not have a False or None value. The underscore is removed.</tt> </tt>
1159
<a name="L763"></a><tt class="py-lineno"> 763</tt> <tt class="py-line"><tt class="py-docstring"> A value of True is replaced with the attribute name.</tt> </tt>
1160
<a name="L764"></a><tt class="py-lineno"> 764</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1161
<a name="L765"></a><tt class="py-lineno"> 765</tt> <tt class="py-line"><tt class="py-docstring"> :returns: tuple: (attributes, components)</tt> </tt>
1162
<a name="L766"></a><tt class="py-lineno"> 766</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1163
<a name="L767"></a><tt class="py-lineno"> 767</tt> <tt class="py-line"> </tt>
1164
<a name="L768"></a><tt class="py-lineno"> 768</tt> <tt class="py-line"> <tt class="py-comment"># get the attributes for this component</tt> </tt>
1165
<a name="L769"></a><tt class="py-lineno"> 769</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># (they start with '_', others may have special meanings)</tt> </tt>
1166
<a name="L770"></a><tt class="py-lineno"> 770</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">fa</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
1167
<a name="L771"></a><tt class="py-lineno"> 771</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1168
<a name="L772"></a><tt class="py-lineno"> 772</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
1169
<a name="L773"></a><tt class="py-lineno"> 773</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'_'</tt><tt class="py-op">:</tt> </tt>
1170
<a name="L774"></a><tt class="py-lineno"> 774</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
1171
<a name="L775"></a><tt class="py-lineno"> 775</tt> <tt class="py-line"> <tt id="link-113" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-113', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
1172
<a name="L776"></a><tt class="py-lineno"> 776</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
1173
<a name="L777"></a><tt class="py-lineno"> 777</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-114" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-114', 'name', 'link-74');">name</a></tt> </tt>
1174
<a name="L778"></a><tt class="py-lineno"> 778</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt> <tt class="py-keyword">or</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
1175
<a name="L779"></a><tt class="py-lineno"> 779</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
1176
<a name="L780"></a><tt class="py-lineno"> 780</tt> <tt class="py-line"> <tt class="py-name">fa</tt> <tt class="py-op">+=</tt> <tt class="py-string">' %s="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-115" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-115', 'name', 'link-74');">name</a></tt><tt class="py-op">,</tt> <tt id="link-116" class="py-name" targets="Function web2py.gluon.html.xmlescape()=web2py.gluon.html-module.html#xmlescape"><a title="web2py.gluon.html.xmlescape" class="py-name" href="#" onclick="return doclink('link-116', 'xmlescape', 'link-116');">xmlescape</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
1177
<a name="L781"></a><tt class="py-lineno"> 781</tt> <tt class="py-line"> </tt>
1178
<a name="L782"></a><tt class="py-lineno"> 782</tt> <tt class="py-line"> <tt class="py-comment"># get the xml for the inner components</tt> </tt>
1179
<a name="L783"></a><tt class="py-lineno"> 783</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">co</tt> <tt class="py-op">=</tt> <tt id="link-117" class="py-name"><a title="web2py.gluon.html.join" class="py-name" href="#" onclick="return doclink('link-117', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt id="link-118" class="py-name"><a title="web2py.gluon.html.xmlescape" class="py-name" href="#" onclick="return doclink('link-118', 'xmlescape', 'link-116');">xmlescape</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> </tt>
1180
<a name="L784"></a><tt class="py-lineno"> 784</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
1181
<a name="L785"></a><tt class="py-lineno"> 785</tt> <tt class="py-line"> </tt>
1182
<a name="L786"></a><tt class="py-lineno"> 786</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> </tt>
1183
</div><a name="L787"></a><tt class="py-lineno"> 787</tt> <tt class="py-line"> </tt>
1184
<a name="DIV.xml"></a><div id="DIV.xml-def"><a name="L788"></a><tt class="py-lineno"> 788</tt> <a class="py-toggle" href="#" id="DIV.xml-toggle" onclick="return toggle('DIV.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1185
</div><div id="DIV.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.xml-expanded"><a name="L789"></a><tt class="py-lineno"> 789</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1186
<a name="L790"></a><tt class="py-lineno"> 790</tt> <tt class="py-line"><tt class="py-docstring"> generates the xml for this component.</tt> </tt>
1187
<a name="L791"></a><tt class="py-lineno"> 791</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1188
<a name="L792"></a><tt class="py-lineno"> 792</tt> <tt class="py-line"> </tt>
1189
<a name="L793"></a><tt class="py-lineno"> 793</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method web2py.gluon.html.DIV._xml()=web2py.gluon.html.DIV-class.html#_xml"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-119', '_xml', 'link-119');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1190
<a name="L794"></a><tt class="py-lineno"> 794</tt> <tt class="py-line"> </tt>
1191
<a name="L795"></a><tt class="py-lineno"> 795</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="web2py.gluon.html.A.tag
1192
web2py.gluon.html.B.tag
1193
web2py.gluon.html.BEAUTIFY.tag
1194
web2py.gluon.html.BODY.tag
1195
web2py.gluon.html.BR.tag
1196
web2py.gluon.html.BUTTON.tag
1197
web2py.gluon.html.CAT.tag
1198
web2py.gluon.html.CENTER.tag
1199
web2py.gluon.html.COL.tag
1200
web2py.gluon.html.COLGROUP.tag
1201
web2py.gluon.html.DIV.tag
1202
web2py.gluon.html.EM.tag
1203
web2py.gluon.html.EMBED.tag
1204
web2py.gluon.html.FIELDSET.tag
1205
web2py.gluon.html.FORM.tag
1206
web2py.gluon.html.H1.tag
1207
web2py.gluon.html.H2.tag
1208
web2py.gluon.html.H3.tag
1209
web2py.gluon.html.H4.tag
1210
web2py.gluon.html.H5.tag
1211
web2py.gluon.html.H6.tag
1212
web2py.gluon.html.HEAD.tag
1213
web2py.gluon.html.HR.tag
1214
web2py.gluon.html.HTML.tag
1215
web2py.gluon.html.I.tag
1216
web2py.gluon.html.IFRAME.tag
1217
web2py.gluon.html.IMG.tag
1218
web2py.gluon.html.INPUT.tag
1219
web2py.gluon.html.LABEL.tag
1220
web2py.gluon.html.LEGEND.tag
1221
web2py.gluon.html.LI.tag
1222
web2py.gluon.html.LINK.tag
1223
web2py.gluon.html.MENU.tag
1224
web2py.gluon.html.META.tag
1225
web2py.gluon.html.OBJECT.tag
1226
web2py.gluon.html.OL.tag
1227
web2py.gluon.html.OPTGROUP.tag
1228
web2py.gluon.html.OPTION.tag
1229
web2py.gluon.html.P.tag
1230
web2py.gluon.html.PRE.tag
1231
web2py.gluon.html.SCRIPT.tag
1232
web2py.gluon.html.SELECT.tag
1233
web2py.gluon.html.SPAN.tag
1234
web2py.gluon.html.STYLE.tag
1235
web2py.gluon.html.TABLE.tag
1236
web2py.gluon.html.TBODY.tag
1237
web2py.gluon.html.TD.tag
1238
web2py.gluon.html.TEXTAREA.tag
1239
web2py.gluon.html.TFOOT.tag
1240
web2py.gluon.html.TH.tag
1241
web2py.gluon.html.THEAD.tag
1242
web2py.gluon.html.TITLE.tag
1243
web2py.gluon.html.TR.tag
1244
web2py.gluon.html.TT.tag
1245
web2py.gluon.html.UL.tag
1246
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-120', 'tag', 'link-82');">tag</a></tt><tt class="py-op">:</tt> </tt>
1247
<a name="L796"></a><tt class="py-lineno"> 796</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">co</tt> </tt>
1248
<a name="L797"></a><tt class="py-lineno"> 797</tt> <tt class="py-line"> </tt>
1249
<a name="L798"></a><tt class="py-lineno"> 798</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="web2py.gluon.html.A.tag
1250
web2py.gluon.html.B.tag
1251
web2py.gluon.html.BEAUTIFY.tag
1252
web2py.gluon.html.BODY.tag
1253
web2py.gluon.html.BR.tag
1254
web2py.gluon.html.BUTTON.tag
1255
web2py.gluon.html.CAT.tag
1256
web2py.gluon.html.CENTER.tag
1257
web2py.gluon.html.COL.tag
1258
web2py.gluon.html.COLGROUP.tag
1259
web2py.gluon.html.DIV.tag
1260
web2py.gluon.html.EM.tag
1261
web2py.gluon.html.EMBED.tag
1262
web2py.gluon.html.FIELDSET.tag
1263
web2py.gluon.html.FORM.tag
1264
web2py.gluon.html.H1.tag
1265
web2py.gluon.html.H2.tag
1266
web2py.gluon.html.H3.tag
1267
web2py.gluon.html.H4.tag
1268
web2py.gluon.html.H5.tag
1269
web2py.gluon.html.H6.tag
1270
web2py.gluon.html.HEAD.tag
1271
web2py.gluon.html.HR.tag
1272
web2py.gluon.html.HTML.tag
1273
web2py.gluon.html.I.tag
1274
web2py.gluon.html.IFRAME.tag
1275
web2py.gluon.html.IMG.tag
1276
web2py.gluon.html.INPUT.tag
1277
web2py.gluon.html.LABEL.tag
1278
web2py.gluon.html.LEGEND.tag
1279
web2py.gluon.html.LI.tag
1280
web2py.gluon.html.LINK.tag
1281
web2py.gluon.html.MENU.tag
1282
web2py.gluon.html.META.tag
1283
web2py.gluon.html.OBJECT.tag
1284
web2py.gluon.html.OL.tag
1285
web2py.gluon.html.OPTGROUP.tag
1286
web2py.gluon.html.OPTION.tag
1287
web2py.gluon.html.P.tag
1288
web2py.gluon.html.PRE.tag
1289
web2py.gluon.html.SCRIPT.tag
1290
web2py.gluon.html.SELECT.tag
1291
web2py.gluon.html.SPAN.tag
1292
web2py.gluon.html.STYLE.tag
1293
web2py.gluon.html.TABLE.tag
1294
web2py.gluon.html.TBODY.tag
1295
web2py.gluon.html.TD.tag
1296
web2py.gluon.html.TEXTAREA.tag
1297
web2py.gluon.html.TFOOT.tag
1298
web2py.gluon.html.TH.tag
1299
web2py.gluon.html.THEAD.tag
1300
web2py.gluon.html.TITLE.tag
1301
web2py.gluon.html.TR.tag
1302
web2py.gluon.html.TT.tag
1303
web2py.gluon.html.UL.tag
1304
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-121', 'tag', 'link-82');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt><tt class="py-op">:</tt> </tt>
1305
<a name="L799"></a><tt class="py-lineno"> 799</tt> <tt class="py-line"> <tt class="py-comment"># <tag [attributes] /></tt> </tt>
1306
<a name="L800"></a><tt class="py-lineno"> 800</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">'<%s%s />'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="web2py.gluon.html.A.tag
1307
web2py.gluon.html.B.tag
1308
web2py.gluon.html.BEAUTIFY.tag
1309
web2py.gluon.html.BODY.tag
1310
web2py.gluon.html.BR.tag
1311
web2py.gluon.html.BUTTON.tag
1312
web2py.gluon.html.CAT.tag
1313
web2py.gluon.html.CENTER.tag
1314
web2py.gluon.html.COL.tag
1315
web2py.gluon.html.COLGROUP.tag
1316
web2py.gluon.html.DIV.tag
1317
web2py.gluon.html.EM.tag
1318
web2py.gluon.html.EMBED.tag
1319
web2py.gluon.html.FIELDSET.tag
1320
web2py.gluon.html.FORM.tag
1321
web2py.gluon.html.H1.tag
1322
web2py.gluon.html.H2.tag
1323
web2py.gluon.html.H3.tag
1324
web2py.gluon.html.H4.tag
1325
web2py.gluon.html.H5.tag
1326
web2py.gluon.html.H6.tag
1327
web2py.gluon.html.HEAD.tag
1328
web2py.gluon.html.HR.tag
1329
web2py.gluon.html.HTML.tag
1330
web2py.gluon.html.I.tag
1331
web2py.gluon.html.IFRAME.tag
1332
web2py.gluon.html.IMG.tag
1333
web2py.gluon.html.INPUT.tag
1334
web2py.gluon.html.LABEL.tag
1335
web2py.gluon.html.LEGEND.tag
1336
web2py.gluon.html.LI.tag
1337
web2py.gluon.html.LINK.tag
1338
web2py.gluon.html.MENU.tag
1339
web2py.gluon.html.META.tag
1340
web2py.gluon.html.OBJECT.tag
1341
web2py.gluon.html.OL.tag
1342
web2py.gluon.html.OPTGROUP.tag
1343
web2py.gluon.html.OPTION.tag
1344
web2py.gluon.html.P.tag
1345
web2py.gluon.html.PRE.tag
1346
web2py.gluon.html.SCRIPT.tag
1347
web2py.gluon.html.SELECT.tag
1348
web2py.gluon.html.SPAN.tag
1349
web2py.gluon.html.STYLE.tag
1350
web2py.gluon.html.TABLE.tag
1351
web2py.gluon.html.TBODY.tag
1352
web2py.gluon.html.TD.tag
1353
web2py.gluon.html.TEXTAREA.tag
1354
web2py.gluon.html.TFOOT.tag
1355
web2py.gluon.html.TH.tag
1356
web2py.gluon.html.THEAD.tag
1357
web2py.gluon.html.TITLE.tag
1358
web2py.gluon.html.TR.tag
1359
web2py.gluon.html.TT.tag
1360
web2py.gluon.html.UL.tag
1361
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-122', 'tag', 'link-82');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">)</tt> </tt>
1362
<a name="L801"></a><tt class="py-lineno"> 801</tt> <tt class="py-line"> </tt>
1363
<a name="L802"></a><tt class="py-lineno"> 802</tt> <tt class="py-line"> <tt class="py-comment"># else: <tag [attributes]> inner components xml </tag></tt> </tt>
1364
<a name="L803"></a><tt class="py-lineno"> 803</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">'<%s%s>%s</%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="web2py.gluon.html.A.tag
1365
web2py.gluon.html.B.tag
1366
web2py.gluon.html.BEAUTIFY.tag
1367
web2py.gluon.html.BODY.tag
1368
web2py.gluon.html.BR.tag
1369
web2py.gluon.html.BUTTON.tag
1370
web2py.gluon.html.CAT.tag
1371
web2py.gluon.html.CENTER.tag
1372
web2py.gluon.html.COL.tag
1373
web2py.gluon.html.COLGROUP.tag
1374
web2py.gluon.html.DIV.tag
1375
web2py.gluon.html.EM.tag
1376
web2py.gluon.html.EMBED.tag
1377
web2py.gluon.html.FIELDSET.tag
1378
web2py.gluon.html.FORM.tag
1379
web2py.gluon.html.H1.tag
1380
web2py.gluon.html.H2.tag
1381
web2py.gluon.html.H3.tag
1382
web2py.gluon.html.H4.tag
1383
web2py.gluon.html.H5.tag
1384
web2py.gluon.html.H6.tag
1385
web2py.gluon.html.HEAD.tag
1386
web2py.gluon.html.HR.tag
1387
web2py.gluon.html.HTML.tag
1388
web2py.gluon.html.I.tag
1389
web2py.gluon.html.IFRAME.tag
1390
web2py.gluon.html.IMG.tag
1391
web2py.gluon.html.INPUT.tag
1392
web2py.gluon.html.LABEL.tag
1393
web2py.gluon.html.LEGEND.tag
1394
web2py.gluon.html.LI.tag
1395
web2py.gluon.html.LINK.tag
1396
web2py.gluon.html.MENU.tag
1397
web2py.gluon.html.META.tag
1398
web2py.gluon.html.OBJECT.tag
1399
web2py.gluon.html.OL.tag
1400
web2py.gluon.html.OPTGROUP.tag
1401
web2py.gluon.html.OPTION.tag
1402
web2py.gluon.html.P.tag
1403
web2py.gluon.html.PRE.tag
1404
web2py.gluon.html.SCRIPT.tag
1405
web2py.gluon.html.SELECT.tag
1406
web2py.gluon.html.SPAN.tag
1407
web2py.gluon.html.STYLE.tag
1408
web2py.gluon.html.TABLE.tag
1409
web2py.gluon.html.TBODY.tag
1410
web2py.gluon.html.TD.tag
1411
web2py.gluon.html.TEXTAREA.tag
1412
web2py.gluon.html.TFOOT.tag
1413
web2py.gluon.html.TH.tag
1414
web2py.gluon.html.THEAD.tag
1415
web2py.gluon.html.TITLE.tag
1416
web2py.gluon.html.TR.tag
1417
web2py.gluon.html.TT.tag
1418
web2py.gluon.html.UL.tag
1419
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-123', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="web2py.gluon.html.A.tag
1420
web2py.gluon.html.B.tag
1421
web2py.gluon.html.BEAUTIFY.tag
1422
web2py.gluon.html.BODY.tag
1423
web2py.gluon.html.BR.tag
1424
web2py.gluon.html.BUTTON.tag
1425
web2py.gluon.html.CAT.tag
1426
web2py.gluon.html.CENTER.tag
1427
web2py.gluon.html.COL.tag
1428
web2py.gluon.html.COLGROUP.tag
1429
web2py.gluon.html.DIV.tag
1430
web2py.gluon.html.EM.tag
1431
web2py.gluon.html.EMBED.tag
1432
web2py.gluon.html.FIELDSET.tag
1433
web2py.gluon.html.FORM.tag
1434
web2py.gluon.html.H1.tag
1435
web2py.gluon.html.H2.tag
1436
web2py.gluon.html.H3.tag
1437
web2py.gluon.html.H4.tag
1438
web2py.gluon.html.H5.tag
1439
web2py.gluon.html.H6.tag
1440
web2py.gluon.html.HEAD.tag
1441
web2py.gluon.html.HR.tag
1442
web2py.gluon.html.HTML.tag
1443
web2py.gluon.html.I.tag
1444
web2py.gluon.html.IFRAME.tag
1445
web2py.gluon.html.IMG.tag
1446
web2py.gluon.html.INPUT.tag
1447
web2py.gluon.html.LABEL.tag
1448
web2py.gluon.html.LEGEND.tag
1449
web2py.gluon.html.LI.tag
1450
web2py.gluon.html.LINK.tag
1451
web2py.gluon.html.MENU.tag
1452
web2py.gluon.html.META.tag
1453
web2py.gluon.html.OBJECT.tag
1454
web2py.gluon.html.OL.tag
1455
web2py.gluon.html.OPTGROUP.tag
1456
web2py.gluon.html.OPTION.tag
1457
web2py.gluon.html.P.tag
1458
web2py.gluon.html.PRE.tag
1459
web2py.gluon.html.SCRIPT.tag
1460
web2py.gluon.html.SELECT.tag
1461
web2py.gluon.html.SPAN.tag
1462
web2py.gluon.html.STYLE.tag
1463
web2py.gluon.html.TABLE.tag
1464
web2py.gluon.html.TBODY.tag
1465
web2py.gluon.html.TD.tag
1466
web2py.gluon.html.TEXTAREA.tag
1467
web2py.gluon.html.TFOOT.tag
1468
web2py.gluon.html.TH.tag
1469
web2py.gluon.html.THEAD.tag
1470
web2py.gluon.html.TITLE.tag
1471
web2py.gluon.html.TR.tag
1472
web2py.gluon.html.TT.tag
1473
web2py.gluon.html.UL.tag
1474
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-124', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
1171
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-111', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1172
<a name="L770"></a><tt class="py-lineno"> 770</tt> <tt class="py-line"> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
1173
</div><a name="L771"></a><tt class="py-lineno"> 771</tt> <tt class="py-line"> </tt>
1174
<a name="DIV._xml"></a><div id="DIV._xml-def"><a name="L772"></a><tt class="py-lineno"> 772</tt> <a class="py-toggle" href="#" id="DIV._xml-toggle" onclick="return toggle('DIV._xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#_xml">_xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1175
</div><div id="DIV._xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._xml-expanded"><a name="L773"></a><tt class="py-lineno"> 773</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1176
<a name="L774"></a><tt class="py-lineno"> 774</tt> <tt class="py-line"><tt class="py-docstring"> helper for xml generation. Returns separately:</tt> </tt>
1177
<a name="L775"></a><tt class="py-lineno"> 775</tt> <tt class="py-line"><tt class="py-docstring"> - the component attributes</tt> </tt>
1178
<a name="L776"></a><tt class="py-lineno"> 776</tt> <tt class="py-line"><tt class="py-docstring"> - the generated xml of the inner components</tt> </tt>
1179
<a name="L777"></a><tt class="py-lineno"> 777</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1180
<a name="L778"></a><tt class="py-lineno"> 778</tt> <tt class="py-line"><tt class="py-docstring"> Component attributes start with an underscore ('_') and</tt> </tt>
1181
<a name="L779"></a><tt class="py-lineno"> 779</tt> <tt class="py-line"><tt class="py-docstring"> do not have a False or None value. The underscore is removed.</tt> </tt>
1182
<a name="L780"></a><tt class="py-lineno"> 780</tt> <tt class="py-line"><tt class="py-docstring"> A value of True is replaced with the attribute name.</tt> </tt>
1183
<a name="L781"></a><tt class="py-lineno"> 781</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1184
<a name="L782"></a><tt class="py-lineno"> 782</tt> <tt class="py-line"><tt class="py-docstring"> :returns: tuple: (attributes, components)</tt> </tt>
1185
<a name="L783"></a><tt class="py-lineno"> 783</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1186
<a name="L784"></a><tt class="py-lineno"> 784</tt> <tt class="py-line"> </tt>
1187
<a name="L785"></a><tt class="py-lineno"> 785</tt> <tt class="py-line"> <tt class="py-comment"># get the attributes for this component</tt> </tt>
1188
<a name="L786"></a><tt class="py-lineno"> 786</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># (they start with '_', others may have special meanings)</tt> </tt>
1189
<a name="L787"></a><tt class="py-lineno"> 787</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">fa</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
1190
<a name="L788"></a><tt class="py-lineno"> 788</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1191
<a name="L789"></a><tt class="py-lineno"> 789</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
1192
<a name="L790"></a><tt class="py-lineno"> 790</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'_'</tt><tt class="py-op">:</tt> </tt>
1193
<a name="L791"></a><tt class="py-lineno"> 791</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
1194
<a name="L792"></a><tt class="py-lineno"> 792</tt> <tt class="py-line"> <tt id="link-112" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-112', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
1195
<a name="L793"></a><tt class="py-lineno"> 793</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
1196
<a name="L794"></a><tt class="py-lineno"> 794</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-113" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-113', 'name', 'link-74');">name</a></tt> </tt>
1197
<a name="L795"></a><tt class="py-lineno"> 795</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt> <tt class="py-keyword">or</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
1198
<a name="L796"></a><tt class="py-lineno"> 796</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
1199
<a name="L797"></a><tt class="py-lineno"> 797</tt> <tt class="py-line"> <tt class="py-name">fa</tt> <tt class="py-op">+=</tt> <tt class="py-string">' %s="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-114" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-114', 'name', 'link-74');">name</a></tt><tt class="py-op">,</tt> <tt id="link-115" class="py-name" targets="Function web2py.gluon.html.xmlescape()=web2py.gluon.html-module.html#xmlescape"><a title="web2py.gluon.html.xmlescape" class="py-name" href="#" onclick="return doclink('link-115', 'xmlescape', 'link-115');">xmlescape</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
1200
<a name="L798"></a><tt class="py-lineno"> 798</tt> <tt class="py-line"> </tt>
1201
<a name="L799"></a><tt class="py-lineno"> 799</tt> <tt class="py-line"> <tt class="py-comment"># get the xml for the inner components</tt> </tt>
1202
<a name="L800"></a><tt class="py-lineno"> 800</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">co</tt> <tt class="py-op">=</tt> <tt id="link-116" class="py-name"><a title="web2py.gluon.html.join
1203
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-116', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt id="link-117" class="py-name"><a title="web2py.gluon.html.xmlescape" class="py-name" href="#" onclick="return doclink('link-117', 'xmlescape', 'link-115');">xmlescape</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> </tt>
1204
<a name="L801"></a><tt class="py-lineno"> 801</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
1205
<a name="L802"></a><tt class="py-lineno"> 802</tt> <tt class="py-line"> </tt>
1206
<a name="L803"></a><tt class="py-lineno"> 803</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> </tt>
1475
1207
</div><a name="L804"></a><tt class="py-lineno"> 804</tt> <tt class="py-line"> </tt>
1476
<a name="DIV.__str__"></a><div id="DIV.__str__-def"><a name="L805"></a><tt class="py-lineno"> 805</tt> <a class="py-toggle" href="#" id="DIV.__str__-toggle" onclick="return toggle('DIV.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1477
</div><div id="DIV.__str__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__str__-expanded"><a name="L806"></a><tt class="py-lineno"> 806</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1478
<a name="L807"></a><tt class="py-lineno"> 807</tt> <tt class="py-line"><tt class="py-docstring"> str(COMPONENT) returns equals COMPONENT.xml()</tt> </tt>
1208
<a name="DIV.xml"></a><div id="DIV.xml-def"><a name="L805"></a><tt class="py-lineno"> 805</tt> <a class="py-toggle" href="#" id="DIV.xml-toggle" onclick="return toggle('DIV.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1209
</div><div id="DIV.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.xml-expanded"><a name="L806"></a><tt class="py-lineno"> 806</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1210
<a name="L807"></a><tt class="py-lineno"> 807</tt> <tt class="py-line"><tt class="py-docstring"> generates the xml for this component.</tt> </tt>
1479
1211
<a name="L808"></a><tt class="py-lineno"> 808</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1480
1212
<a name="L809"></a><tt class="py-lineno"> 809</tt> <tt class="py-line"> </tt>
1481
<a name="L810"></a><tt class="py-lineno"> 810</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="web2py.gluon.dal.Rows.xml
1482
web2py.gluon.html.A.xml
1483
web2py.gluon.html.CODE.xml
1484
web2py.gluon.html.DIV.xml
1485
web2py.gluon.html.FORM.xml
1486
web2py.gluon.html.HTML.xml
1487
web2py.gluon.html.INPUT.xml
1488
web2py.gluon.html.MARKMIN.xml
1489
web2py.gluon.html.MENU.xml
1490
web2py.gluon.html.P.xml
1491
web2py.gluon.html.SCRIPT.xml
1492
web2py.gluon.html.STYLE.xml
1493
web2py.gluon.html.XHTML.xml
1494
web2py.gluon.html.XML.xml
1495
web2py.gluon.html.XmlComponent.xml
1496
web2py.gluon.languages.lazyT.xml
1497
web2py.gluon.serializers.xml
1498
web2py.gluon.tools.Recaptcha.xml
1499
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-125', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1500
</div><a name="L811"></a><tt class="py-lineno"> 811</tt> <tt class="py-line"> </tt>
1501
<a name="DIV.flatten"></a><div id="DIV.flatten-def"><a name="L812"></a><tt class="py-lineno"> 812</tt> <a class="py-toggle" href="#" id="DIV.flatten-toggle" onclick="return toggle('DIV.flatten');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#flatten">flatten</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">render</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1502
</div><div id="DIV.flatten-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.flatten-expanded"><a name="L813"></a><tt class="py-lineno"> 813</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1503
<a name="L814"></a><tt class="py-lineno"> 814</tt> <tt class="py-line"><tt class="py-docstring"> return the text stored by the DIV object rendered by the render function</tt> </tt>
1504
<a name="L815"></a><tt class="py-lineno"> 815</tt> <tt class="py-line"><tt class="py-docstring"> the render function must take text, tagname, and attributes</tt> </tt>
1505
<a name="L816"></a><tt class="py-lineno"> 816</tt> <tt class="py-line"><tt class="py-docstring"> render=None is equivalent to render=lambda text, tag, attr: text</tt> </tt>
1506
<a name="L817"></a><tt class="py-lineno"> 817</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1507
<a name="L818"></a><tt class="py-lineno"> 818</tt> <tt class="py-line"><tt class="py-docstring"> >>> markdown = lambda text,tag=None,attributes={}: \</tt> </tt>
1508
<a name="L819"></a><tt class="py-lineno"> 819</tt> <tt class="py-line"><tt class="py-docstring"> {None: re.sub('\s+',' ',text), \</tt> </tt>
1509
<a name="L820"></a><tt class="py-lineno"> 820</tt> <tt class="py-line"><tt class="py-docstring"> 'h1':'#'+text+'\\n\\n', \</tt> </tt>
1510
<a name="L821"></a><tt class="py-lineno"> 821</tt> <tt class="py-line"><tt class="py-docstring"> 'p':text+'\\n'}.get(tag,text)</tt> </tt>
1511
<a name="L822"></a><tt class="py-lineno"> 822</tt> <tt class="py-line"><tt class="py-docstring"> >>> a=TAG('<h1>Header</h1><p>this is a test</p>')</tt> </tt>
1512
<a name="L823"></a><tt class="py-lineno"> 823</tt> <tt class="py-line"><tt class="py-docstring"> >>> a.flatten(markdown)</tt> </tt>
1513
<a name="L824"></a><tt class="py-lineno"> 824</tt> <tt class="py-line"><tt class="py-docstring"> '#Header\\n\\nthis is a test\\n'</tt> </tt>
1213
<a name="L810"></a><tt class="py-lineno"> 810</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name" targets="Method web2py.gluon.html.DIV._xml()=web2py.gluon.html.DIV-class.html#_xml"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-118', '_xml', 'link-118');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1214
<a name="L811"></a><tt class="py-lineno"> 811</tt> <tt class="py-line"> </tt>
1215
<a name="L812"></a><tt class="py-lineno"> 812</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="web2py.gluon.html.A.tag
1216
web2py.gluon.html.B.tag
1217
web2py.gluon.html.BEAUTIFY.tag
1218
web2py.gluon.html.BODY.tag
1219
web2py.gluon.html.BR.tag
1220
web2py.gluon.html.BUTTON.tag
1221
web2py.gluon.html.CAT.tag
1222
web2py.gluon.html.CENTER.tag
1223
web2py.gluon.html.COL.tag
1224
web2py.gluon.html.COLGROUP.tag
1225
web2py.gluon.html.DIV.tag
1226
web2py.gluon.html.EM.tag
1227
web2py.gluon.html.EMBED.tag
1228
web2py.gluon.html.FIELDSET.tag
1229
web2py.gluon.html.FORM.tag
1230
web2py.gluon.html.H1.tag
1231
web2py.gluon.html.H2.tag
1232
web2py.gluon.html.H3.tag
1233
web2py.gluon.html.H4.tag
1234
web2py.gluon.html.H5.tag
1235
web2py.gluon.html.H6.tag
1236
web2py.gluon.html.HEAD.tag
1237
web2py.gluon.html.HR.tag
1238
web2py.gluon.html.HTML.tag
1239
web2py.gluon.html.I.tag
1240
web2py.gluon.html.IFRAME.tag
1241
web2py.gluon.html.IMG.tag
1242
web2py.gluon.html.INPUT.tag
1243
web2py.gluon.html.LABEL.tag
1244
web2py.gluon.html.LEGEND.tag
1245
web2py.gluon.html.LI.tag
1246
web2py.gluon.html.LINK.tag
1247
web2py.gluon.html.MENU.tag
1248
web2py.gluon.html.META.tag
1249
web2py.gluon.html.OBJECT.tag
1250
web2py.gluon.html.OL.tag
1251
web2py.gluon.html.OPTGROUP.tag
1252
web2py.gluon.html.OPTION.tag
1253
web2py.gluon.html.P.tag
1254
web2py.gluon.html.PRE.tag
1255
web2py.gluon.html.SCRIPT.tag
1256
web2py.gluon.html.SELECT.tag
1257
web2py.gluon.html.SPAN.tag
1258
web2py.gluon.html.STYLE.tag
1259
web2py.gluon.html.TABLE.tag
1260
web2py.gluon.html.TBODY.tag
1261
web2py.gluon.html.TD.tag
1262
web2py.gluon.html.TEXTAREA.tag
1263
web2py.gluon.html.TFOOT.tag
1264
web2py.gluon.html.TH.tag
1265
web2py.gluon.html.THEAD.tag
1266
web2py.gluon.html.TITLE.tag
1267
web2py.gluon.html.TR.tag
1268
web2py.gluon.html.TT.tag
1269
web2py.gluon.html.UL.tag
1270
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-119', 'tag', 'link-82');">tag</a></tt><tt class="py-op">:</tt> </tt>
1271
<a name="L813"></a><tt class="py-lineno"> 813</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">co</tt> </tt>
1272
<a name="L814"></a><tt class="py-lineno"> 814</tt> <tt class="py-line"> </tt>
1273
<a name="L815"></a><tt class="py-lineno"> 815</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="web2py.gluon.html.A.tag
1274
web2py.gluon.html.B.tag
1275
web2py.gluon.html.BEAUTIFY.tag
1276
web2py.gluon.html.BODY.tag
1277
web2py.gluon.html.BR.tag
1278
web2py.gluon.html.BUTTON.tag
1279
web2py.gluon.html.CAT.tag
1280
web2py.gluon.html.CENTER.tag
1281
web2py.gluon.html.COL.tag
1282
web2py.gluon.html.COLGROUP.tag
1283
web2py.gluon.html.DIV.tag
1284
web2py.gluon.html.EM.tag
1285
web2py.gluon.html.EMBED.tag
1286
web2py.gluon.html.FIELDSET.tag
1287
web2py.gluon.html.FORM.tag
1288
web2py.gluon.html.H1.tag
1289
web2py.gluon.html.H2.tag
1290
web2py.gluon.html.H3.tag
1291
web2py.gluon.html.H4.tag
1292
web2py.gluon.html.H5.tag
1293
web2py.gluon.html.H6.tag
1294
web2py.gluon.html.HEAD.tag
1295
web2py.gluon.html.HR.tag
1296
web2py.gluon.html.HTML.tag
1297
web2py.gluon.html.I.tag
1298
web2py.gluon.html.IFRAME.tag
1299
web2py.gluon.html.IMG.tag
1300
web2py.gluon.html.INPUT.tag
1301
web2py.gluon.html.LABEL.tag
1302
web2py.gluon.html.LEGEND.tag
1303
web2py.gluon.html.LI.tag
1304
web2py.gluon.html.LINK.tag
1305
web2py.gluon.html.MENU.tag
1306
web2py.gluon.html.META.tag
1307
web2py.gluon.html.OBJECT.tag
1308
web2py.gluon.html.OL.tag
1309
web2py.gluon.html.OPTGROUP.tag
1310
web2py.gluon.html.OPTION.tag
1311
web2py.gluon.html.P.tag
1312
web2py.gluon.html.PRE.tag
1313
web2py.gluon.html.SCRIPT.tag
1314
web2py.gluon.html.SELECT.tag
1315
web2py.gluon.html.SPAN.tag
1316
web2py.gluon.html.STYLE.tag
1317
web2py.gluon.html.TABLE.tag
1318
web2py.gluon.html.TBODY.tag
1319
web2py.gluon.html.TD.tag
1320
web2py.gluon.html.TEXTAREA.tag
1321
web2py.gluon.html.TFOOT.tag
1322
web2py.gluon.html.TH.tag
1323
web2py.gluon.html.THEAD.tag
1324
web2py.gluon.html.TITLE.tag
1325
web2py.gluon.html.TR.tag
1326
web2py.gluon.html.TT.tag
1327
web2py.gluon.html.UL.tag
1328
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-120', 'tag', 'link-82');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt><tt class="py-op">:</tt> </tt>
1329
<a name="L816"></a><tt class="py-lineno"> 816</tt> <tt class="py-line"> <tt class="py-comment"># <tag [attributes] /></tt> </tt>
1330
<a name="L817"></a><tt class="py-lineno"> 817</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">'<%s%s />'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="web2py.gluon.html.A.tag
1331
web2py.gluon.html.B.tag
1332
web2py.gluon.html.BEAUTIFY.tag
1333
web2py.gluon.html.BODY.tag
1334
web2py.gluon.html.BR.tag
1335
web2py.gluon.html.BUTTON.tag
1336
web2py.gluon.html.CAT.tag
1337
web2py.gluon.html.CENTER.tag
1338
web2py.gluon.html.COL.tag
1339
web2py.gluon.html.COLGROUP.tag
1340
web2py.gluon.html.DIV.tag
1341
web2py.gluon.html.EM.tag
1342
web2py.gluon.html.EMBED.tag
1343
web2py.gluon.html.FIELDSET.tag
1344
web2py.gluon.html.FORM.tag
1345
web2py.gluon.html.H1.tag
1346
web2py.gluon.html.H2.tag
1347
web2py.gluon.html.H3.tag
1348
web2py.gluon.html.H4.tag
1349
web2py.gluon.html.H5.tag
1350
web2py.gluon.html.H6.tag
1351
web2py.gluon.html.HEAD.tag
1352
web2py.gluon.html.HR.tag
1353
web2py.gluon.html.HTML.tag
1354
web2py.gluon.html.I.tag
1355
web2py.gluon.html.IFRAME.tag
1356
web2py.gluon.html.IMG.tag
1357
web2py.gluon.html.INPUT.tag
1358
web2py.gluon.html.LABEL.tag
1359
web2py.gluon.html.LEGEND.tag
1360
web2py.gluon.html.LI.tag
1361
web2py.gluon.html.LINK.tag
1362
web2py.gluon.html.MENU.tag
1363
web2py.gluon.html.META.tag
1364
web2py.gluon.html.OBJECT.tag
1365
web2py.gluon.html.OL.tag
1366
web2py.gluon.html.OPTGROUP.tag
1367
web2py.gluon.html.OPTION.tag
1368
web2py.gluon.html.P.tag
1369
web2py.gluon.html.PRE.tag
1370
web2py.gluon.html.SCRIPT.tag
1371
web2py.gluon.html.SELECT.tag
1372
web2py.gluon.html.SPAN.tag
1373
web2py.gluon.html.STYLE.tag
1374
web2py.gluon.html.TABLE.tag
1375
web2py.gluon.html.TBODY.tag
1376
web2py.gluon.html.TD.tag
1377
web2py.gluon.html.TEXTAREA.tag
1378
web2py.gluon.html.TFOOT.tag
1379
web2py.gluon.html.TH.tag
1380
web2py.gluon.html.THEAD.tag
1381
web2py.gluon.html.TITLE.tag
1382
web2py.gluon.html.TR.tag
1383
web2py.gluon.html.TT.tag
1384
web2py.gluon.html.UL.tag
1385
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-121', 'tag', 'link-82');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">)</tt> </tt>
1386
<a name="L818"></a><tt class="py-lineno"> 818</tt> <tt class="py-line"> </tt>
1387
<a name="L819"></a><tt class="py-lineno"> 819</tt> <tt class="py-line"> <tt class="py-comment"># else: <tag [attributes]> inner components xml </tag></tt> </tt>
1388
<a name="L820"></a><tt class="py-lineno"> 820</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">'<%s%s>%s</%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="web2py.gluon.html.A.tag
1389
web2py.gluon.html.B.tag
1390
web2py.gluon.html.BEAUTIFY.tag
1391
web2py.gluon.html.BODY.tag
1392
web2py.gluon.html.BR.tag
1393
web2py.gluon.html.BUTTON.tag
1394
web2py.gluon.html.CAT.tag
1395
web2py.gluon.html.CENTER.tag
1396
web2py.gluon.html.COL.tag
1397
web2py.gluon.html.COLGROUP.tag
1398
web2py.gluon.html.DIV.tag
1399
web2py.gluon.html.EM.tag
1400
web2py.gluon.html.EMBED.tag
1401
web2py.gluon.html.FIELDSET.tag
1402
web2py.gluon.html.FORM.tag
1403
web2py.gluon.html.H1.tag
1404
web2py.gluon.html.H2.tag
1405
web2py.gluon.html.H3.tag
1406
web2py.gluon.html.H4.tag
1407
web2py.gluon.html.H5.tag
1408
web2py.gluon.html.H6.tag
1409
web2py.gluon.html.HEAD.tag
1410
web2py.gluon.html.HR.tag
1411
web2py.gluon.html.HTML.tag
1412
web2py.gluon.html.I.tag
1413
web2py.gluon.html.IFRAME.tag
1414
web2py.gluon.html.IMG.tag
1415
web2py.gluon.html.INPUT.tag
1416
web2py.gluon.html.LABEL.tag
1417
web2py.gluon.html.LEGEND.tag
1418
web2py.gluon.html.LI.tag
1419
web2py.gluon.html.LINK.tag
1420
web2py.gluon.html.MENU.tag
1421
web2py.gluon.html.META.tag
1422
web2py.gluon.html.OBJECT.tag
1423
web2py.gluon.html.OL.tag
1424
web2py.gluon.html.OPTGROUP.tag
1425
web2py.gluon.html.OPTION.tag
1426
web2py.gluon.html.P.tag
1427
web2py.gluon.html.PRE.tag
1428
web2py.gluon.html.SCRIPT.tag
1429
web2py.gluon.html.SELECT.tag
1430
web2py.gluon.html.SPAN.tag
1431
web2py.gluon.html.STYLE.tag
1432
web2py.gluon.html.TABLE.tag
1433
web2py.gluon.html.TBODY.tag
1434
web2py.gluon.html.TD.tag
1435
web2py.gluon.html.TEXTAREA.tag
1436
web2py.gluon.html.TFOOT.tag
1437
web2py.gluon.html.TH.tag
1438
web2py.gluon.html.THEAD.tag
1439
web2py.gluon.html.TITLE.tag
1440
web2py.gluon.html.TR.tag
1441
web2py.gluon.html.TT.tag
1442
web2py.gluon.html.UL.tag
1443
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-122', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="web2py.gluon.html.A.tag
1444
web2py.gluon.html.B.tag
1445
web2py.gluon.html.BEAUTIFY.tag
1446
web2py.gluon.html.BODY.tag
1447
web2py.gluon.html.BR.tag
1448
web2py.gluon.html.BUTTON.tag
1449
web2py.gluon.html.CAT.tag
1450
web2py.gluon.html.CENTER.tag
1451
web2py.gluon.html.COL.tag
1452
web2py.gluon.html.COLGROUP.tag
1453
web2py.gluon.html.DIV.tag
1454
web2py.gluon.html.EM.tag
1455
web2py.gluon.html.EMBED.tag
1456
web2py.gluon.html.FIELDSET.tag
1457
web2py.gluon.html.FORM.tag
1458
web2py.gluon.html.H1.tag
1459
web2py.gluon.html.H2.tag
1460
web2py.gluon.html.H3.tag
1461
web2py.gluon.html.H4.tag
1462
web2py.gluon.html.H5.tag
1463
web2py.gluon.html.H6.tag
1464
web2py.gluon.html.HEAD.tag
1465
web2py.gluon.html.HR.tag
1466
web2py.gluon.html.HTML.tag
1467
web2py.gluon.html.I.tag
1468
web2py.gluon.html.IFRAME.tag
1469
web2py.gluon.html.IMG.tag
1470
web2py.gluon.html.INPUT.tag
1471
web2py.gluon.html.LABEL.tag
1472
web2py.gluon.html.LEGEND.tag
1473
web2py.gluon.html.LI.tag
1474
web2py.gluon.html.LINK.tag
1475
web2py.gluon.html.MENU.tag
1476
web2py.gluon.html.META.tag
1477
web2py.gluon.html.OBJECT.tag
1478
web2py.gluon.html.OL.tag
1479
web2py.gluon.html.OPTGROUP.tag
1480
web2py.gluon.html.OPTION.tag
1481
web2py.gluon.html.P.tag
1482
web2py.gluon.html.PRE.tag
1483
web2py.gluon.html.SCRIPT.tag
1484
web2py.gluon.html.SELECT.tag
1485
web2py.gluon.html.SPAN.tag
1486
web2py.gluon.html.STYLE.tag
1487
web2py.gluon.html.TABLE.tag
1488
web2py.gluon.html.TBODY.tag
1489
web2py.gluon.html.TD.tag
1490
web2py.gluon.html.TEXTAREA.tag
1491
web2py.gluon.html.TFOOT.tag
1492
web2py.gluon.html.TH.tag
1493
web2py.gluon.html.THEAD.tag
1494
web2py.gluon.html.TITLE.tag
1495
web2py.gluon.html.TR.tag
1496
web2py.gluon.html.TT.tag
1497
web2py.gluon.html.UL.tag
1498
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-123', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
1499
</div><a name="L821"></a><tt class="py-lineno"> 821</tt> <tt class="py-line"> </tt>
1500
<a name="DIV.__str__"></a><div id="DIV.__str__-def"><a name="L822"></a><tt class="py-lineno"> 822</tt> <a class="py-toggle" href="#" id="DIV.__str__-toggle" onclick="return toggle('DIV.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1501
</div><div id="DIV.__str__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__str__-expanded"><a name="L823"></a><tt class="py-lineno"> 823</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1502
<a name="L824"></a><tt class="py-lineno"> 824</tt> <tt class="py-line"><tt class="py-docstring"> str(COMPONENT) returns equals COMPONENT.xml()</tt> </tt>
1514
1503
<a name="L825"></a><tt class="py-lineno"> 825</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1515
1504
<a name="L826"></a><tt class="py-lineno"> 826</tt> <tt class="py-line"> </tt>
1516
<a name="L827"></a><tt class="py-lineno"> 827</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
1517
<a name="L828"></a><tt class="py-lineno"> 828</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1518
<a name="L829"></a><tt class="py-lineno"> 829</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt id="link-126" class="py-name" targets="Class web2py.gluon.html.XmlComponent=web2py.gluon.html.XmlComponent-class.html"><a title="web2py.gluon.html.XmlComponent" class="py-name" href="#" onclick="return doclink('link-126', 'XmlComponent', 'link-126');">XmlComponent</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1519
<a name="L830"></a><tt class="py-lineno"> 830</tt> <tt class="py-line"> <tt id="link-127" class="py-name" targets="Variable web2py.gluon.languages.lazyT.s=web2py.gluon.languages.lazyT-class.html#s"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-127', 's', 'link-127');">s</a></tt><tt class="py-op">=</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name" targets="Method web2py.gluon.html.DIV.flatten()=web2py.gluon.html.DIV-class.html#flatten,Method web2py.gluon.html.MARKMIN.flatten()=web2py.gluon.html.MARKMIN-class.html#flatten,Method web2py.gluon.html.XML.flatten()=web2py.gluon.html.XML-class.html#flatten"><a title="web2py.gluon.html.DIV.flatten
1505
<a name="L827"></a><tt class="py-lineno"> 827</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="web2py.gluon.dal.Rows.xml
1506
web2py.gluon.html.A.xml
1507
web2py.gluon.html.CODE.xml
1508
web2py.gluon.html.DIV.xml
1509
web2py.gluon.html.FORM.xml
1510
web2py.gluon.html.HTML.xml
1511
web2py.gluon.html.INPUT.xml
1512
web2py.gluon.html.MARKMIN.xml
1513
web2py.gluon.html.MENU.xml
1514
web2py.gluon.html.P.xml
1515
web2py.gluon.html.SCRIPT.xml
1516
web2py.gluon.html.STYLE.xml
1517
web2py.gluon.html.XHTML.xml
1518
web2py.gluon.html.XML.xml
1519
web2py.gluon.html.XmlComponent.xml
1520
web2py.gluon.languages.lazyT.xml
1521
web2py.gluon.serializers.xml
1522
web2py.gluon.tools.Recaptcha.xml
1523
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-124', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1524
</div><a name="L828"></a><tt class="py-lineno"> 828</tt> <tt class="py-line"> </tt>
1525
<a name="DIV.flatten"></a><div id="DIV.flatten-def"><a name="L829"></a><tt class="py-lineno"> 829</tt> <a class="py-toggle" href="#" id="DIV.flatten-toggle" onclick="return toggle('DIV.flatten');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#flatten">flatten</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">render</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1526
</div><div id="DIV.flatten-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.flatten-expanded"><a name="L830"></a><tt class="py-lineno"> 830</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1527
<a name="L831"></a><tt class="py-lineno"> 831</tt> <tt class="py-line"><tt class="py-docstring"> return the text stored by the DIV object rendered by the render function</tt> </tt>
1528
<a name="L832"></a><tt class="py-lineno"> 832</tt> <tt class="py-line"><tt class="py-docstring"> the render function must take text, tagname, and attributes</tt> </tt>
1529
<a name="L833"></a><tt class="py-lineno"> 833</tt> <tt class="py-line"><tt class="py-docstring"> render=None is equivalent to render=lambda text, tag, attr: text</tt> </tt>
1530
<a name="L834"></a><tt class="py-lineno"> 834</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1531
<a name="L835"></a><tt class="py-lineno"> 835</tt> <tt class="py-line"><tt class="py-docstring"> >>> markdown = lambda text,tag=None,attributes={}: \</tt> </tt>
1532
<a name="L836"></a><tt class="py-lineno"> 836</tt> <tt class="py-line"><tt class="py-docstring"> {None: re.sub('\s+',' ',text), \</tt> </tt>
1533
<a name="L837"></a><tt class="py-lineno"> 837</tt> <tt class="py-line"><tt class="py-docstring"> 'h1':'#'+text+'\\n\\n', \</tt> </tt>
1534
<a name="L838"></a><tt class="py-lineno"> 838</tt> <tt class="py-line"><tt class="py-docstring"> 'p':text+'\\n'}.get(tag,text)</tt> </tt>
1535
<a name="L839"></a><tt class="py-lineno"> 839</tt> <tt class="py-line"><tt class="py-docstring"> >>> a=TAG('<h1>Header</h1><p>this is a test</p>')</tt> </tt>
1536
<a name="L840"></a><tt class="py-lineno"> 840</tt> <tt class="py-line"><tt class="py-docstring"> >>> a.flatten(markdown)</tt> </tt>
1537
<a name="L841"></a><tt class="py-lineno"> 841</tt> <tt class="py-line"><tt class="py-docstring"> '#Header\\n\\nthis is a test\\n'</tt> </tt>
1538
<a name="L842"></a><tt class="py-lineno"> 842</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1539
<a name="L843"></a><tt class="py-lineno"> 843</tt> <tt class="py-line"> </tt>
1540
<a name="L844"></a><tt class="py-lineno"> 844</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
1541
<a name="L845"></a><tt class="py-lineno"> 845</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1542
<a name="L846"></a><tt class="py-lineno"> 846</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt id="link-125" class="py-name" targets="Class web2py.gluon.html.XmlComponent=web2py.gluon.html.XmlComponent-class.html"><a title="web2py.gluon.html.XmlComponent" class="py-name" href="#" onclick="return doclink('link-125', 'XmlComponent', 'link-125');">XmlComponent</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1543
<a name="L847"></a><tt class="py-lineno"> 847</tt> <tt class="py-line"> <tt id="link-126" class="py-name" targets="Variable web2py.gluon.languages.lazyT.s=web2py.gluon.languages.lazyT-class.html#s"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-126', 's', 'link-126');">s</a></tt><tt class="py-op">=</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method web2py.gluon.html.DIV.flatten()=web2py.gluon.html.DIV-class.html#flatten,Method web2py.gluon.html.MARKMIN.flatten()=web2py.gluon.html.MARKMIN-class.html#flatten,Method web2py.gluon.html.XML.flatten()=web2py.gluon.html.XML-class.html#flatten"><a title="web2py.gluon.html.DIV.flatten
1520
1544
web2py.gluon.html.MARKMIN.flatten
1521
web2py.gluon.html.XML.flatten" class="py-name" href="#" onclick="return doclink('link-128', 'flatten', 'link-128');">flatten</a></tt><tt class="py-op">(</tt><tt id="link-129" class="py-name"><a title="web2py.gluon.globals.Response.render
1522
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-129', 'render', 'link-4');">render</a></tt><tt class="py-op">)</tt> </tt>
1523
<a name="L831"></a><tt class="py-lineno"> 831</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-130" class="py-name"><a title="web2py.gluon.globals.Response.render
1524
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-130', 'render', 'link-4');">render</a></tt><tt class="py-op">:</tt> </tt>
1525
<a name="L832"></a><tt class="py-lineno"> 832</tt> <tt class="py-line"> <tt id="link-131" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-131', 's', 'link-127');">s</a></tt><tt class="py-op">=</tt><tt id="link-132" class="py-name"><a title="web2py.gluon.globals.Response.render
1526
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-132', 'render', 'link-4');">render</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
1527
<a name="L833"></a><tt class="py-lineno"> 833</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1528
<a name="L834"></a><tt class="py-lineno"> 834</tt> <tt class="py-line"> <tt id="link-133" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-133', 's', 'link-127');">s</a></tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1529
<a name="L835"></a><tt class="py-lineno"> 835</tt> <tt class="py-line"> <tt class="py-name">text</tt><tt class="py-op">+=</tt><tt id="link-134" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-134', 's', 'link-127');">s</a></tt> </tt>
1530
<a name="L836"></a><tt class="py-lineno"> 836</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-135" class="py-name"><a title="web2py.gluon.globals.Response.render
1531
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-135', 'render', 'link-4');">render</a></tt><tt class="py-op">:</tt> </tt>
1532
<a name="L837"></a><tt class="py-lineno"> 837</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt id="link-136" class="py-name"><a title="web2py.gluon.globals.Response.render
1533
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-136', 'render', 'link-4');">render</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="web2py.gluon.html.A.tag
1534
web2py.gluon.html.B.tag
1535
web2py.gluon.html.BEAUTIFY.tag
1536
web2py.gluon.html.BODY.tag
1537
web2py.gluon.html.BR.tag
1538
web2py.gluon.html.BUTTON.tag
1539
web2py.gluon.html.CAT.tag
1540
web2py.gluon.html.CENTER.tag
1541
web2py.gluon.html.COL.tag
1542
web2py.gluon.html.COLGROUP.tag
1543
web2py.gluon.html.DIV.tag
1544
web2py.gluon.html.EM.tag
1545
web2py.gluon.html.EMBED.tag
1546
web2py.gluon.html.FIELDSET.tag
1547
web2py.gluon.html.FORM.tag
1548
web2py.gluon.html.H1.tag
1549
web2py.gluon.html.H2.tag
1550
web2py.gluon.html.H3.tag
1551
web2py.gluon.html.H4.tag
1552
web2py.gluon.html.H5.tag
1553
web2py.gluon.html.H6.tag
1554
web2py.gluon.html.HEAD.tag
1555
web2py.gluon.html.HR.tag
1556
web2py.gluon.html.HTML.tag
1557
web2py.gluon.html.I.tag
1558
web2py.gluon.html.IFRAME.tag
1559
web2py.gluon.html.IMG.tag
1560
web2py.gluon.html.INPUT.tag
1561
web2py.gluon.html.LABEL.tag
1562
web2py.gluon.html.LEGEND.tag
1563
web2py.gluon.html.LI.tag
1564
web2py.gluon.html.LINK.tag
1565
web2py.gluon.html.MENU.tag
1566
web2py.gluon.html.META.tag
1567
web2py.gluon.html.OBJECT.tag
1568
web2py.gluon.html.OL.tag
1569
web2py.gluon.html.OPTGROUP.tag
1570
web2py.gluon.html.OPTION.tag
1571
web2py.gluon.html.P.tag
1572
web2py.gluon.html.PRE.tag
1573
web2py.gluon.html.SCRIPT.tag
1574
web2py.gluon.html.SELECT.tag
1575
web2py.gluon.html.SPAN.tag
1576
web2py.gluon.html.STYLE.tag
1577
web2py.gluon.html.TABLE.tag
1578
web2py.gluon.html.TBODY.tag
1579
web2py.gluon.html.TD.tag
1580
web2py.gluon.html.TEXTAREA.tag
1581
web2py.gluon.html.TFOOT.tag
1582
web2py.gluon.html.TH.tag
1583
web2py.gluon.html.THEAD.tag
1584
web2py.gluon.html.TITLE.tag
1585
web2py.gluon.html.TR.tag
1586
web2py.gluon.html.TT.tag
1587
web2py.gluon.html.UL.tag
1588
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-137', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt> </tt>
1589
<a name="L838"></a><tt class="py-lineno"> 838</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
1590
</div><a name="L839"></a><tt class="py-lineno"> 839</tt> <tt class="py-line"> </tt>
1591
<a name="L840"></a><tt class="py-lineno"> 840</tt> <tt class="py-line"> <tt id="link-138" class="py-name" targets="Variable web2py.gluon.html.DIV.regex_tag=web2py.gluon.html.DIV-class.html#regex_tag"><a title="web2py.gluon.html.DIV.regex_tag" class="py-name" href="#" onclick="return doclink('link-138', 'regex_tag', 'link-138');">regex_tag</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'^[\w\-\:]+'</tt><tt class="py-op">)</tt> </tt>
1592
<a name="L841"></a><tt class="py-lineno"> 841</tt> <tt class="py-line"> <tt id="link-139" class="py-name" targets="Variable web2py.gluon.html.DIV.regex_id=web2py.gluon.html.DIV-class.html#regex_id"><a title="web2py.gluon.html.DIV.regex_id" class="py-name" href="#" onclick="return doclink('link-139', 'regex_id', 'link-139');">regex_id</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'#([\w\-]+)'</tt><tt class="py-op">)</tt> </tt>
1593
<a name="L842"></a><tt class="py-lineno"> 842</tt> <tt class="py-line"> <tt id="link-140" class="py-name" targets="Variable web2py.gluon.html.DIV.regex_class=web2py.gluon.html.DIV-class.html#regex_class"><a title="web2py.gluon.html.DIV.regex_class" class="py-name" href="#" onclick="return doclink('link-140', 'regex_class', 'link-140');">regex_class</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'\.([\w\-]+)'</tt><tt class="py-op">)</tt> </tt>
1594
<a name="L843"></a><tt class="py-lineno"> 843</tt> <tt class="py-line"> <tt id="link-141" class="py-name" targets="Variable web2py.gluon.html.DIV.regex_attr=web2py.gluon.html.DIV-class.html#regex_attr"><a title="web2py.gluon.html.DIV.regex_attr" class="py-name" href="#" onclick="return doclink('link-141', 'regex_attr', 'link-141');">regex_attr</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'\[([\w\-\:]+)=(.*?)\]'</tt><tt class="py-op">)</tt> </tt>
1595
<a name="L844"></a><tt class="py-lineno"> 844</tt> <tt class="py-line"> </tt>
1596
<a name="L845"></a><tt class="py-lineno"> 845</tt> <tt class="py-line"> </tt>
1597
<a name="DIV.elements"></a><div id="DIV.elements-def"><a name="L846"></a><tt class="py-lineno"> 846</tt> <a class="py-toggle" href="#" id="DIV.elements-toggle" onclick="return toggle('DIV.elements');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#elements">elements</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1598
</div><div id="DIV.elements-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.elements-expanded"><a name="L847"></a><tt class="py-lineno"> 847</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1599
<a name="L848"></a><tt class="py-lineno"> 848</tt> <tt class="py-line"><tt class="py-docstring"> find all component that match the supplied attribute dictionary,</tt> </tt>
1600
<a name="L849"></a><tt class="py-lineno"> 849</tt> <tt class="py-line"><tt class="py-docstring"> or None if nothing could be found</tt> </tt>
1601
<a name="L850"></a><tt class="py-lineno"> 850</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1602
<a name="L851"></a><tt class="py-lineno"> 851</tt> <tt class="py-line"><tt class="py-docstring"> All components of the components are searched.</tt> </tt>
1603
<a name="L852"></a><tt class="py-lineno"> 852</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1604
<a name="L853"></a><tt class="py-lineno"> 853</tt> <tt class="py-line"><tt class="py-docstring"> >>> a = DIV(DIV(SPAN('x'),3,DIV(SPAN('y'))))</tt> </tt>
1605
<a name="L854"></a><tt class="py-lineno"> 854</tt> <tt class="py-line"><tt class="py-docstring"> >>> for c in a.elements('span',first_only=True): c[0]='z'</tt> </tt>
1606
<a name="L855"></a><tt class="py-lineno"> 855</tt> <tt class="py-line"><tt class="py-docstring"> >>> print a</tt> </tt>
1607
<a name="L856"></a><tt class="py-lineno"> 856</tt> <tt class="py-line"><tt class="py-docstring"> <div><div><span>z</span>3<div><span>y</span></div></div></div></tt> </tt>
1608
<a name="L857"></a><tt class="py-lineno"> 857</tt> <tt class="py-line"><tt class="py-docstring"> >>> for c in a.elements('span'): c[0]='z'</tt> </tt>
1609
<a name="L858"></a><tt class="py-lineno"> 858</tt> <tt class="py-line"><tt class="py-docstring"> >>> print a</tt> </tt>
1610
<a name="L859"></a><tt class="py-lineno"> 859</tt> <tt class="py-line"><tt class="py-docstring"> <div><div><span>z</span>3<div><span>z</span></div></div></div></tt> </tt>
1611
<a name="L860"></a><tt class="py-lineno"> 860</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1612
<a name="L861"></a><tt class="py-lineno"> 861</tt> <tt class="py-line"><tt class="py-docstring"> It also supports a syntax compatible with jQuery</tt> </tt>
1613
<a name="L862"></a><tt class="py-lineno"> 862</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1614
<a name="L863"></a><tt class="py-lineno"> 863</tt> <tt class="py-line"><tt class="py-docstring"> >>> a=TAG('<div><span><a id="1-1" u:v=$>hello</a></span><p class="this is a test">world</p></div>')</tt> </tt>
1615
<a name="L864"></a><tt class="py-lineno"> 864</tt> <tt class="py-line"><tt class="py-docstring"> >>> for e in a.elements('div a#1-1, p.is'): print e.flatten()</tt> </tt>
1616
<a name="L865"></a><tt class="py-lineno"> 865</tt> <tt class="py-line"><tt class="py-docstring"> hello</tt> </tt>
1617
<a name="L866"></a><tt class="py-lineno"> 866</tt> <tt class="py-line"><tt class="py-docstring"> world</tt> </tt>
1618
<a name="L867"></a><tt class="py-lineno"> 867</tt> <tt class="py-line"><tt class="py-docstring"> >>> for e in a.elements('#1-1'): print e.flatten()</tt> </tt>
1619
<a name="L868"></a><tt class="py-lineno"> 868</tt> <tt class="py-line"><tt class="py-docstring"> hello</tt> </tt>
1620
<a name="L869"></a><tt class="py-lineno"> 869</tt> <tt class="py-line"><tt class="py-docstring"> >>> a.elements('a[u:v=$]')[0].xml()</tt> </tt>
1621
<a name="L870"></a><tt class="py-lineno"> 870</tt> <tt class="py-line"><tt class="py-docstring"> '<a id="1-1" u:v="$">hello</a>'</tt> </tt>
1622
<a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1623
<a name="L872"></a><tt class="py-lineno"> 872</tt> <tt class="py-line"><tt class="py-docstring"> >>> a=FORM( INPUT(_type='text'), SELECT(range(1)), TEXTAREA() )</tt> </tt>
1624
<a name="L873"></a><tt class="py-lineno"> 873</tt> <tt class="py-line"><tt class="py-docstring"> >>> for c in a.elements('input, select, textarea'): c['_disabled'] = 'disabled'</tt> </tt>
1625
<a name="L874"></a><tt class="py-lineno"> 874</tt> <tt class="py-line"><tt class="py-docstring"> >>> a.xml()</tt> </tt>
1626
<a name="L875"></a><tt class="py-lineno"> 875</tt> <tt class="py-line"><tt class="py-docstring"> '<form action="" enctype="multipart/form-data" method="post"><input disabled="disabled" type="text" /><select disabled="disabled"><option value="0">0</option></select><textarea cols="40" disabled="disabled" rows="10"></textarea></form>'</tt> </tt>
1627
<a name="L876"></a><tt class="py-lineno"> 876</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1628
<a name="L877"></a><tt class="py-lineno"> 877</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-142" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-142', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
1629
<a name="L878"></a><tt class="py-lineno"> 878</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name" targets="Method web2py.gluon.sanitizer.XssCleaner.strip()=web2py.gluon.sanitizer.XssCleaner-class.html#strip"><a title="web2py.gluon.sanitizer.XssCleaner.strip" class="py-name" href="#" onclick="return doclink('link-143', 'strip', 'link-143');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
1630
<a name="L879"></a><tt class="py-lineno"> 879</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-144" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-144', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">></tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
1631
<a name="L880"></a><tt class="py-lineno"> 880</tt> <tt class="py-line"> <tt class="py-name">subset</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name" targets="Method web2py.gluon.html.DIV.elements()=web2py.gluon.html.DIV-class.html#elements,Method web2py.gluon.html.MARKMIN.elements()=web2py.gluon.html.MARKMIN-class.html#elements,Method web2py.gluon.html.XML.elements()=web2py.gluon.html.XML-class.html#elements"><a title="web2py.gluon.html.DIV.elements
1632
web2py.gluon.html.MARKMIN.elements
1633
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-145', 'elements', 'link-145');">elements</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">]</tt> </tt>
1634
<a name="L881"></a><tt class="py-lineno"> 881</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">reduce</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt><tt id="link-146" class="py-name" targets="Function web2py.gluon.rocket.b()=web2py.gluon.rocket-module.html#b"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-146', 'b', 'link-146');">b</a></tt><tt class="py-op">:</tt><tt class="py-name">a</tt><tt class="py-op">+</tt><tt id="link-147" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-147', 'b', 'link-146');">b</a></tt><tt class="py-op">,</tt><tt class="py-name">subset</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
1635
<a name="L882"></a><tt class="py-lineno"> 882</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-148" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-148', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
1636
<a name="L883"></a><tt class="py-lineno"> 883</tt> <tt class="py-line"> <tt id="link-149" class="py-name"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-149', 'items', 'link-29');">items</a></tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1637
<a name="L884"></a><tt class="py-lineno"> 884</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-150" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-150', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt id="link-151" class="py-name"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-151', 'items', 'link-29');">items</a></tt><tt class="py-op">)</tt><tt class="py-op">></tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
1638
<a name="L885"></a><tt class="py-lineno"> 885</tt> <tt class="py-line"> <tt class="py-name">subset</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="web2py.gluon.html.DIV.elements
1639
web2py.gluon.html.MARKMIN.elements
1640
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-152', 'elements', 'link-145');">elements</a></tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="web2py.gluon.html.join" class="py-name" href="#" onclick="return doclink('link-153', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt id="link-154" class="py-name"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-154', 'items', 'link-29');">items</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="web2py.gluon.html.DIV.elements
1641
web2py.gluon.html.MARKMIN.elements
1642
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-155', 'elements', 'link-145');">elements</a></tt><tt class="py-op">(</tt><tt id="link-156" class="py-name"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-156', 'items', 'link-29');">items</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
1643
<a name="L886"></a><tt class="py-lineno"> 886</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">reduce</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt><tt id="link-157" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-157', 'b', 'link-146');">b</a></tt><tt class="py-op">:</tt><tt class="py-name">a</tt><tt class="py-op">+</tt><tt id="link-158" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-158', 'b', 'link-146');">b</a></tt><tt class="py-op">,</tt><tt class="py-name">subset</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
1644
<a name="L887"></a><tt class="py-lineno"> 887</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1645
<a name="L888"></a><tt class="py-lineno"> 888</tt> <tt class="py-line"> <tt class="py-name">item</tt><tt class="py-op">=</tt><tt id="link-159" class="py-name"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-159', 'items', 'link-29');">items</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
1646
<a name="L889"></a><tt class="py-lineno"> 889</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'#'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">item</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'.'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">item</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'['</tt> <tt class="py-keyword">in</tt> <tt class="py-name">item</tt><tt class="py-op">:</tt> </tt>
1647
<a name="L890"></a><tt class="py-lineno"> 890</tt> <tt class="py-line"> <tt class="py-name">match_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="web2py.gluon.html.DIV.regex_tag" class="py-name" href="#" onclick="return doclink('link-160', 'regex_tag', 'link-138');">regex_tag</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-161', 'search', 'link-43');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
1648
<a name="L891"></a><tt class="py-lineno"> 891</tt> <tt class="py-line"> <tt class="py-name">match_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="web2py.gluon.html.DIV.regex_id" class="py-name" href="#" onclick="return doclink('link-162', 'regex_id', 'link-139');">regex_id</a></tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-163', 'search', 'link-43');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
1649
<a name="L892"></a><tt class="py-lineno"> 892</tt> <tt class="py-line"> <tt class="py-name">match_class</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="web2py.gluon.html.DIV.regex_class" class="py-name" href="#" onclick="return doclink('link-164', 'regex_class', 'link-140');">regex_class</a></tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-165', 'search', 'link-43');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
1650
<a name="L893"></a><tt class="py-lineno"> 893</tt> <tt class="py-line"> <tt class="py-name">match_attr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="web2py.gluon.html.DIV.regex_attr" class="py-name" href="#" onclick="return doclink('link-166', 'regex_attr', 'link-141');">regex_attr</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
1651
<a name="L894"></a><tt class="py-lineno"> 894</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
1652
<a name="L895"></a><tt class="py-lineno"> 895</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match_tag</tt><tt class="py-op">:</tt> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">match_tag</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
1653
<a name="L896"></a><tt class="py-lineno"> 896</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match_id</tt><tt class="py-op">:</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'_id'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">match_id</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
1654
<a name="L897"></a><tt class="py-lineno"> 897</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match_class</tt><tt class="py-op">:</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'(?<!\w)%s(?!\w)'</tt> <tt class="py-op">%</tt> \ </tt>
1655
<a name="L898"></a><tt class="py-lineno"> 898</tt> <tt class="py-line"> <tt class="py-name">match_class</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">,</tt><tt class="py-string">'\\-'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt><tt class="py-string">'\\:'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
1656
<a name="L899"></a><tt class="py-lineno"> 899</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">match_attr</tt><tt class="py-op">:</tt> </tt>
1657
<a name="L900"></a><tt class="py-lineno"> 900</tt> <tt class="py-line"> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'_'</tt><tt class="py-op">+</tt><tt class="py-name">item</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">item</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
1658
<a name="L901"></a><tt class="py-lineno"> 901</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="web2py.gluon.html.DIV.elements
1659
web2py.gluon.html.MARKMIN.elements
1660
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-167', 'elements', 'link-145');">elements</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> </tt>
1661
<a name="L902"></a><tt class="py-lineno"> 902</tt> <tt class="py-line"> <tt class="py-comment"># make a copy of the components</tt> </tt>
1662
<a name="L903"></a><tt class="py-lineno"> 903</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">matches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
1663
<a name="L904"></a><tt class="py-lineno"> 904</tt> <tt class="py-line"> <tt class="py-name">first_only</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1664
<a name="L905"></a><tt class="py-lineno"> 905</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="web2py.gluon.rocket.Headers.has_key" class="py-name" href="#" onclick="return doclink('link-168', 'has_key', 'link-28');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-string">"first_only"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1665
<a name="L906"></a><tt class="py-lineno"> 906</tt> <tt class="py-line"> <tt class="py-name">first_only</tt> <tt class="py-op">=</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">"first_only"</tt><tt class="py-op">]</tt> </tt>
1666
<a name="L907"></a><tt class="py-lineno"> 907</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">"first_only"</tt><tt class="py-op">]</tt> </tt>
1667
<a name="L908"></a><tt class="py-lineno"> 908</tt> <tt class="py-line"> <tt class="py-comment"># check if the component has an attribute with the same</tt> </tt>
1668
<a name="L909"></a><tt class="py-lineno"> 909</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># value as provided</tt> </tt>
1669
<a name="L910"></a><tt class="py-lineno"> 910</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1670
<a name="L911"></a><tt class="py-lineno"> 911</tt> <tt class="py-line"> <tt id="link-169" class="py-name"><a title="web2py.gluon.html.A.tag
1671
web2py.gluon.html.B.tag
1672
web2py.gluon.html.BEAUTIFY.tag
1673
web2py.gluon.html.BODY.tag
1674
web2py.gluon.html.BR.tag
1675
web2py.gluon.html.BUTTON.tag
1676
web2py.gluon.html.CAT.tag
1677
web2py.gluon.html.CENTER.tag
1678
web2py.gluon.html.COL.tag
1679
web2py.gluon.html.COLGROUP.tag
1680
web2py.gluon.html.DIV.tag
1681
web2py.gluon.html.EM.tag
1682
web2py.gluon.html.EMBED.tag
1683
web2py.gluon.html.FIELDSET.tag
1684
web2py.gluon.html.FORM.tag
1685
web2py.gluon.html.H1.tag
1686
web2py.gluon.html.H2.tag
1687
web2py.gluon.html.H3.tag
1688
web2py.gluon.html.H4.tag
1689
web2py.gluon.html.H5.tag
1690
web2py.gluon.html.H6.tag
1691
web2py.gluon.html.HEAD.tag
1692
web2py.gluon.html.HR.tag
1693
web2py.gluon.html.HTML.tag
1694
web2py.gluon.html.I.tag
1695
web2py.gluon.html.IFRAME.tag
1696
web2py.gluon.html.IMG.tag
1697
web2py.gluon.html.INPUT.tag
1698
web2py.gluon.html.LABEL.tag
1699
web2py.gluon.html.LEGEND.tag
1700
web2py.gluon.html.LI.tag
1701
web2py.gluon.html.LINK.tag
1702
web2py.gluon.html.MENU.tag
1703
web2py.gluon.html.META.tag
1704
web2py.gluon.html.OBJECT.tag
1705
web2py.gluon.html.OL.tag
1706
web2py.gluon.html.OPTGROUP.tag
1707
web2py.gluon.html.OPTION.tag
1708
web2py.gluon.html.P.tag
1709
web2py.gluon.html.PRE.tag
1710
web2py.gluon.html.SCRIPT.tag
1711
web2py.gluon.html.SELECT.tag
1712
web2py.gluon.html.SPAN.tag
1713
web2py.gluon.html.STYLE.tag
1714
web2py.gluon.html.TABLE.tag
1715
web2py.gluon.html.TBODY.tag
1716
web2py.gluon.html.TD.tag
1717
web2py.gluon.html.TEXTAREA.tag
1718
web2py.gluon.html.TFOOT.tag
1719
web2py.gluon.html.TH.tag
1720
web2py.gluon.html.THEAD.tag
1721
web2py.gluon.html.TITLE.tag
1722
web2py.gluon.html.TR.tag
1723
web2py.gluon.html.TT.tag
1724
web2py.gluon.html.UL.tag
1725
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-169', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-string">'tag'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
1726
<a name="L912"></a><tt class="py-lineno"> 912</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt id="link-170" class="py-name"><a title="web2py.gluon.html.A.tag
1727
web2py.gluon.html.B.tag
1728
web2py.gluon.html.BEAUTIFY.tag
1729
web2py.gluon.html.BODY.tag
1730
web2py.gluon.html.BR.tag
1731
web2py.gluon.html.BUTTON.tag
1732
web2py.gluon.html.CAT.tag
1733
web2py.gluon.html.CENTER.tag
1734
web2py.gluon.html.COL.tag
1735
web2py.gluon.html.COLGROUP.tag
1736
web2py.gluon.html.DIV.tag
1737
web2py.gluon.html.EM.tag
1738
web2py.gluon.html.EMBED.tag
1739
web2py.gluon.html.FIELDSET.tag
1740
web2py.gluon.html.FORM.tag
1741
web2py.gluon.html.H1.tag
1742
web2py.gluon.html.H2.tag
1743
web2py.gluon.html.H3.tag
1744
web2py.gluon.html.H4.tag
1745
web2py.gluon.html.H5.tag
1746
web2py.gluon.html.H6.tag
1747
web2py.gluon.html.HEAD.tag
1748
web2py.gluon.html.HR.tag
1749
web2py.gluon.html.HTML.tag
1750
web2py.gluon.html.I.tag
1751
web2py.gluon.html.IFRAME.tag
1752
web2py.gluon.html.IMG.tag
1753
web2py.gluon.html.INPUT.tag
1754
web2py.gluon.html.LABEL.tag
1755
web2py.gluon.html.LEGEND.tag
1756
web2py.gluon.html.LI.tag
1757
web2py.gluon.html.LINK.tag
1758
web2py.gluon.html.MENU.tag
1759
web2py.gluon.html.META.tag
1760
web2py.gluon.html.OBJECT.tag
1761
web2py.gluon.html.OL.tag
1762
web2py.gluon.html.OPTGROUP.tag
1763
web2py.gluon.html.OPTION.tag
1764
web2py.gluon.html.P.tag
1765
web2py.gluon.html.PRE.tag
1766
web2py.gluon.html.SCRIPT.tag
1767
web2py.gluon.html.SELECT.tag
1768
web2py.gluon.html.SPAN.tag
1769
web2py.gluon.html.STYLE.tag
1770
web2py.gluon.html.TABLE.tag
1771
web2py.gluon.html.TBODY.tag
1772
web2py.gluon.html.TD.tag
1773
web2py.gluon.html.TEXTAREA.tag
1774
web2py.gluon.html.TFOOT.tag
1775
web2py.gluon.html.TH.tag
1776
web2py.gluon.html.THEAD.tag
1777
web2py.gluon.html.TITLE.tag
1778
web2py.gluon.html.TR.tag
1779
web2py.gluon.html.TT.tag
1780
web2py.gluon.html.UL.tag
1781
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-170', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
1782
<a name="L913"></a><tt class="py-lineno"> 913</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1783
<a name="L914"></a><tt class="py-lineno"> 914</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-171', 'items', 'link-29');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1784
<a name="L915"></a><tt class="py-lineno"> 915</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1785
<a name="L916"></a><tt class="py-lineno"> 916</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1786
<a name="L917"></a><tt class="py-lineno"> 917</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1787
<a name="L918"></a><tt class="py-lineno"> 918</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
1788
<a name="L919"></a><tt class="py-lineno"> 919</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-172', 'search', 'link-43');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1789
<a name="L920"></a><tt class="py-lineno"> 920</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1790
<a name="L921"></a><tt class="py-lineno"> 921</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1791
<a name="L922"></a><tt class="py-lineno"> 922</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1792
<a name="L923"></a><tt class="py-lineno"> 923</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'find'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kargs</tt><tt class="py-op">:</tt> </tt>
1793
<a name="L924"></a><tt class="py-lineno"> 924</tt> <tt class="py-line"> <tt id="link-173" class="py-name" targets="Method web2py.gluon.dal.Rows.find()=web2py.gluon.dal.Rows-class.html#find"><a title="web2py.gluon.dal.Rows.find" class="py-name" href="#" onclick="return doclink('link-173', 'find', 'link-173');">find</a></tt> <tt class="py-op">=</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'find'</tt><tt class="py-op">]</tt> </tt>
1794
<a name="L925"></a><tt class="py-lineno"> 925</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1795
<a name="L926"></a><tt class="py-lineno"> 926</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-174" class="py-name"><a title="web2py.gluon.dal.Rows.find" class="py-name" href="#" onclick="return doclink('link-174', 'find', 'link-173');">find</a></tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1796
<a name="L927"></a><tt class="py-lineno"> 927</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-175" class="py-name"><a title="web2py.gluon.dal.Rows.find" class="py-name" href="#" onclick="return doclink('link-175', 'find', 'link-173');">find</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">:</tt> </tt>
1797
<a name="L928"></a><tt class="py-lineno"> 928</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1798
<a name="L929"></a><tt class="py-lineno"> 929</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1799
<a name="L930"></a><tt class="py-lineno"> 930</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt id="link-176" class="py-name"><a title="web2py.gluon.dal.Rows.find" class="py-name" href="#" onclick="return doclink('link-176', 'find', 'link-173');">find</a></tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-177', 'search', 'link-43');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1800
<a name="L931"></a><tt class="py-lineno"> 931</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1801
<a name="L932"></a><tt class="py-lineno"> 932</tt> <tt class="py-line"> <tt class="py-comment"># if found, return the component</tt> </tt>
1802
<a name="L933"></a><tt class="py-lineno"> 933</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
1803
<a name="L934"></a><tt class="py-lineno"> 934</tt> <tt class="py-line"> <tt class="py-name">matches</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="web2py.gluon.html.DIV.append
1545
web2py.gluon.html.XML.flatten" class="py-name" href="#" onclick="return doclink('link-127', 'flatten', 'link-127');">flatten</a></tt><tt class="py-op">(</tt><tt id="link-128" class="py-name"><a title="web2py.gluon.globals.Response.render
1546
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-128', 'render', 'link-4');">render</a></tt><tt class="py-op">)</tt> </tt>
1547
<a name="L848"></a><tt class="py-lineno"> 848</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-129" class="py-name"><a title="web2py.gluon.globals.Response.render
1548
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-129', 'render', 'link-4');">render</a></tt><tt class="py-op">:</tt> </tt>
1549
<a name="L849"></a><tt class="py-lineno"> 849</tt> <tt class="py-line"> <tt id="link-130" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-130', 's', 'link-126');">s</a></tt><tt class="py-op">=</tt><tt id="link-131" class="py-name"><a title="web2py.gluon.globals.Response.render
1550
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-131', 'render', 'link-4');">render</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
1551
<a name="L850"></a><tt class="py-lineno"> 850</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1552
<a name="L851"></a><tt class="py-lineno"> 851</tt> <tt class="py-line"> <tt id="link-132" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-132', 's', 'link-126');">s</a></tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1553
<a name="L852"></a><tt class="py-lineno"> 852</tt> <tt class="py-line"> <tt class="py-name">text</tt><tt class="py-op">+=</tt><tt id="link-133" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-133', 's', 'link-126');">s</a></tt> </tt>
1554
<a name="L853"></a><tt class="py-lineno"> 853</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-134" class="py-name"><a title="web2py.gluon.globals.Response.render
1555
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-134', 'render', 'link-4');">render</a></tt><tt class="py-op">:</tt> </tt>
1556
<a name="L854"></a><tt class="py-lineno"> 854</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt id="link-135" class="py-name"><a title="web2py.gluon.globals.Response.render
1557
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-135', 'render', 'link-4');">render</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="web2py.gluon.html.A.tag
1558
web2py.gluon.html.B.tag
1559
web2py.gluon.html.BEAUTIFY.tag
1560
web2py.gluon.html.BODY.tag
1561
web2py.gluon.html.BR.tag
1562
web2py.gluon.html.BUTTON.tag
1563
web2py.gluon.html.CAT.tag
1564
web2py.gluon.html.CENTER.tag
1565
web2py.gluon.html.COL.tag
1566
web2py.gluon.html.COLGROUP.tag
1567
web2py.gluon.html.DIV.tag
1568
web2py.gluon.html.EM.tag
1569
web2py.gluon.html.EMBED.tag
1570
web2py.gluon.html.FIELDSET.tag
1571
web2py.gluon.html.FORM.tag
1572
web2py.gluon.html.H1.tag
1573
web2py.gluon.html.H2.tag
1574
web2py.gluon.html.H3.tag
1575
web2py.gluon.html.H4.tag
1576
web2py.gluon.html.H5.tag
1577
web2py.gluon.html.H6.tag
1578
web2py.gluon.html.HEAD.tag
1579
web2py.gluon.html.HR.tag
1580
web2py.gluon.html.HTML.tag
1581
web2py.gluon.html.I.tag
1582
web2py.gluon.html.IFRAME.tag
1583
web2py.gluon.html.IMG.tag
1584
web2py.gluon.html.INPUT.tag
1585
web2py.gluon.html.LABEL.tag
1586
web2py.gluon.html.LEGEND.tag
1587
web2py.gluon.html.LI.tag
1588
web2py.gluon.html.LINK.tag
1589
web2py.gluon.html.MENU.tag
1590
web2py.gluon.html.META.tag
1591
web2py.gluon.html.OBJECT.tag
1592
web2py.gluon.html.OL.tag
1593
web2py.gluon.html.OPTGROUP.tag
1594
web2py.gluon.html.OPTION.tag
1595
web2py.gluon.html.P.tag
1596
web2py.gluon.html.PRE.tag
1597
web2py.gluon.html.SCRIPT.tag
1598
web2py.gluon.html.SELECT.tag
1599
web2py.gluon.html.SPAN.tag
1600
web2py.gluon.html.STYLE.tag
1601
web2py.gluon.html.TABLE.tag
1602
web2py.gluon.html.TBODY.tag
1603
web2py.gluon.html.TD.tag
1604
web2py.gluon.html.TEXTAREA.tag
1605
web2py.gluon.html.TFOOT.tag
1606
web2py.gluon.html.TH.tag
1607
web2py.gluon.html.THEAD.tag
1608
web2py.gluon.html.TITLE.tag
1609
web2py.gluon.html.TR.tag
1610
web2py.gluon.html.TT.tag
1611
web2py.gluon.html.UL.tag
1612
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-136', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt> </tt>
1613
<a name="L855"></a><tt class="py-lineno"> 855</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
1614
</div><a name="L856"></a><tt class="py-lineno"> 856</tt> <tt class="py-line"> </tt>
1615
<a name="L857"></a><tt class="py-lineno"> 857</tt> <tt class="py-line"> <tt id="link-137" class="py-name" targets="Variable web2py.gluon.html.DIV.regex_tag=web2py.gluon.html.DIV-class.html#regex_tag"><a title="web2py.gluon.html.DIV.regex_tag" class="py-name" href="#" onclick="return doclink('link-137', 'regex_tag', 'link-137');">regex_tag</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'^[\w\-\:]+'</tt><tt class="py-op">)</tt> </tt>
1616
<a name="L858"></a><tt class="py-lineno"> 858</tt> <tt class="py-line"> <tt id="link-138" class="py-name" targets="Variable web2py.gluon.html.DIV.regex_id=web2py.gluon.html.DIV-class.html#regex_id"><a title="web2py.gluon.html.DIV.regex_id" class="py-name" href="#" onclick="return doclink('link-138', 'regex_id', 'link-138');">regex_id</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'#([\w\-]+)'</tt><tt class="py-op">)</tt> </tt>
1617
<a name="L859"></a><tt class="py-lineno"> 859</tt> <tt class="py-line"> <tt id="link-139" class="py-name" targets="Variable web2py.gluon.html.DIV.regex_class=web2py.gluon.html.DIV-class.html#regex_class"><a title="web2py.gluon.html.DIV.regex_class" class="py-name" href="#" onclick="return doclink('link-139', 'regex_class', 'link-139');">regex_class</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'\.([\w\-]+)'</tt><tt class="py-op">)</tt> </tt>
1618
<a name="L860"></a><tt class="py-lineno"> 860</tt> <tt class="py-line"> <tt id="link-140" class="py-name" targets="Variable web2py.gluon.html.DIV.regex_attr=web2py.gluon.html.DIV-class.html#regex_attr"><a title="web2py.gluon.html.DIV.regex_attr" class="py-name" href="#" onclick="return doclink('link-140', 'regex_attr', 'link-140');">regex_attr</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'\[([\w\-\:]+)=(.*?)\]'</tt><tt class="py-op">)</tt> </tt>
1619
<a name="L861"></a><tt class="py-lineno"> 861</tt> <tt class="py-line"> </tt>
1620
<a name="L862"></a><tt class="py-lineno"> 862</tt> <tt class="py-line"> </tt>
1621
<a name="DIV.elements"></a><div id="DIV.elements-def"><a name="L863"></a><tt class="py-lineno"> 863</tt> <a class="py-toggle" href="#" id="DIV.elements-toggle" onclick="return toggle('DIV.elements');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#elements">elements</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1622
</div><div id="DIV.elements-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.elements-expanded"><a name="L864"></a><tt class="py-lineno"> 864</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1623
<a name="L865"></a><tt class="py-lineno"> 865</tt> <tt class="py-line"><tt class="py-docstring"> find all component that match the supplied attribute dictionary,</tt> </tt>
1624
<a name="L866"></a><tt class="py-lineno"> 866</tt> <tt class="py-line"><tt class="py-docstring"> or None if nothing could be found</tt> </tt>
1625
<a name="L867"></a><tt class="py-lineno"> 867</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1626
<a name="L868"></a><tt class="py-lineno"> 868</tt> <tt class="py-line"><tt class="py-docstring"> All components of the components are searched.</tt> </tt>
1627
<a name="L869"></a><tt class="py-lineno"> 869</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1628
<a name="L870"></a><tt class="py-lineno"> 870</tt> <tt class="py-line"><tt class="py-docstring"> >>> a = DIV(DIV(SPAN('x'),3,DIV(SPAN('y'))))</tt> </tt>
1629
<a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"><tt class="py-docstring"> >>> for c in a.elements('span',first_only=True): c[0]='z'</tt> </tt>
1630
<a name="L872"></a><tt class="py-lineno"> 872</tt> <tt class="py-line"><tt class="py-docstring"> >>> print a</tt> </tt>
1631
<a name="L873"></a><tt class="py-lineno"> 873</tt> <tt class="py-line"><tt class="py-docstring"> <div><div><span>z</span>3<div><span>y</span></div></div></div></tt> </tt>
1632
<a name="L874"></a><tt class="py-lineno"> 874</tt> <tt class="py-line"><tt class="py-docstring"> >>> for c in a.elements('span'): c[0]='z'</tt> </tt>
1633
<a name="L875"></a><tt class="py-lineno"> 875</tt> <tt class="py-line"><tt class="py-docstring"> >>> print a</tt> </tt>
1634
<a name="L876"></a><tt class="py-lineno"> 876</tt> <tt class="py-line"><tt class="py-docstring"> <div><div><span>z</span>3<div><span>z</span></div></div></div></tt> </tt>
1635
<a name="L877"></a><tt class="py-lineno"> 877</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1636
<a name="L878"></a><tt class="py-lineno"> 878</tt> <tt class="py-line"><tt class="py-docstring"> It also supports a syntax compatible with jQuery</tt> </tt>
1637
<a name="L879"></a><tt class="py-lineno"> 879</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1638
<a name="L880"></a><tt class="py-lineno"> 880</tt> <tt class="py-line"><tt class="py-docstring"> >>> a=TAG('<div><span><a id="1-1" u:v=$>hello</a></span><p class="this is a test">world</p></div>')</tt> </tt>
1639
<a name="L881"></a><tt class="py-lineno"> 881</tt> <tt class="py-line"><tt class="py-docstring"> >>> for e in a.elements('div a#1-1, p.is'): print e.flatten()</tt> </tt>
1640
<a name="L882"></a><tt class="py-lineno"> 882</tt> <tt class="py-line"><tt class="py-docstring"> hello</tt> </tt>
1641
<a name="L883"></a><tt class="py-lineno"> 883</tt> <tt class="py-line"><tt class="py-docstring"> world</tt> </tt>
1642
<a name="L884"></a><tt class="py-lineno"> 884</tt> <tt class="py-line"><tt class="py-docstring"> >>> for e in a.elements('#1-1'): print e.flatten()</tt> </tt>
1643
<a name="L885"></a><tt class="py-lineno"> 885</tt> <tt class="py-line"><tt class="py-docstring"> hello</tt> </tt>
1644
<a name="L886"></a><tt class="py-lineno"> 886</tt> <tt class="py-line"><tt class="py-docstring"> >>> a.elements('a[u:v=$]')[0].xml()</tt> </tt>
1645
<a name="L887"></a><tt class="py-lineno"> 887</tt> <tt class="py-line"><tt class="py-docstring"> '<a id="1-1" u:v="$">hello</a>'</tt> </tt>
1646
<a name="L888"></a><tt class="py-lineno"> 888</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1647
<a name="L889"></a><tt class="py-lineno"> 889</tt> <tt class="py-line"><tt class="py-docstring"> >>> a=FORM( INPUT(_type='text'), SELECT(range(1)), TEXTAREA() )</tt> </tt>
1648
<a name="L890"></a><tt class="py-lineno"> 890</tt> <tt class="py-line"><tt class="py-docstring"> >>> for c in a.elements('input, select, textarea'): c['_disabled'] = 'disabled'</tt> </tt>
1649
<a name="L891"></a><tt class="py-lineno"> 891</tt> <tt class="py-line"><tt class="py-docstring"> >>> a.xml()</tt> </tt>
1650
<a name="L892"></a><tt class="py-lineno"> 892</tt> <tt class="py-line"><tt class="py-docstring"> '<form action="" enctype="multipart/form-data" method="post"><input disabled="disabled" type="text" /><select disabled="disabled"><option value="0">0</option></select><textarea cols="40" disabled="disabled" rows="10"></textarea></form>'</tt> </tt>
1651
<a name="L893"></a><tt class="py-lineno"> 893</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1652
<a name="L894"></a><tt class="py-lineno"> 894</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-141" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-141', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
1653
<a name="L895"></a><tt class="py-lineno"> 895</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name" targets="Method web2py.gluon.sanitizer.XssCleaner.strip()=web2py.gluon.sanitizer.XssCleaner-class.html#strip"><a title="web2py.gluon.sanitizer.XssCleaner.strip" class="py-name" href="#" onclick="return doclink('link-142', 'strip', 'link-142');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
1654
<a name="L896"></a><tt class="py-lineno"> 896</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-143" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-143', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">></tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
1655
<a name="L897"></a><tt class="py-lineno"> 897</tt> <tt class="py-line"> <tt class="py-name">subset</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name" targets="Method web2py.gluon.html.DIV.elements()=web2py.gluon.html.DIV-class.html#elements,Method web2py.gluon.html.MARKMIN.elements()=web2py.gluon.html.MARKMIN-class.html#elements,Method web2py.gluon.html.XML.elements()=web2py.gluon.html.XML-class.html#elements"><a title="web2py.gluon.html.DIV.elements
1656
web2py.gluon.html.MARKMIN.elements
1657
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-144', 'elements', 'link-144');">elements</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">]</tt> </tt>
1658
<a name="L898"></a><tt class="py-lineno"> 898</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">reduce</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt><tt id="link-145" class="py-name" targets="Function web2py.gluon.rocket.b()=web2py.gluon.rocket-module.html#b"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-145', 'b', 'link-145');">b</a></tt><tt class="py-op">:</tt><tt class="py-name">a</tt><tt class="py-op">+</tt><tt id="link-146" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-146', 'b', 'link-145');">b</a></tt><tt class="py-op">,</tt><tt class="py-name">subset</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
1659
<a name="L899"></a><tt class="py-lineno"> 899</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-147" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-147', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
1660
<a name="L900"></a><tt class="py-lineno"> 900</tt> <tt class="py-line"> <tt class="py-name">items</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
1661
<a name="L901"></a><tt class="py-lineno"> 901</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-148" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-148', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">)</tt><tt class="py-op">></tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
1662
<a name="L902"></a><tt class="py-lineno"> 902</tt> <tt class="py-line"> <tt class="py-name">subset</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="web2py.gluon.html.DIV.elements
1663
web2py.gluon.html.MARKMIN.elements
1664
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-149', 'elements', 'link-144');">elements</a></tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="web2py.gluon.html.join
1665
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-150', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="web2py.gluon.html.DIV.elements
1666
web2py.gluon.html.MARKMIN.elements
1667
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-151', 'elements', 'link-144');">elements</a></tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
1668
<a name="L903"></a><tt class="py-lineno"> 903</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">reduce</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt><tt id="link-152" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-152', 'b', 'link-145');">b</a></tt><tt class="py-op">:</tt><tt class="py-name">a</tt><tt class="py-op">+</tt><tt id="link-153" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-153', 'b', 'link-145');">b</a></tt><tt class="py-op">,</tt><tt class="py-name">subset</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
1669
<a name="L904"></a><tt class="py-lineno"> 904</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1670
<a name="L905"></a><tt class="py-lineno"> 905</tt> <tt class="py-line"> <tt class="py-name">item</tt><tt class="py-op">=</tt><tt class="py-name">items</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
1671
<a name="L906"></a><tt class="py-lineno"> 906</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'#'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">item</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'.'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">item</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'['</tt> <tt class="py-keyword">in</tt> <tt class="py-name">item</tt><tt class="py-op">:</tt> </tt>
1672
<a name="L907"></a><tt class="py-lineno"> 907</tt> <tt class="py-line"> <tt class="py-name">match_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="web2py.gluon.html.DIV.regex_tag" class="py-name" href="#" onclick="return doclink('link-154', 'regex_tag', 'link-137');">regex_tag</a></tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-155', 'search', 'link-45');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
1673
<a name="L908"></a><tt class="py-lineno"> 908</tt> <tt class="py-line"> <tt class="py-name">match_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="web2py.gluon.html.DIV.regex_id" class="py-name" href="#" onclick="return doclink('link-156', 'regex_id', 'link-138');">regex_id</a></tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-157', 'search', 'link-45');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
1674
<a name="L909"></a><tt class="py-lineno"> 909</tt> <tt class="py-line"> <tt class="py-name">match_class</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="web2py.gluon.html.DIV.regex_class" class="py-name" href="#" onclick="return doclink('link-158', 'regex_class', 'link-139');">regex_class</a></tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-159', 'search', 'link-45');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
1675
<a name="L910"></a><tt class="py-lineno"> 910</tt> <tt class="py-line"> <tt class="py-name">match_attr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="web2py.gluon.html.DIV.regex_attr" class="py-name" href="#" onclick="return doclink('link-160', 'regex_attr', 'link-140');">regex_attr</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
1676
<a name="L911"></a><tt class="py-lineno"> 911</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
1677
<a name="L912"></a><tt class="py-lineno"> 912</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match_tag</tt><tt class="py-op">:</tt> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">match_tag</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
1678
<a name="L913"></a><tt class="py-lineno"> 913</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match_id</tt><tt class="py-op">:</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'_id'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">match_id</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
1679
<a name="L914"></a><tt class="py-lineno"> 914</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match_class</tt><tt class="py-op">:</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'(?<!\w)%s(?!\w)'</tt> <tt class="py-op">%</tt> \ </tt>
1680
<a name="L915"></a><tt class="py-lineno"> 915</tt> <tt class="py-line"> <tt class="py-name">match_class</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">,</tt><tt class="py-string">'\\-'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt><tt class="py-string">'\\:'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
1681
<a name="L916"></a><tt class="py-lineno"> 916</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">match_attr</tt><tt class="py-op">:</tt> </tt>
1682
<a name="L917"></a><tt class="py-lineno"> 917</tt> <tt class="py-line"> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'_'</tt><tt class="py-op">+</tt><tt class="py-name">item</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">item</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
1683
<a name="L918"></a><tt class="py-lineno"> 918</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="web2py.gluon.html.DIV.elements
1684
web2py.gluon.html.MARKMIN.elements
1685
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-161', 'elements', 'link-144');">elements</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> </tt>
1686
<a name="L919"></a><tt class="py-lineno"> 919</tt> <tt class="py-line"> <tt class="py-comment"># make a copy of the components</tt> </tt>
1687
<a name="L920"></a><tt class="py-lineno"> 920</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">matches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
1688
<a name="L921"></a><tt class="py-lineno"> 921</tt> <tt class="py-line"> <tt class="py-name">first_only</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1689
<a name="L922"></a><tt class="py-lineno"> 922</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">"first_only"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1690
<a name="L923"></a><tt class="py-lineno"> 923</tt> <tt class="py-line"> <tt class="py-name">first_only</tt> <tt class="py-op">=</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">"first_only"</tt><tt class="py-op">]</tt> </tt>
1691
<a name="L924"></a><tt class="py-lineno"> 924</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">"first_only"</tt><tt class="py-op">]</tt> </tt>
1692
<a name="L925"></a><tt class="py-lineno"> 925</tt> <tt class="py-line"> <tt class="py-comment"># check if the component has an attribute with the same</tt> </tt>
1693
<a name="L926"></a><tt class="py-lineno"> 926</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># value as provided</tt> </tt>
1694
<a name="L927"></a><tt class="py-lineno"> 927</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1695
<a name="L928"></a><tt class="py-lineno"> 928</tt> <tt class="py-line"> <tt id="link-162" class="py-name"><a title="web2py.gluon.html.A.tag
1696
web2py.gluon.html.B.tag
1697
web2py.gluon.html.BEAUTIFY.tag
1698
web2py.gluon.html.BODY.tag
1699
web2py.gluon.html.BR.tag
1700
web2py.gluon.html.BUTTON.tag
1701
web2py.gluon.html.CAT.tag
1702
web2py.gluon.html.CENTER.tag
1703
web2py.gluon.html.COL.tag
1704
web2py.gluon.html.COLGROUP.tag
1705
web2py.gluon.html.DIV.tag
1706
web2py.gluon.html.EM.tag
1707
web2py.gluon.html.EMBED.tag
1708
web2py.gluon.html.FIELDSET.tag
1709
web2py.gluon.html.FORM.tag
1710
web2py.gluon.html.H1.tag
1711
web2py.gluon.html.H2.tag
1712
web2py.gluon.html.H3.tag
1713
web2py.gluon.html.H4.tag
1714
web2py.gluon.html.H5.tag
1715
web2py.gluon.html.H6.tag
1716
web2py.gluon.html.HEAD.tag
1717
web2py.gluon.html.HR.tag
1718
web2py.gluon.html.HTML.tag
1719
web2py.gluon.html.I.tag
1720
web2py.gluon.html.IFRAME.tag
1721
web2py.gluon.html.IMG.tag
1722
web2py.gluon.html.INPUT.tag
1723
web2py.gluon.html.LABEL.tag
1724
web2py.gluon.html.LEGEND.tag
1725
web2py.gluon.html.LI.tag
1726
web2py.gluon.html.LINK.tag
1727
web2py.gluon.html.MENU.tag
1728
web2py.gluon.html.META.tag
1729
web2py.gluon.html.OBJECT.tag
1730
web2py.gluon.html.OL.tag
1731
web2py.gluon.html.OPTGROUP.tag
1732
web2py.gluon.html.OPTION.tag
1733
web2py.gluon.html.P.tag
1734
web2py.gluon.html.PRE.tag
1735
web2py.gluon.html.SCRIPT.tag
1736
web2py.gluon.html.SELECT.tag
1737
web2py.gluon.html.SPAN.tag
1738
web2py.gluon.html.STYLE.tag
1739
web2py.gluon.html.TABLE.tag
1740
web2py.gluon.html.TBODY.tag
1741
web2py.gluon.html.TD.tag
1742
web2py.gluon.html.TEXTAREA.tag
1743
web2py.gluon.html.TFOOT.tag
1744
web2py.gluon.html.TH.tag
1745
web2py.gluon.html.THEAD.tag
1746
web2py.gluon.html.TITLE.tag
1747
web2py.gluon.html.TR.tag
1748
web2py.gluon.html.TT.tag
1749
web2py.gluon.html.UL.tag
1750
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-162', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-string">'tag'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
1751
<a name="L929"></a><tt class="py-lineno"> 929</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt id="link-163" class="py-name"><a title="web2py.gluon.html.A.tag
1752
web2py.gluon.html.B.tag
1753
web2py.gluon.html.BEAUTIFY.tag
1754
web2py.gluon.html.BODY.tag
1755
web2py.gluon.html.BR.tag
1756
web2py.gluon.html.BUTTON.tag
1757
web2py.gluon.html.CAT.tag
1758
web2py.gluon.html.CENTER.tag
1759
web2py.gluon.html.COL.tag
1760
web2py.gluon.html.COLGROUP.tag
1761
web2py.gluon.html.DIV.tag
1762
web2py.gluon.html.EM.tag
1763
web2py.gluon.html.EMBED.tag
1764
web2py.gluon.html.FIELDSET.tag
1765
web2py.gluon.html.FORM.tag
1766
web2py.gluon.html.H1.tag
1767
web2py.gluon.html.H2.tag
1768
web2py.gluon.html.H3.tag
1769
web2py.gluon.html.H4.tag
1770
web2py.gluon.html.H5.tag
1771
web2py.gluon.html.H6.tag
1772
web2py.gluon.html.HEAD.tag
1773
web2py.gluon.html.HR.tag
1774
web2py.gluon.html.HTML.tag
1775
web2py.gluon.html.I.tag
1776
web2py.gluon.html.IFRAME.tag
1777
web2py.gluon.html.IMG.tag
1778
web2py.gluon.html.INPUT.tag
1779
web2py.gluon.html.LABEL.tag
1780
web2py.gluon.html.LEGEND.tag
1781
web2py.gluon.html.LI.tag
1782
web2py.gluon.html.LINK.tag
1783
web2py.gluon.html.MENU.tag
1784
web2py.gluon.html.META.tag
1785
web2py.gluon.html.OBJECT.tag
1786
web2py.gluon.html.OL.tag
1787
web2py.gluon.html.OPTGROUP.tag
1788
web2py.gluon.html.OPTION.tag
1789
web2py.gluon.html.P.tag
1790
web2py.gluon.html.PRE.tag
1791
web2py.gluon.html.SCRIPT.tag
1792
web2py.gluon.html.SELECT.tag
1793
web2py.gluon.html.SPAN.tag
1794
web2py.gluon.html.STYLE.tag
1795
web2py.gluon.html.TABLE.tag
1796
web2py.gluon.html.TBODY.tag
1797
web2py.gluon.html.TD.tag
1798
web2py.gluon.html.TEXTAREA.tag
1799
web2py.gluon.html.TFOOT.tag
1800
web2py.gluon.html.TH.tag
1801
web2py.gluon.html.THEAD.tag
1802
web2py.gluon.html.TITLE.tag
1803
web2py.gluon.html.TR.tag
1804
web2py.gluon.html.TT.tag
1805
web2py.gluon.html.UL.tag
1806
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-163', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
1807
<a name="L930"></a><tt class="py-lineno"> 930</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1808
<a name="L931"></a><tt class="py-lineno"> 931</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1809
<a name="L932"></a><tt class="py-lineno"> 932</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1810
<a name="L933"></a><tt class="py-lineno"> 933</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1811
<a name="L934"></a><tt class="py-lineno"> 934</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1812
<a name="L935"></a><tt class="py-lineno"> 935</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
1813
<a name="L936"></a><tt class="py-lineno"> 936</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-164', 'search', 'link-45');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1814
<a name="L937"></a><tt class="py-lineno"> 937</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1815
<a name="L938"></a><tt class="py-lineno"> 938</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1816
<a name="L939"></a><tt class="py-lineno"> 939</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1817
<a name="L940"></a><tt class="py-lineno"> 940</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'find'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kargs</tt><tt class="py-op">:</tt> </tt>
1818
<a name="L941"></a><tt class="py-lineno"> 941</tt> <tt class="py-line"> <tt id="link-165" class="py-name" targets="Method web2py.gluon.dal.Rows.find()=web2py.gluon.dal.Rows-class.html#find"><a title="web2py.gluon.dal.Rows.find" class="py-name" href="#" onclick="return doclink('link-165', 'find', 'link-165');">find</a></tt> <tt class="py-op">=</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'find'</tt><tt class="py-op">]</tt> </tt>
1819
<a name="L942"></a><tt class="py-lineno"> 942</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1820
<a name="L943"></a><tt class="py-lineno"> 943</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-166" class="py-name"><a title="web2py.gluon.dal.Rows.find" class="py-name" href="#" onclick="return doclink('link-166', 'find', 'link-165');">find</a></tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1821
<a name="L944"></a><tt class="py-lineno"> 944</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-167" class="py-name"><a title="web2py.gluon.dal.Rows.find" class="py-name" href="#" onclick="return doclink('link-167', 'find', 'link-165');">find</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">:</tt> </tt>
1822
<a name="L945"></a><tt class="py-lineno"> 945</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1823
<a name="L946"></a><tt class="py-lineno"> 946</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
1824
<a name="L947"></a><tt class="py-lineno"> 947</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt id="link-168" class="py-name"><a title="web2py.gluon.dal.Rows.find" class="py-name" href="#" onclick="return doclink('link-168', 'find', 'link-165');">find</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="web2py.gluon.tools.Crud.search" class="py-name" href="#" onclick="return doclink('link-169', 'search', 'link-45');">search</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1825
<a name="L948"></a><tt class="py-lineno"> 948</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1826
<a name="L949"></a><tt class="py-lineno"> 949</tt> <tt class="py-line"> <tt class="py-comment"># if found, return the component</tt> </tt>
1827
<a name="L950"></a><tt class="py-lineno"> 950</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
1828
<a name="L951"></a><tt class="py-lineno"> 951</tt> <tt class="py-line"> <tt class="py-name">matches</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="web2py.gluon.html.DIV.append
1804
1829
web2py.gluon.template.BlockNode.append
1805
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-178', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
1806
<a name="L935"></a><tt class="py-lineno"> 935</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">first_only</tt><tt class="py-op">:</tt> </tt>
1807
<a name="L936"></a><tt class="py-lineno"> 936</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">matches</tt> </tt>
1808
<a name="L937"></a><tt class="py-lineno"> 937</tt> <tt class="py-line"> <tt class="py-comment"># loop the copy</tt> </tt>
1809
<a name="L938"></a><tt class="py-lineno"> 938</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1810
<a name="L939"></a><tt class="py-lineno"> 939</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-179" class="py-name"><a title="web2py.gluon.html.XmlComponent" class="py-name" href="#" onclick="return doclink('link-179', 'XmlComponent', 'link-126');">XmlComponent</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1811
<a name="L940"></a><tt class="py-lineno"> 940</tt> <tt class="py-line"> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'first_only'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">first_only</tt> </tt>
1812
<a name="L941"></a><tt class="py-lineno"> 941</tt> <tt class="py-line"> <tt class="py-name">child_matches</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="web2py.gluon.html.DIV.elements
1830
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-170', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
1831
<a name="L952"></a><tt class="py-lineno"> 952</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">first_only</tt><tt class="py-op">:</tt> </tt>
1832
<a name="L953"></a><tt class="py-lineno"> 953</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">matches</tt> </tt>
1833
<a name="L954"></a><tt class="py-lineno"> 954</tt> <tt class="py-line"> <tt class="py-comment"># loop the copy</tt> </tt>
1834
<a name="L955"></a><tt class="py-lineno"> 955</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
1835
<a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-171" class="py-name"><a title="web2py.gluon.html.XmlComponent" class="py-name" href="#" onclick="return doclink('link-171', 'XmlComponent', 'link-125');">XmlComponent</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1836
<a name="L957"></a><tt class="py-lineno"> 957</tt> <tt class="py-line"> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'first_only'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">first_only</tt> </tt>
1837
<a name="L958"></a><tt class="py-lineno"> 958</tt> <tt class="py-line"> <tt class="py-name">child_matches</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="web2py.gluon.html.DIV.elements
1813
1838
web2py.gluon.html.MARKMIN.elements
1814
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-180', 'elements', 'link-145');">elements</a></tt><tt class="py-op">(</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kargs</tt> <tt class="py-op">)</tt> </tt>
1815
<a name="L942"></a><tt class="py-lineno"> 942</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">first_only</tt> <tt class="py-keyword">and</tt> <tt id="link-181" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-181', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">child_matches</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
1816
<a name="L943"></a><tt class="py-lineno"> 943</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">child_matches</tt> </tt>
1817
<a name="L944"></a><tt class="py-lineno"> 944</tt> <tt class="py-line"> <tt class="py-name">matches</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name" targets="Method web2py.gluon.template.BlockNode.extend()=web2py.gluon.template.BlockNode-class.html#extend,Method web2py.gluon.template.Content.extend()=web2py.gluon.template.Content-class.html#extend,Method web2py.gluon.template.TemplateParser.extend()=web2py.gluon.template.TemplateParser-class.html#extend"><a title="web2py.gluon.template.BlockNode.extend
1839
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-172', 'elements', 'link-144');">elements</a></tt><tt class="py-op">(</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kargs</tt> <tt class="py-op">)</tt> </tt>
1840
<a name="L959"></a><tt class="py-lineno"> 959</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">first_only</tt> <tt class="py-keyword">and</tt> <tt id="link-173" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-173', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">child_matches</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
1841
<a name="L960"></a><tt class="py-lineno"> 960</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">child_matches</tt> </tt>
1842
<a name="L961"></a><tt class="py-lineno"> 961</tt> <tt class="py-line"> <tt class="py-name">matches</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name" targets="Method web2py.gluon.template.BlockNode.extend()=web2py.gluon.template.BlockNode-class.html#extend,Method web2py.gluon.template.Content.extend()=web2py.gluon.template.Content-class.html#extend,Method web2py.gluon.template.TemplateParser.extend()=web2py.gluon.template.TemplateParser-class.html#extend"><a title="web2py.gluon.template.BlockNode.extend
1818
1843
web2py.gluon.template.Content.extend
1819
web2py.gluon.template.TemplateParser.extend" class="py-name" href="#" onclick="return doclink('link-182', 'extend', 'link-182');">extend</a></tt><tt class="py-op">(</tt> <tt class="py-name">child_matches</tt> <tt class="py-op">)</tt> </tt>
1820
<a name="L945"></a><tt class="py-lineno"> 945</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">matches</tt> </tt>
1821
</div><a name="L946"></a><tt class="py-lineno"> 946</tt> <tt class="py-line"> </tt>
1822
<a name="L947"></a><tt class="py-lineno"> 947</tt> <tt class="py-line"> </tt>
1823
<a name="DIV.element"></a><div id="DIV.element-def"><a name="L948"></a><tt class="py-lineno"> 948</tt> <a class="py-toggle" href="#" id="DIV.element-toggle" onclick="return toggle('DIV.element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#element">element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1824
</div><div id="DIV.element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.element-expanded"><a name="L949"></a><tt class="py-lineno"> 949</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1825
<a name="L950"></a><tt class="py-lineno"> 950</tt> <tt class="py-line"><tt class="py-docstring"> find the first component that matches the supplied attribute dictionary,</tt> </tt>
1826
<a name="L951"></a><tt class="py-lineno"> 951</tt> <tt class="py-line"><tt class="py-docstring"> or None if nothing could be found</tt> </tt>
1827
<a name="L952"></a><tt class="py-lineno"> 952</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1828
<a name="L953"></a><tt class="py-lineno"> 953</tt> <tt class="py-line"><tt class="py-docstring"> Also the components of the components are searched.</tt> </tt>
1829
<a name="L954"></a><tt class="py-lineno"> 954</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1830
<a name="L955"></a><tt class="py-lineno"> 955</tt> <tt class="py-line"> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'first_only'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1831
<a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"> <tt id="link-183" class="py-name"><a title="web2py.gluon.html.DIV.elements
1832
web2py.gluon.html.MARKMIN.elements
1833
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-183', 'elements', 'link-145');">elements</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="web2py.gluon.html.DIV.elements
1834
web2py.gluon.html.MARKMIN.elements
1835
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-184', 'elements', 'link-145');">elements</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> </tt>
1836
<a name="L957"></a><tt class="py-lineno"> 957</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-185" class="py-name"><a title="web2py.gluon.html.DIV.elements
1837
web2py.gluon.html.MARKMIN.elements
1838
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-185', 'elements', 'link-145');">elements</a></tt><tt class="py-op">:</tt> </tt>
1839
<a name="L958"></a><tt class="py-lineno"> 958</tt> <tt class="py-line"> <tt class="py-comment"># we found nothing</tt> </tt>
1840
<a name="L959"></a><tt class="py-lineno"> 959</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
1841
<a name="L960"></a><tt class="py-lineno"> 960</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-186" class="py-name"><a title="web2py.gluon.html.DIV.elements
1842
web2py.gluon.html.MARKMIN.elements
1843
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-186', 'elements', 'link-145');">elements</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
1844
</div><a name="L961"></a><tt class="py-lineno"> 961</tt> <tt class="py-line"> </tt>
1845
<a name="DIV.siblings"></a><div id="DIV.siblings-def"><a name="L962"></a><tt class="py-lineno"> 962</tt> <a class="py-toggle" href="#" id="DIV.siblings-toggle" onclick="return toggle('DIV.siblings');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#siblings">siblings</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1846
</div><div id="DIV.siblings-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.siblings-expanded"><a name="L963"></a><tt class="py-lineno"> 963</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1847
<a name="L964"></a><tt class="py-lineno"> 964</tt> <tt class="py-line"><tt class="py-docstring"> find all sibling components that match the supplied argument list</tt> </tt>
1848
<a name="L965"></a><tt class="py-lineno"> 965</tt> <tt class="py-line"><tt class="py-docstring"> and attribute dictionary, or None if nothing could be found</tt> </tt>
1849
<a name="L966"></a><tt class="py-lineno"> 966</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1850
<a name="L967"></a><tt class="py-lineno"> 967</tt> <tt class="py-line"> <tt class="py-name">sibs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-187" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-187', 's', 'link-127');">s</a></tt> <tt class="py-keyword">for</tt> <tt id="link-188" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-188', 's', 'link-127');">s</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-189" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-189', 's', 'link-127');">s</a></tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">]</tt> </tt>
1851
<a name="L968"></a><tt class="py-lineno"> 968</tt> <tt class="py-line"> <tt class="py-name">matches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
1852
<a name="L969"></a><tt class="py-lineno"> 969</tt> <tt class="py-line"> <tt class="py-name">first_only</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1853
<a name="L970"></a><tt class="py-lineno"> 970</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="web2py.gluon.rocket.Headers.has_key" class="py-name" href="#" onclick="return doclink('link-190', 'has_key', 'link-28');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-string">"first_only"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1854
<a name="L971"></a><tt class="py-lineno"> 971</tt> <tt class="py-line"> <tt class="py-name">first_only</tt> <tt class="py-op">=</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">"first_only"</tt><tt class="py-op">]</tt> </tt>
1855
<a name="L972"></a><tt class="py-lineno"> 972</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">"first_only"</tt><tt class="py-op">]</tt> </tt>
1856
<a name="L973"></a><tt class="py-lineno"> 973</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sibs</tt><tt class="py-op">:</tt> </tt>
1857
<a name="L974"></a><tt class="py-lineno"> 974</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
1858
<a name="L975"></a><tt class="py-lineno"> 975</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1859
<a name="L976"></a><tt class="py-lineno"> 976</tt> <tt class="py-line"> <tt id="link-191" class="py-name"><a title="web2py.gluon.html.A.tag
1860
web2py.gluon.html.B.tag
1861
web2py.gluon.html.BEAUTIFY.tag
1862
web2py.gluon.html.BODY.tag
1863
web2py.gluon.html.BR.tag
1864
web2py.gluon.html.BUTTON.tag
1865
web2py.gluon.html.CAT.tag
1866
web2py.gluon.html.CENTER.tag
1867
web2py.gluon.html.COL.tag
1868
web2py.gluon.html.COLGROUP.tag
1869
web2py.gluon.html.DIV.tag
1870
web2py.gluon.html.EM.tag
1871
web2py.gluon.html.EMBED.tag
1872
web2py.gluon.html.FIELDSET.tag
1873
web2py.gluon.html.FORM.tag
1874
web2py.gluon.html.H1.tag
1875
web2py.gluon.html.H2.tag
1876
web2py.gluon.html.H3.tag
1877
web2py.gluon.html.H4.tag
1878
web2py.gluon.html.H5.tag
1879
web2py.gluon.html.H6.tag
1880
web2py.gluon.html.HEAD.tag
1881
web2py.gluon.html.HR.tag
1882
web2py.gluon.html.HTML.tag
1883
web2py.gluon.html.I.tag
1884
web2py.gluon.html.IFRAME.tag
1885
web2py.gluon.html.IMG.tag
1886
web2py.gluon.html.INPUT.tag
1887
web2py.gluon.html.LABEL.tag
1888
web2py.gluon.html.LEGEND.tag
1889
web2py.gluon.html.LI.tag
1890
web2py.gluon.html.LINK.tag
1891
web2py.gluon.html.MENU.tag
1892
web2py.gluon.html.META.tag
1893
web2py.gluon.html.OBJECT.tag
1894
web2py.gluon.html.OL.tag
1895
web2py.gluon.html.OPTGROUP.tag
1896
web2py.gluon.html.OPTION.tag
1897
web2py.gluon.html.P.tag
1898
web2py.gluon.html.PRE.tag
1899
web2py.gluon.html.SCRIPT.tag
1900
web2py.gluon.html.SELECT.tag
1901
web2py.gluon.html.SPAN.tag
1902
web2py.gluon.html.STYLE.tag
1903
web2py.gluon.html.TABLE.tag
1904
web2py.gluon.html.TBODY.tag
1905
web2py.gluon.html.TD.tag
1906
web2py.gluon.html.TEXTAREA.tag
1907
web2py.gluon.html.TFOOT.tag
1908
web2py.gluon.html.TH.tag
1909
web2py.gluon.html.THEAD.tag
1910
web2py.gluon.html.TITLE.tag
1911
web2py.gluon.html.TR.tag
1912
web2py.gluon.html.TT.tag
1913
web2py.gluon.html.UL.tag
1914
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-191', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-string">'tag'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
1915
<a name="L977"></a><tt class="py-lineno"> 977</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt id="link-192" class="py-name"><a title="web2py.gluon.html.A.tag
1916
web2py.gluon.html.B.tag
1917
web2py.gluon.html.BEAUTIFY.tag
1918
web2py.gluon.html.BODY.tag
1919
web2py.gluon.html.BR.tag
1920
web2py.gluon.html.BUTTON.tag
1921
web2py.gluon.html.CAT.tag
1922
web2py.gluon.html.CENTER.tag
1923
web2py.gluon.html.COL.tag
1924
web2py.gluon.html.COLGROUP.tag
1925
web2py.gluon.html.DIV.tag
1926
web2py.gluon.html.EM.tag
1927
web2py.gluon.html.EMBED.tag
1928
web2py.gluon.html.FIELDSET.tag
1929
web2py.gluon.html.FORM.tag
1930
web2py.gluon.html.H1.tag
1931
web2py.gluon.html.H2.tag
1932
web2py.gluon.html.H3.tag
1933
web2py.gluon.html.H4.tag
1934
web2py.gluon.html.H5.tag
1935
web2py.gluon.html.H6.tag
1936
web2py.gluon.html.HEAD.tag
1937
web2py.gluon.html.HR.tag
1938
web2py.gluon.html.HTML.tag
1939
web2py.gluon.html.I.tag
1940
web2py.gluon.html.IFRAME.tag
1941
web2py.gluon.html.IMG.tag
1942
web2py.gluon.html.INPUT.tag
1943
web2py.gluon.html.LABEL.tag
1944
web2py.gluon.html.LEGEND.tag
1945
web2py.gluon.html.LI.tag
1946
web2py.gluon.html.LINK.tag
1947
web2py.gluon.html.MENU.tag
1948
web2py.gluon.html.META.tag
1949
web2py.gluon.html.OBJECT.tag
1950
web2py.gluon.html.OL.tag
1951
web2py.gluon.html.OPTGROUP.tag
1952
web2py.gluon.html.OPTION.tag
1953
web2py.gluon.html.P.tag
1954
web2py.gluon.html.PRE.tag
1955
web2py.gluon.html.SCRIPT.tag
1956
web2py.gluon.html.SELECT.tag
1957
web2py.gluon.html.SPAN.tag
1958
web2py.gluon.html.STYLE.tag
1959
web2py.gluon.html.TABLE.tag
1960
web2py.gluon.html.TBODY.tag
1961
web2py.gluon.html.TD.tag
1962
web2py.gluon.html.TEXTAREA.tag
1963
web2py.gluon.html.TFOOT.tag
1964
web2py.gluon.html.TH.tag
1965
web2py.gluon.html.THEAD.tag
1966
web2py.gluon.html.TITLE.tag
1967
web2py.gluon.html.TR.tag
1968
web2py.gluon.html.TT.tag
1969
web2py.gluon.html.UL.tag
1970
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-192', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
1971
<a name="L978"></a><tt class="py-lineno"> 978</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1972
<a name="L979"></a><tt class="py-lineno"> 979</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="web2py.gluon.rocket.Headers.items" class="py-name" href="#" onclick="return doclink('link-193', 'items', 'link-29');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1973
<a name="L980"></a><tt class="py-lineno"> 980</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
1974
<a name="L981"></a><tt class="py-lineno"> 981</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1975
<a name="L982"></a><tt class="py-lineno"> 982</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
1976
<a name="L983"></a><tt class="py-lineno"> 983</tt> <tt class="py-line"> <tt class="py-name">matches</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="web2py.gluon.html.DIV.append
1844
web2py.gluon.template.TemplateParser.extend" class="py-name" href="#" onclick="return doclink('link-174', 'extend', 'link-174');">extend</a></tt><tt class="py-op">(</tt> <tt class="py-name">child_matches</tt> <tt class="py-op">)</tt> </tt>
1845
<a name="L962"></a><tt class="py-lineno"> 962</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">matches</tt> </tt>
1846
</div><a name="L963"></a><tt class="py-lineno"> 963</tt> <tt class="py-line"> </tt>
1847
<a name="L964"></a><tt class="py-lineno"> 964</tt> <tt class="py-line"> </tt>
1848
<a name="DIV.element"></a><div id="DIV.element-def"><a name="L965"></a><tt class="py-lineno"> 965</tt> <a class="py-toggle" href="#" id="DIV.element-toggle" onclick="return toggle('DIV.element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#element">element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1849
</div><div id="DIV.element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.element-expanded"><a name="L966"></a><tt class="py-lineno"> 966</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1850
<a name="L967"></a><tt class="py-lineno"> 967</tt> <tt class="py-line"><tt class="py-docstring"> find the first component that matches the supplied attribute dictionary,</tt> </tt>
1851
<a name="L968"></a><tt class="py-lineno"> 968</tt> <tt class="py-line"><tt class="py-docstring"> or None if nothing could be found</tt> </tt>
1852
<a name="L969"></a><tt class="py-lineno"> 969</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
1853
<a name="L970"></a><tt class="py-lineno"> 970</tt> <tt class="py-line"><tt class="py-docstring"> Also the components of the components are searched.</tt> </tt>
1854
<a name="L971"></a><tt class="py-lineno"> 971</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1855
<a name="L972"></a><tt class="py-lineno"> 972</tt> <tt class="py-line"> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'first_only'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1856
<a name="L973"></a><tt class="py-lineno"> 973</tt> <tt class="py-line"> <tt id="link-175" class="py-name"><a title="web2py.gluon.html.DIV.elements
1857
web2py.gluon.html.MARKMIN.elements
1858
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-175', 'elements', 'link-144');">elements</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="web2py.gluon.html.DIV.elements
1859
web2py.gluon.html.MARKMIN.elements
1860
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-176', 'elements', 'link-144');">elements</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> </tt>
1861
<a name="L974"></a><tt class="py-lineno"> 974</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-177" class="py-name"><a title="web2py.gluon.html.DIV.elements
1862
web2py.gluon.html.MARKMIN.elements
1863
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-177', 'elements', 'link-144');">elements</a></tt><tt class="py-op">:</tt> </tt>
1864
<a name="L975"></a><tt class="py-lineno"> 975</tt> <tt class="py-line"> <tt class="py-comment"># we found nothing</tt> </tt>
1865
<a name="L976"></a><tt class="py-lineno"> 976</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
1866
<a name="L977"></a><tt class="py-lineno"> 977</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-178" class="py-name"><a title="web2py.gluon.html.DIV.elements
1867
web2py.gluon.html.MARKMIN.elements
1868
web2py.gluon.html.XML.elements" class="py-name" href="#" onclick="return doclink('link-178', 'elements', 'link-144');">elements</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
1869
</div><a name="L978"></a><tt class="py-lineno"> 978</tt> <tt class="py-line"> </tt>
1870
<a name="DIV.siblings"></a><div id="DIV.siblings-def"><a name="L979"></a><tt class="py-lineno"> 979</tt> <a class="py-toggle" href="#" id="DIV.siblings-toggle" onclick="return toggle('DIV.siblings');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#siblings">siblings</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1871
</div><div id="DIV.siblings-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.siblings-expanded"><a name="L980"></a><tt class="py-lineno"> 980</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1872
<a name="L981"></a><tt class="py-lineno"> 981</tt> <tt class="py-line"><tt class="py-docstring"> find all sibling components that match the supplied argument list</tt> </tt>
1873
<a name="L982"></a><tt class="py-lineno"> 982</tt> <tt class="py-line"><tt class="py-docstring"> and attribute dictionary, or None if nothing could be found</tt> </tt>
1874
<a name="L983"></a><tt class="py-lineno"> 983</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1875
<a name="L984"></a><tt class="py-lineno"> 984</tt> <tt class="py-line"> <tt class="py-name">sibs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-179" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-179', 's', 'link-126');">s</a></tt> <tt class="py-keyword">for</tt> <tt id="link-180" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-180', 's', 'link-126');">s</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-181" class="py-name"><a title="web2py.gluon.languages.lazyT.s" class="py-name" href="#" onclick="return doclink('link-181', 's', 'link-126');">s</a></tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">]</tt> </tt>
1876
<a name="L985"></a><tt class="py-lineno"> 985</tt> <tt class="py-line"> <tt class="py-name">matches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
1877
<a name="L986"></a><tt class="py-lineno"> 986</tt> <tt class="py-line"> <tt class="py-name">first_only</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1878
<a name="L987"></a><tt class="py-lineno"> 987</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">"first_only"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1879
<a name="L988"></a><tt class="py-lineno"> 988</tt> <tt class="py-line"> <tt class="py-name">first_only</tt> <tt class="py-op">=</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">"first_only"</tt><tt class="py-op">]</tt> </tt>
1880
<a name="L989"></a><tt class="py-lineno"> 989</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">"first_only"</tt><tt class="py-op">]</tt> </tt>
1881
<a name="L990"></a><tt class="py-lineno"> 990</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sibs</tt><tt class="py-op">:</tt> </tt>
1882
<a name="L991"></a><tt class="py-lineno"> 991</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
1883
<a name="L992"></a><tt class="py-lineno"> 992</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1884
<a name="L993"></a><tt class="py-lineno"> 993</tt> <tt class="py-line"> <tt id="link-182" class="py-name"><a title="web2py.gluon.html.A.tag
1885
web2py.gluon.html.B.tag
1886
web2py.gluon.html.BEAUTIFY.tag
1887
web2py.gluon.html.BODY.tag
1888
web2py.gluon.html.BR.tag
1889
web2py.gluon.html.BUTTON.tag
1890
web2py.gluon.html.CAT.tag
1891
web2py.gluon.html.CENTER.tag
1892
web2py.gluon.html.COL.tag
1893
web2py.gluon.html.COLGROUP.tag
1894
web2py.gluon.html.DIV.tag
1895
web2py.gluon.html.EM.tag
1896
web2py.gluon.html.EMBED.tag
1897
web2py.gluon.html.FIELDSET.tag
1898
web2py.gluon.html.FORM.tag
1899
web2py.gluon.html.H1.tag
1900
web2py.gluon.html.H2.tag
1901
web2py.gluon.html.H3.tag
1902
web2py.gluon.html.H4.tag
1903
web2py.gluon.html.H5.tag
1904
web2py.gluon.html.H6.tag
1905
web2py.gluon.html.HEAD.tag
1906
web2py.gluon.html.HR.tag
1907
web2py.gluon.html.HTML.tag
1908
web2py.gluon.html.I.tag
1909
web2py.gluon.html.IFRAME.tag
1910
web2py.gluon.html.IMG.tag
1911
web2py.gluon.html.INPUT.tag
1912
web2py.gluon.html.LABEL.tag
1913
web2py.gluon.html.LEGEND.tag
1914
web2py.gluon.html.LI.tag
1915
web2py.gluon.html.LINK.tag
1916
web2py.gluon.html.MENU.tag
1917
web2py.gluon.html.META.tag
1918
web2py.gluon.html.OBJECT.tag
1919
web2py.gluon.html.OL.tag
1920
web2py.gluon.html.OPTGROUP.tag
1921
web2py.gluon.html.OPTION.tag
1922
web2py.gluon.html.P.tag
1923
web2py.gluon.html.PRE.tag
1924
web2py.gluon.html.SCRIPT.tag
1925
web2py.gluon.html.SELECT.tag
1926
web2py.gluon.html.SPAN.tag
1927
web2py.gluon.html.STYLE.tag
1928
web2py.gluon.html.TABLE.tag
1929
web2py.gluon.html.TBODY.tag
1930
web2py.gluon.html.TD.tag
1931
web2py.gluon.html.TEXTAREA.tag
1932
web2py.gluon.html.TFOOT.tag
1933
web2py.gluon.html.TH.tag
1934
web2py.gluon.html.THEAD.tag
1935
web2py.gluon.html.TITLE.tag
1936
web2py.gluon.html.TR.tag
1937
web2py.gluon.html.TT.tag
1938
web2py.gluon.html.UL.tag
1939
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-182', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-string">'tag'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
1940
<a name="L994"></a><tt class="py-lineno"> 994</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt id="link-183" class="py-name"><a title="web2py.gluon.html.A.tag
1941
web2py.gluon.html.B.tag
1942
web2py.gluon.html.BEAUTIFY.tag
1943
web2py.gluon.html.BODY.tag
1944
web2py.gluon.html.BR.tag
1945
web2py.gluon.html.BUTTON.tag
1946
web2py.gluon.html.CAT.tag
1947
web2py.gluon.html.CENTER.tag
1948
web2py.gluon.html.COL.tag
1949
web2py.gluon.html.COLGROUP.tag
1950
web2py.gluon.html.DIV.tag
1951
web2py.gluon.html.EM.tag
1952
web2py.gluon.html.EMBED.tag
1953
web2py.gluon.html.FIELDSET.tag
1954
web2py.gluon.html.FORM.tag
1955
web2py.gluon.html.H1.tag
1956
web2py.gluon.html.H2.tag
1957
web2py.gluon.html.H3.tag
1958
web2py.gluon.html.H4.tag
1959
web2py.gluon.html.H5.tag
1960
web2py.gluon.html.H6.tag
1961
web2py.gluon.html.HEAD.tag
1962
web2py.gluon.html.HR.tag
1963
web2py.gluon.html.HTML.tag
1964
web2py.gluon.html.I.tag
1965
web2py.gluon.html.IFRAME.tag
1966
web2py.gluon.html.IMG.tag
1967
web2py.gluon.html.INPUT.tag
1968
web2py.gluon.html.LABEL.tag
1969
web2py.gluon.html.LEGEND.tag
1970
web2py.gluon.html.LI.tag
1971
web2py.gluon.html.LINK.tag
1972
web2py.gluon.html.MENU.tag
1973
web2py.gluon.html.META.tag
1974
web2py.gluon.html.OBJECT.tag
1975
web2py.gluon.html.OL.tag
1976
web2py.gluon.html.OPTGROUP.tag
1977
web2py.gluon.html.OPTION.tag
1978
web2py.gluon.html.P.tag
1979
web2py.gluon.html.PRE.tag
1980
web2py.gluon.html.SCRIPT.tag
1981
web2py.gluon.html.SELECT.tag
1982
web2py.gluon.html.SPAN.tag
1983
web2py.gluon.html.STYLE.tag
1984
web2py.gluon.html.TABLE.tag
1985
web2py.gluon.html.TBODY.tag
1986
web2py.gluon.html.TD.tag
1987
web2py.gluon.html.TEXTAREA.tag
1988
web2py.gluon.html.TFOOT.tag
1989
web2py.gluon.html.TH.tag
1990
web2py.gluon.html.THEAD.tag
1991
web2py.gluon.html.TITLE.tag
1992
web2py.gluon.html.TR.tag
1993
web2py.gluon.html.TT.tag
1994
web2py.gluon.html.UL.tag
1995
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-183', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
1996
<a name="L995"></a><tt class="py-lineno"> 995</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
1997
<a name="L996"></a><tt class="py-lineno"> 996</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1998
<a name="L997"></a><tt class="py-lineno"> 997</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
1999
<a name="L998"></a><tt class="py-lineno"> 998</tt> <tt class="py-line"> <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
2000
<a name="L999"></a><tt class="py-lineno"> 999</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
2001
<a name="L1000"></a><tt class="py-lineno">1000</tt> <tt class="py-line"> <tt class="py-name">matches</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="web2py.gluon.html.DIV.append
1977
2002
web2py.gluon.template.BlockNode.append
1978
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-194', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
1979
<a name="L984"></a><tt class="py-lineno"> 984</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">first_only</tt><tt class="py-op">:</tt> <tt class="py-keyword">break</tt> </tt>
1980
<a name="L985"></a><tt class="py-lineno"> 985</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
1981
<a name="L986"></a><tt class="py-lineno"> 986</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
1982
<a name="L987"></a><tt class="py-lineno"> 987</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">matches</tt> </tt>
1983
</div><a name="L988"></a><tt class="py-lineno"> 988</tt> <tt class="py-line"> </tt>
1984
<a name="DIV.sibling"></a><div id="DIV.sibling-def"><a name="L989"></a><tt class="py-lineno"> 989</tt> <a class="py-toggle" href="#" id="DIV.sibling-toggle" onclick="return toggle('DIV.sibling');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#sibling">sibling</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1985
</div><div id="DIV.sibling-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.sibling-expanded"><a name="L990"></a><tt class="py-lineno"> 990</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
1986
<a name="L991"></a><tt class="py-lineno"> 991</tt> <tt class="py-line"><tt class="py-docstring"> find the first sibling component that match the supplied argument list</tt> </tt>
1987
<a name="L992"></a><tt class="py-lineno"> 992</tt> <tt class="py-line"><tt class="py-docstring"> and attribute dictionary, or None if nothing could be found</tt> </tt>
1988
<a name="L993"></a><tt class="py-lineno"> 993</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1989
<a name="L994"></a><tt class="py-lineno"> 994</tt> <tt class="py-line"> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'first_only'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1990
<a name="L995"></a><tt class="py-lineno"> 995</tt> <tt class="py-line"> <tt class="py-name">sibs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name" targets="Method web2py.gluon.html.DIV.siblings()=web2py.gluon.html.DIV-class.html#siblings"><a title="web2py.gluon.html.DIV.siblings" class="py-name" href="#" onclick="return doclink('link-195', 'siblings', 'link-195');">siblings</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> </tt>
1991
<a name="L996"></a><tt class="py-lineno"> 996</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">sibs</tt><tt class="py-op">:</tt> </tt>
1992
<a name="L997"></a><tt class="py-lineno"> 997</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
1993
<a name="L998"></a><tt class="py-lineno"> 998</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">sibs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
1994
</div></div><a name="L999"></a><tt class="py-lineno"> 999</tt> <tt class="py-line"> </tt>
1995
<a name="CAT"></a><div id="CAT-def"><a name="L1000"></a><tt class="py-lineno">1000</tt> <a class="py-toggle" href="#" id="CAT-toggle" onclick="return toggle('CAT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.CAT-class.html">CAT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
1996
</div><div id="CAT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CAT-expanded"><a name="L1001"></a><tt class="py-lineno">1001</tt> <tt class="py-line"> </tt>
1997
<a name="L1002"></a><tt class="py-lineno">1002</tt> <tt class="py-line"> <tt id="link-196" class="py-name"><a title="web2py.gluon.html.A.tag
2003
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-184', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
2004
<a name="L1001"></a><tt class="py-lineno">1001</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">first_only</tt><tt class="py-op">:</tt> <tt class="py-keyword">break</tt> </tt>
2005
<a name="L1002"></a><tt class="py-lineno">1002</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
2006
<a name="L1003"></a><tt class="py-lineno">1003</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
2007
<a name="L1004"></a><tt class="py-lineno">1004</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">matches</tt> </tt>
2008
</div><a name="L1005"></a><tt class="py-lineno">1005</tt> <tt class="py-line"> </tt>
2009
<a name="DIV.sibling"></a><div id="DIV.sibling-def"><a name="L1006"></a><tt class="py-lineno">1006</tt> <a class="py-toggle" href="#" id="DIV.sibling-toggle" onclick="return toggle('DIV.sibling');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.DIV-class.html#sibling">sibling</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2010
</div><div id="DIV.sibling-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.sibling-expanded"><a name="L1007"></a><tt class="py-lineno">1007</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
2011
<a name="L1008"></a><tt class="py-lineno">1008</tt> <tt class="py-line"><tt class="py-docstring"> find the first sibling component that match the supplied argument list</tt> </tt>
2012
<a name="L1009"></a><tt class="py-lineno">1009</tt> <tt class="py-line"><tt class="py-docstring"> and attribute dictionary, or None if nothing could be found</tt> </tt>
2013
<a name="L1010"></a><tt class="py-lineno">1010</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
2014
<a name="L1011"></a><tt class="py-lineno">1011</tt> <tt class="py-line"> <tt class="py-name">kargs</tt><tt class="py-op">[</tt><tt class="py-string">'first_only'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
2015
<a name="L1012"></a><tt class="py-lineno">1012</tt> <tt class="py-line"> <tt class="py-name">sibs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name" targets="Method web2py.gluon.html.DIV.siblings()=web2py.gluon.html.DIV-class.html#siblings"><a title="web2py.gluon.html.DIV.siblings" class="py-name" href="#" onclick="return doclink('link-185', 'siblings', 'link-185');">siblings</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kargs</tt><tt class="py-op">)</tt> </tt>
2016
<a name="L1013"></a><tt class="py-lineno">1013</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">sibs</tt><tt class="py-op">:</tt> </tt>
2017
<a name="L1014"></a><tt class="py-lineno">1014</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
2018
<a name="L1015"></a><tt class="py-lineno">1015</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">sibs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
2019
</div></div><a name="L1016"></a><tt class="py-lineno">1016</tt> <tt class="py-line"> </tt>
2020
<a name="CAT"></a><div id="CAT-def"><a name="L1017"></a><tt class="py-lineno">1017</tt> <a class="py-toggle" href="#" id="CAT-toggle" onclick="return toggle('CAT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.CAT-class.html">CAT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2021
</div><div id="CAT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CAT-expanded"><a name="L1018"></a><tt class="py-lineno">1018</tt> <tt class="py-line"> </tt>
2022
<a name="L1019"></a><tt class="py-lineno">1019</tt> <tt class="py-line"> <tt id="link-186" class="py-name"><a title="web2py.gluon.html.A.tag
1998
2023
web2py.gluon.html.B.tag
1999
2024
web2py.gluon.html.BEAUTIFY.tag
2000
2025
web2py.gluon.html.BODY.tag
2146
2171
web2py.gluon.html.TR.tag
2147
2172
web2py.gluon.html.TT.tag
2148
2173
web2py.gluon.html.UL.tag
2149
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-208', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt id="link-209" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-209', 'name', 'link-74');">name</a></tt> </tt>
2150
</div><a name="L1033"></a><tt class="py-lineno">1033</tt> <tt class="py-line"> <tt class="py-name">copy_reg</tt><tt class="py-op">.</tt><tt class="py-name">pickle</tt><tt class="py-op">(</tt><tt class="py-name">__tag__</tt><tt class="py-op">,</tt> <tt id="link-210" class="py-name" targets="Function web2py.gluon.html.TAG_pickler()=web2py.gluon.html-module.html#TAG_pickler"><a title="web2py.gluon.html.TAG_pickler" class="py-name" href="#" onclick="return doclink('link-210', 'TAG_pickler', 'link-210');">TAG_pickler</a></tt><tt class="py-op">,</tt> <tt id="link-211" class="py-name"><a title="web2py.gluon.html.TAG_unpickler" class="py-name" href="#" onclick="return doclink('link-211', 'TAG_unpickler', 'link-198');">TAG_unpickler</a></tt><tt class="py-op">)</tt> </tt>
2151
<a name="L1034"></a><tt class="py-lineno">1034</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-keyword">lambda</tt> <tt class="py-op">*</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt id="link-212" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-212', 'b', 'link-146');">b</a></tt><tt class="py-op">:</tt> <tt class="py-name">__tag__</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt id="link-213" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-213', 'b', 'link-146');">b</a></tt><tt class="py-op">)</tt> </tt>
2152
</div><a name="L1035"></a><tt class="py-lineno">1035</tt> <tt class="py-line"> </tt>
2153
<a name="__TAG__.__call__"></a><div id="__TAG__.__call__-def"><a name="L1036"></a><tt class="py-lineno">1036</tt> <a class="py-toggle" href="#" id="__TAG__.__call__-toggle" onclick="return toggle('__TAG__.__call__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.__TAG__-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">html</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2154
</div><div id="__TAG__.__call__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="__TAG__.__call__-expanded"><a name="L1037"></a><tt class="py-lineno">1037</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-214" class="py-name" targets="Class web2py.gluon.html.web2pyHTMLParser=web2py.gluon.html.web2pyHTMLParser-class.html"><a title="web2py.gluon.html.web2pyHTMLParser" class="py-name" href="#" onclick="return doclink('link-214', 'web2pyHTMLParser', 'link-214');">web2pyHTMLParser</a></tt><tt class="py-op">(</tt><tt id="link-215" class="py-name"><a title="web2py.gluon.decoder
2155
web2py.gluon.decoder.decoder" class="py-name" href="#" onclick="return doclink('link-215', 'decoder', 'link-3');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="web2py.gluon.decoder
2156
web2py.gluon.decoder.decoder" class="py-name" href="#" onclick="return doclink('link-216', 'decoder', 'link-3');">decoder</a></tt><tt class="py-op">(</tt><tt id="link-217" class="py-name" targets="Module web2py.gluon.html=web2py.gluon.html-module.html"><a title="web2py.gluon.html" class="py-name" href="#" onclick="return doclink('link-217', 'html', 'link-217');">html</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">tree</tt> </tt>
2157
</div></div><a name="L1038"></a><tt class="py-lineno">1038</tt> <tt class="py-line"> </tt>
2158
<a name="L1039"></a><tt class="py-lineno">1039</tt> <tt class="py-line"><tt id="link-218" class="py-name" targets="Variable web2py.gluon.TAG=web2py.gluon-module.html#TAG,Variable web2py.gluon.html.TAG=web2py.gluon.html-module.html#TAG,Variable web2py.gluon.tools.TAG=web2py.gluon.tools-module.html#TAG"><a title="web2py.gluon.TAG
2174
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-198', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt id="link-199" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-199', 'name', 'link-74');">name</a></tt> </tt>
2175
</div><a name="L1050"></a><tt class="py-lineno">1050</tt> <tt class="py-line"> <tt class="py-name">copy_reg</tt><tt class="py-op">.</tt><tt class="py-name">pickle</tt><tt class="py-op">(</tt><tt class="py-name">__tag__</tt><tt class="py-op">,</tt> <tt id="link-200" class="py-name" targets="Function web2py.gluon.html.TAG_pickler()=web2py.gluon.html-module.html#TAG_pickler"><a title="web2py.gluon.html.TAG_pickler" class="py-name" href="#" onclick="return doclink('link-200', 'TAG_pickler', 'link-200');">TAG_pickler</a></tt><tt class="py-op">,</tt> <tt id="link-201" class="py-name"><a title="web2py.gluon.html.TAG_unpickler" class="py-name" href="#" onclick="return doclink('link-201', 'TAG_unpickler', 'link-188');">TAG_unpickler</a></tt><tt class="py-op">)</tt> </tt>
2176
<a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-keyword">lambda</tt> <tt class="py-op">*</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt id="link-202" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-202', 'b', 'link-145');">b</a></tt><tt class="py-op">:</tt> <tt class="py-name">__tag__</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt id="link-203" class="py-name"><a title="web2py.gluon.rocket.b" class="py-name" href="#" onclick="return doclink('link-203', 'b', 'link-145');">b</a></tt><tt class="py-op">)</tt> </tt>
2177
</div><a name="L1052"></a><tt class="py-lineno">1052</tt> <tt class="py-line"> </tt>
2178
<a name="__TAG__.__call__"></a><div id="__TAG__.__call__-def"><a name="L1053"></a><tt class="py-lineno">1053</tt> <a class="py-toggle" href="#" id="__TAG__.__call__-toggle" onclick="return toggle('__TAG__.__call__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.__TAG__-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">html</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2179
</div><div id="__TAG__.__call__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="__TAG__.__call__-expanded"><a name="L1054"></a><tt class="py-lineno">1054</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-204" class="py-name" targets="Class web2py.gluon.html.web2pyHTMLParser=web2py.gluon.html.web2pyHTMLParser-class.html"><a title="web2py.gluon.html.web2pyHTMLParser" class="py-name" href="#" onclick="return doclink('link-204', 'web2pyHTMLParser', 'link-204');">web2pyHTMLParser</a></tt><tt class="py-op">(</tt><tt id="link-205" class="py-name"><a title="web2py.gluon.decoder
2180
web2py.gluon.decoder.decoder" class="py-name" href="#" onclick="return doclink('link-205', 'decoder', 'link-3');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="web2py.gluon.decoder
2181
web2py.gluon.decoder.decoder" class="py-name" href="#" onclick="return doclink('link-206', 'decoder', 'link-3');">decoder</a></tt><tt class="py-op">(</tt><tt id="link-207" class="py-name" targets="Module web2py.gluon.html=web2py.gluon.html-module.html"><a title="web2py.gluon.html" class="py-name" href="#" onclick="return doclink('link-207', 'html', 'link-207');">html</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">tree</tt> </tt>
2182
</div></div><a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"> </tt>
2183
<a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"><tt id="link-208" class="py-name" targets="Variable web2py.gluon.TAG=web2py.gluon-module.html#TAG,Variable web2py.gluon.html.TAG=web2py.gluon.html-module.html#TAG,Variable web2py.gluon.tools.TAG=web2py.gluon.tools-module.html#TAG"><a title="web2py.gluon.TAG
2159
2184
web2py.gluon.html.TAG
2160
web2py.gluon.tools.TAG" class="py-name" href="#" onclick="return doclink('link-218', 'TAG', 'link-218');">TAG</a></tt> <tt class="py-op">=</tt> <tt id="link-219" class="py-name" targets="Class web2py.gluon.html.__TAG__=web2py.gluon.html.__TAG__-class.html"><a title="web2py.gluon.html.__TAG__" class="py-name" href="#" onclick="return doclink('link-219', '__TAG__', 'link-219');">__TAG__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
2161
<a name="L1040"></a><tt class="py-lineno">1040</tt> <tt class="py-line"> </tt>
2162
<a name="L1041"></a><tt class="py-lineno">1041</tt> <tt class="py-line"> </tt>
2163
<a name="HTML"></a><div id="HTML-def"><a name="L1042"></a><tt class="py-lineno">1042</tt> <a class="py-toggle" href="#" id="HTML-toggle" onclick="return toggle('HTML');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.HTML-class.html">HTML</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2164
</div><div id="HTML-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HTML-expanded"><a name="L1043"></a><tt class="py-lineno">1043</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
2165
<a name="L1044"></a><tt class="py-lineno">1044</tt> <tt class="py-line"><tt class="py-docstring"> There are four predefined document type definitions.</tt> </tt>
2166
<a name="L1045"></a><tt class="py-lineno">1045</tt> <tt class="py-line"><tt class="py-docstring"> They can be specified in the 'doctype' parameter:</tt> </tt>
2167
<a name="L1046"></a><tt class="py-lineno">1046</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2168
<a name="L1047"></a><tt class="py-lineno">1047</tt> <tt class="py-line"><tt class="py-docstring"> -'strict' enables strict doctype</tt> </tt>
2169
<a name="L1048"></a><tt class="py-lineno">1048</tt> <tt class="py-line"><tt class="py-docstring"> -'transitional' enables transitional doctype (default)</tt> </tt>
2170
<a name="L1049"></a><tt class="py-lineno">1049</tt> <tt class="py-line"><tt class="py-docstring"> -'frameset' enables frameset doctype</tt> </tt>
2171
<a name="L1050"></a><tt class="py-lineno">1050</tt> <tt class="py-line"><tt class="py-docstring"> -'html5' enables HTML 5 doctype</tt> </tt>
2172
<a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"><tt class="py-docstring"> -any other string will be treated as user's own doctype</tt> </tt>
2173
<a name="L1052"></a><tt class="py-lineno">1052</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2174
<a name="L1053"></a><tt class="py-lineno">1053</tt> <tt class="py-line"><tt class="py-docstring"> 'lang' parameter specifies the language of the document.</tt> </tt>
2175
<a name="L1054"></a><tt class="py-lineno">1054</tt> <tt class="py-line"><tt class="py-docstring"> Defaults to 'en'.</tt> </tt>
2176
<a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2177
<a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"><tt class="py-docstring"> See also :class:`DIV`</tt> </tt>
2178
<a name="L1057"></a><tt class="py-lineno">1057</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
2185
web2py.gluon.tools.TAG" class="py-name" href="#" onclick="return doclink('link-208', 'TAG', 'link-208');">TAG</a></tt> <tt class="py-op">=</tt> <tt id="link-209" class="py-name" targets="Class web2py.gluon.html.__TAG__=web2py.gluon.html.__TAG__-class.html"><a title="web2py.gluon.html.__TAG__" class="py-name" href="#" onclick="return doclink('link-209', '__TAG__', 'link-209');">__TAG__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
2186
<a name="L1057"></a><tt class="py-lineno">1057</tt> <tt class="py-line"> </tt>
2179
2187
<a name="L1058"></a><tt class="py-lineno">1058</tt> <tt class="py-line"> </tt>
2180
<a name="L1059"></a><tt class="py-lineno">1059</tt> <tt class="py-line"> <tt id="link-220" class="py-name"><a title="web2py.gluon.html.A.tag
2181
web2py.gluon.html.B.tag
2182
web2py.gluon.html.BEAUTIFY.tag
2183
web2py.gluon.html.BODY.tag
2184
web2py.gluon.html.BR.tag
2185
web2py.gluon.html.BUTTON.tag
2186
web2py.gluon.html.CAT.tag
2187
web2py.gluon.html.CENTER.tag
2188
web2py.gluon.html.COL.tag
2189
web2py.gluon.html.COLGROUP.tag
2190
web2py.gluon.html.DIV.tag
2191
web2py.gluon.html.EM.tag
2192
web2py.gluon.html.EMBED.tag
2193
web2py.gluon.html.FIELDSET.tag
2194
web2py.gluon.html.FORM.tag
2195
web2py.gluon.html.H1.tag
2196
web2py.gluon.html.H2.tag
2197
web2py.gluon.html.H3.tag
2198
web2py.gluon.html.H4.tag
2199
web2py.gluon.html.H5.tag
2200
web2py.gluon.html.H6.tag
2201
web2py.gluon.html.HEAD.tag
2202
web2py.gluon.html.HR.tag
2203
web2py.gluon.html.HTML.tag
2204
web2py.gluon.html.I.tag
2205
web2py.gluon.html.IFRAME.tag
2206
web2py.gluon.html.IMG.tag
2207
web2py.gluon.html.INPUT.tag
2208
web2py.gluon.html.LABEL.tag
2209
web2py.gluon.html.LEGEND.tag
2210
web2py.gluon.html.LI.tag
2211
web2py.gluon.html.LINK.tag
2212
web2py.gluon.html.MENU.tag
2213
web2py.gluon.html.META.tag
2214
web2py.gluon.html.OBJECT.tag
2215
web2py.gluon.html.OL.tag
2216
web2py.gluon.html.OPTGROUP.tag
2217
web2py.gluon.html.OPTION.tag
2218
web2py.gluon.html.P.tag
2219
web2py.gluon.html.PRE.tag
2220
web2py.gluon.html.SCRIPT.tag
2221
web2py.gluon.html.SELECT.tag
2222
web2py.gluon.html.SPAN.tag
2223
web2py.gluon.html.STYLE.tag
2224
web2py.gluon.html.TABLE.tag
2225
web2py.gluon.html.TBODY.tag
2226
web2py.gluon.html.TD.tag
2227
web2py.gluon.html.TEXTAREA.tag
2228
web2py.gluon.html.TFOOT.tag
2229
web2py.gluon.html.TH.tag
2230
web2py.gluon.html.THEAD.tag
2231
web2py.gluon.html.TITLE.tag
2232
web2py.gluon.html.TR.tag
2233
web2py.gluon.html.TT.tag
2234
web2py.gluon.html.UL.tag
2235
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-220', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'html'</tt> </tt>
2236
<a name="L1060"></a><tt class="py-lineno">1060</tt> <tt class="py-line"> </tt>
2237
<a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"> <tt id="link-221" class="py-name" targets="Variable web2py.gluon.html.HTML.strict=web2py.gluon.html.HTML-class.html#strict,Variable web2py.gluon.html.XHTML.strict=web2py.gluon.html.XHTML-class.html#strict"><a title="web2py.gluon.html.HTML.strict
2238
web2py.gluon.html.XHTML.strict" class="py-name" href="#" onclick="return doclink('link-221', 'strict', 'link-221');">strict</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\n'</tt> </tt>
2239
<a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"> <tt id="link-222" class="py-name" targets="Variable web2py.gluon.html.HTML.transitional=web2py.gluon.html.HTML-class.html#transitional,Variable web2py.gluon.html.XHTML.transitional=web2py.gluon.html.XHTML-class.html#transitional"><a title="web2py.gluon.html.HTML.transitional
2240
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-222', 'transitional', 'link-222');">transitional</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n'</tt> </tt>
2241
<a name="L1063"></a><tt class="py-lineno">1063</tt> <tt class="py-line"> <tt id="link-223" class="py-name" targets="Variable web2py.gluon.html.HTML.frameset=web2py.gluon.html.HTML-class.html#frameset,Variable web2py.gluon.html.XHTML.frameset=web2py.gluon.html.XHTML-class.html#frameset"><a title="web2py.gluon.html.HTML.frameset
2242
web2py.gluon.html.XHTML.frameset" class="py-name" href="#" onclick="return doclink('link-223', 'frameset', 'link-223');">frameset</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">\n'</tt> </tt>
2243
<a name="L1064"></a><tt class="py-lineno">1064</tt> <tt class="py-line"> <tt id="link-224" class="py-name" targets="Variable web2py.gluon.html.HTML.html5=web2py.gluon.html.HTML-class.html#html5"><a title="web2py.gluon.html.HTML.html5" class="py-name" href="#" onclick="return doclink('link-224', 'html5', 'link-224');">html5</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE HTML>\n'</tt> </tt>
2244
<a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"> </tt>
2245
<a name="HTML.xml"></a><div id="HTML.xml-def"><a name="L1066"></a><tt class="py-lineno">1066</tt> <a class="py-toggle" href="#" id="HTML.xml-toggle" onclick="return toggle('HTML.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.HTML-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2246
</div><div id="HTML.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HTML.xml-expanded"><a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'lang'</tt><tt class="py-op">]</tt> </tt>
2247
<a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">lang</tt><tt class="py-op">:</tt> </tt>
2248
<a name="L1069"></a><tt class="py-lineno">1069</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-string">'en'</tt> </tt>
2249
<a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_lang'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lang</tt> </tt>
2250
<a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'doctype'</tt><tt class="py-op">]</tt> </tt>
2251
<a name="L1072"></a><tt class="py-lineno">1072</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">doctype</tt><tt class="py-op">:</tt> </tt>
2252
<a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'strict'</tt><tt class="py-op">:</tt> </tt>
2253
<a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="web2py.gluon.html.HTML.strict
2254
web2py.gluon.html.XHTML.strict" class="py-name" href="#" onclick="return doclink('link-225', 'strict', 'link-221');">strict</a></tt> </tt>
2255
<a name="L1075"></a><tt class="py-lineno">1075</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'transitional'</tt><tt class="py-op">:</tt> </tt>
2256
<a name="L1076"></a><tt class="py-lineno">1076</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2257
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-226', 'transitional', 'link-222');">transitional</a></tt> </tt>
2258
<a name="L1077"></a><tt class="py-lineno">1077</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'frameset'</tt><tt class="py-op">:</tt> </tt>
2259
<a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="web2py.gluon.html.HTML.frameset
2260
web2py.gluon.html.XHTML.frameset" class="py-name" href="#" onclick="return doclink('link-227', 'frameset', 'link-223');">frameset</a></tt> </tt>
2261
<a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'html5'</tt><tt class="py-op">:</tt> </tt>
2262
<a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="web2py.gluon.html.HTML.html5" class="py-name" href="#" onclick="return doclink('link-228', 'html5', 'link-224');">html5</a></tt> </tt>
2263
<a name="L1081"></a><tt class="py-lineno">1081</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2264
<a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">doctype</tt> </tt>
2265
<a name="L1083"></a><tt class="py-lineno">1083</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2266
<a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2267
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-229', 'transitional', 'link-222');">transitional</a></tt> </tt>
2268
<a name="L1085"></a><tt class="py-lineno">1085</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-230', '_xml', 'link-119');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
2269
<a name="L1086"></a><tt class="py-lineno">1086</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'%s<%s%s>%s</%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">doctype</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="web2py.gluon.html.A.tag
2270
web2py.gluon.html.B.tag
2271
web2py.gluon.html.BEAUTIFY.tag
2272
web2py.gluon.html.BODY.tag
2273
web2py.gluon.html.BR.tag
2274
web2py.gluon.html.BUTTON.tag
2275
web2py.gluon.html.CAT.tag
2276
web2py.gluon.html.CENTER.tag
2277
web2py.gluon.html.COL.tag
2278
web2py.gluon.html.COLGROUP.tag
2279
web2py.gluon.html.DIV.tag
2280
web2py.gluon.html.EM.tag
2281
web2py.gluon.html.EMBED.tag
2282
web2py.gluon.html.FIELDSET.tag
2283
web2py.gluon.html.FORM.tag
2284
web2py.gluon.html.H1.tag
2285
web2py.gluon.html.H2.tag
2286
web2py.gluon.html.H3.tag
2287
web2py.gluon.html.H4.tag
2288
web2py.gluon.html.H5.tag
2289
web2py.gluon.html.H6.tag
2290
web2py.gluon.html.HEAD.tag
2291
web2py.gluon.html.HR.tag
2292
web2py.gluon.html.HTML.tag
2293
web2py.gluon.html.I.tag
2294
web2py.gluon.html.IFRAME.tag
2295
web2py.gluon.html.IMG.tag
2296
web2py.gluon.html.INPUT.tag
2297
web2py.gluon.html.LABEL.tag
2298
web2py.gluon.html.LEGEND.tag
2299
web2py.gluon.html.LI.tag
2300
web2py.gluon.html.LINK.tag
2301
web2py.gluon.html.MENU.tag
2302
web2py.gluon.html.META.tag
2303
web2py.gluon.html.OBJECT.tag
2304
web2py.gluon.html.OL.tag
2305
web2py.gluon.html.OPTGROUP.tag
2306
web2py.gluon.html.OPTION.tag
2307
web2py.gluon.html.P.tag
2308
web2py.gluon.html.PRE.tag
2309
web2py.gluon.html.SCRIPT.tag
2310
web2py.gluon.html.SELECT.tag
2311
web2py.gluon.html.SPAN.tag
2312
web2py.gluon.html.STYLE.tag
2313
web2py.gluon.html.TABLE.tag
2314
web2py.gluon.html.TBODY.tag
2315
web2py.gluon.html.TD.tag
2316
web2py.gluon.html.TEXTAREA.tag
2317
web2py.gluon.html.TFOOT.tag
2318
web2py.gluon.html.TH.tag
2319
web2py.gluon.html.THEAD.tag
2320
web2py.gluon.html.TITLE.tag
2321
web2py.gluon.html.TR.tag
2322
web2py.gluon.html.TT.tag
2323
web2py.gluon.html.UL.tag
2324
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-231', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="web2py.gluon.html.A.tag
2325
web2py.gluon.html.B.tag
2326
web2py.gluon.html.BEAUTIFY.tag
2327
web2py.gluon.html.BODY.tag
2328
web2py.gluon.html.BR.tag
2329
web2py.gluon.html.BUTTON.tag
2330
web2py.gluon.html.CAT.tag
2331
web2py.gluon.html.CENTER.tag
2332
web2py.gluon.html.COL.tag
2333
web2py.gluon.html.COLGROUP.tag
2334
web2py.gluon.html.DIV.tag
2335
web2py.gluon.html.EM.tag
2336
web2py.gluon.html.EMBED.tag
2337
web2py.gluon.html.FIELDSET.tag
2338
web2py.gluon.html.FORM.tag
2339
web2py.gluon.html.H1.tag
2340
web2py.gluon.html.H2.tag
2341
web2py.gluon.html.H3.tag
2342
web2py.gluon.html.H4.tag
2343
web2py.gluon.html.H5.tag
2344
web2py.gluon.html.H6.tag
2345
web2py.gluon.html.HEAD.tag
2346
web2py.gluon.html.HR.tag
2347
web2py.gluon.html.HTML.tag
2348
web2py.gluon.html.I.tag
2349
web2py.gluon.html.IFRAME.tag
2350
web2py.gluon.html.IMG.tag
2351
web2py.gluon.html.INPUT.tag
2352
web2py.gluon.html.LABEL.tag
2353
web2py.gluon.html.LEGEND.tag
2354
web2py.gluon.html.LI.tag
2355
web2py.gluon.html.LINK.tag
2356
web2py.gluon.html.MENU.tag
2357
web2py.gluon.html.META.tag
2358
web2py.gluon.html.OBJECT.tag
2359
web2py.gluon.html.OL.tag
2360
web2py.gluon.html.OPTGROUP.tag
2361
web2py.gluon.html.OPTION.tag
2362
web2py.gluon.html.P.tag
2363
web2py.gluon.html.PRE.tag
2364
web2py.gluon.html.SCRIPT.tag
2365
web2py.gluon.html.SELECT.tag
2366
web2py.gluon.html.SPAN.tag
2367
web2py.gluon.html.STYLE.tag
2368
web2py.gluon.html.TABLE.tag
2369
web2py.gluon.html.TBODY.tag
2370
web2py.gluon.html.TD.tag
2371
web2py.gluon.html.TEXTAREA.tag
2372
web2py.gluon.html.TFOOT.tag
2373
web2py.gluon.html.TH.tag
2374
web2py.gluon.html.THEAD.tag
2375
web2py.gluon.html.TITLE.tag
2376
web2py.gluon.html.TR.tag
2377
web2py.gluon.html.TT.tag
2378
web2py.gluon.html.UL.tag
2379
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-232', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
2380
</div></div><a name="L1087"></a><tt class="py-lineno">1087</tt> <tt class="py-line"> </tt>
2381
<a name="XHTML"></a><div id="XHTML-def"><a name="L1088"></a><tt class="py-lineno">1088</tt> <a class="py-toggle" href="#" id="XHTML-toggle" onclick="return toggle('XHTML');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.XHTML-class.html">XHTML</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2382
</div><div id="XHTML-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XHTML-expanded"><a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
2383
<a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"><tt class="py-docstring"> This is XHTML version of the HTML helper.</tt> </tt>
2384
<a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2385
<a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"><tt class="py-docstring"> There are three predefined document type definitions.</tt> </tt>
2386
<a name="L1093"></a><tt class="py-lineno">1093</tt> <tt class="py-line"><tt class="py-docstring"> They can be specified in the 'doctype' parameter:</tt> </tt>
2387
<a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2388
<a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"><tt class="py-docstring"> -'strict' enables strict doctype</tt> </tt>
2389
<a name="L1096"></a><tt class="py-lineno">1096</tt> <tt class="py-line"><tt class="py-docstring"> -'transitional' enables transitional doctype (default)</tt> </tt>
2390
<a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"><tt class="py-docstring"> -'frameset' enables frameset doctype</tt> </tt>
2391
<a name="L1098"></a><tt class="py-lineno">1098</tt> <tt class="py-line"><tt class="py-docstring"> -any other string will be treated as user's own doctype</tt> </tt>
2392
<a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2393
<a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"><tt class="py-docstring"> 'lang' parameter specifies the language of the document and the xml document.</tt> </tt>
2394
<a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"><tt class="py-docstring"> Defaults to 'en'.</tt> </tt>
2395
<a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2396
<a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"><tt class="py-docstring"> 'xmlns' parameter specifies the xml namespace.</tt> </tt>
2397
<a name="L1104"></a><tt class="py-lineno">1104</tt> <tt class="py-line"><tt class="py-docstring"> Defaults to 'http://www.w3.org/1999/xhtml'.</tt> </tt>
2398
<a name="L1105"></a><tt class="py-lineno">1105</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2399
<a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"><tt class="py-docstring"> See also :class:`DIV`</tt> </tt>
2400
<a name="L1107"></a><tt class="py-lineno">1107</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
2401
<a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"> </tt>
2402
<a name="L1109"></a><tt class="py-lineno">1109</tt> <tt class="py-line"> <tt id="link-233" class="py-name"><a title="web2py.gluon.html.A.tag
2403
web2py.gluon.html.B.tag
2404
web2py.gluon.html.BEAUTIFY.tag
2405
web2py.gluon.html.BODY.tag
2406
web2py.gluon.html.BR.tag
2407
web2py.gluon.html.BUTTON.tag
2408
web2py.gluon.html.CAT.tag
2409
web2py.gluon.html.CENTER.tag
2410
web2py.gluon.html.COL.tag
2411
web2py.gluon.html.COLGROUP.tag
2412
web2py.gluon.html.DIV.tag
2413
web2py.gluon.html.EM.tag
2414
web2py.gluon.html.EMBED.tag
2415
web2py.gluon.html.FIELDSET.tag
2416
web2py.gluon.html.FORM.tag
2417
web2py.gluon.html.H1.tag
2418
web2py.gluon.html.H2.tag
2419
web2py.gluon.html.H3.tag
2420
web2py.gluon.html.H4.tag
2421
web2py.gluon.html.H5.tag
2422
web2py.gluon.html.H6.tag
2423
web2py.gluon.html.HEAD.tag
2424
web2py.gluon.html.HR.tag
2425
web2py.gluon.html.HTML.tag
2426
web2py.gluon.html.I.tag
2427
web2py.gluon.html.IFRAME.tag
2428
web2py.gluon.html.IMG.tag
2429
web2py.gluon.html.INPUT.tag
2430
web2py.gluon.html.LABEL.tag
2431
web2py.gluon.html.LEGEND.tag
2432
web2py.gluon.html.LI.tag
2433
web2py.gluon.html.LINK.tag
2434
web2py.gluon.html.MENU.tag
2435
web2py.gluon.html.META.tag
2436
web2py.gluon.html.OBJECT.tag
2437
web2py.gluon.html.OL.tag
2438
web2py.gluon.html.OPTGROUP.tag
2439
web2py.gluon.html.OPTION.tag
2440
web2py.gluon.html.P.tag
2441
web2py.gluon.html.PRE.tag
2442
web2py.gluon.html.SCRIPT.tag
2443
web2py.gluon.html.SELECT.tag
2444
web2py.gluon.html.SPAN.tag
2445
web2py.gluon.html.STYLE.tag
2446
web2py.gluon.html.TABLE.tag
2447
web2py.gluon.html.TBODY.tag
2448
web2py.gluon.html.TD.tag
2449
web2py.gluon.html.TEXTAREA.tag
2450
web2py.gluon.html.TFOOT.tag
2451
web2py.gluon.html.TH.tag
2452
web2py.gluon.html.THEAD.tag
2453
web2py.gluon.html.TITLE.tag
2454
web2py.gluon.html.TR.tag
2455
web2py.gluon.html.TT.tag
2456
web2py.gluon.html.UL.tag
2457
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-233', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'html'</tt> </tt>
2458
<a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"> </tt>
2459
<a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"> <tt id="link-234" class="py-name"><a title="web2py.gluon.html.HTML.strict
2460
web2py.gluon.html.XHTML.strict" class="py-name" href="#" onclick="return doclink('link-234', 'strict', 'link-221');">strict</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n'</tt> </tt>
2461
<a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"> <tt id="link-235" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2462
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-235', 'transitional', 'link-222');">transitional</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n'</tt> </tt>
2463
<a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"> <tt id="link-236" class="py-name"><a title="web2py.gluon.html.HTML.frameset
2464
web2py.gluon.html.XHTML.frameset" class="py-name" href="#" onclick="return doclink('link-236', 'frameset', 'link-223');">frameset</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">\n'</tt> </tt>
2465
<a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"> <tt id="link-237" class="py-name" targets="Variable web2py.gluon.html.XHTML.xmlns=web2py.gluon.html.XHTML-class.html#xmlns"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-237', 'xmlns', 'link-237');">xmlns</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'http://www.w3.org/1999/xhtml'</tt> </tt>
2466
<a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"> </tt>
2467
<a name="XHTML.xml"></a><div id="XHTML.xml-def"><a name="L1116"></a><tt class="py-lineno">1116</tt> <a class="py-toggle" href="#" id="XHTML.xml-toggle" onclick="return toggle('XHTML.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XHTML-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2468
</div><div id="XHTML.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XHTML.xml-expanded"><a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"> <tt id="link-238" class="py-name"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-238', 'xmlns', 'link-237');">xmlns</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'xmlns'</tt><tt class="py-op">]</tt> </tt>
2469
<a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-239" class="py-name"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-239', 'xmlns', 'link-237');">xmlns</a></tt><tt class="py-op">:</tt> </tt>
2470
<a name="L1119"></a><tt class="py-lineno">1119</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_xmlns'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-240" class="py-name"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-240', 'xmlns', 'link-237');">xmlns</a></tt> </tt>
2471
<a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2472
<a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_xmlns'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-241', 'xmlns', 'link-237');">xmlns</a></tt> </tt>
2473
<a name="L1122"></a><tt class="py-lineno">1122</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'lang'</tt><tt class="py-op">]</tt> </tt>
2474
<a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">lang</tt><tt class="py-op">:</tt> </tt>
2475
<a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-string">'en'</tt> </tt>
2476
<a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_lang'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lang</tt> </tt>
2477
<a name="L1126"></a><tt class="py-lineno">1126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_xml:lang'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lang</tt> </tt>
2478
<a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'doctype'</tt><tt class="py-op">]</tt> </tt>
2479
<a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">doctype</tt><tt class="py-op">:</tt> </tt>
2480
<a name="L1129"></a><tt class="py-lineno">1129</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'strict'</tt><tt class="py-op">:</tt> </tt>
2481
<a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="web2py.gluon.html.HTML.strict
2482
web2py.gluon.html.XHTML.strict" class="py-name" href="#" onclick="return doclink('link-242', 'strict', 'link-221');">strict</a></tt> </tt>
2483
<a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'transitional'</tt><tt class="py-op">:</tt> </tt>
2484
<a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2485
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-243', 'transitional', 'link-222');">transitional</a></tt> </tt>
2486
<a name="L1133"></a><tt class="py-lineno">1133</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'frameset'</tt><tt class="py-op">:</tt> </tt>
2487
<a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="web2py.gluon.html.HTML.frameset
2488
web2py.gluon.html.XHTML.frameset" class="py-name" href="#" onclick="return doclink('link-244', 'frameset', 'link-223');">frameset</a></tt> </tt>
2489
<a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2490
<a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">doctype</tt> </tt>
2188
<a name="HTML"></a><div id="HTML-def"><a name="L1059"></a><tt class="py-lineno">1059</tt> <a class="py-toggle" href="#" id="HTML-toggle" onclick="return toggle('HTML');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.HTML-class.html">HTML</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2189
</div><div id="HTML-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HTML-expanded"><a name="L1060"></a><tt class="py-lineno">1060</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
2190
<a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"><tt class="py-docstring"> There are four predefined document type definitions.</tt> </tt>
2191
<a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"><tt class="py-docstring"> They can be specified in the 'doctype' parameter:</tt> </tt>
2192
<a name="L1063"></a><tt class="py-lineno">1063</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2193
<a name="L1064"></a><tt class="py-lineno">1064</tt> <tt class="py-line"><tt class="py-docstring"> -'strict' enables strict doctype</tt> </tt>
2194
<a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"><tt class="py-docstring"> -'transitional' enables transitional doctype (default)</tt> </tt>
2195
<a name="L1066"></a><tt class="py-lineno">1066</tt> <tt class="py-line"><tt class="py-docstring"> -'frameset' enables frameset doctype</tt> </tt>
2196
<a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"><tt class="py-docstring"> -'html5' enables HTML 5 doctype</tt> </tt>
2197
<a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"><tt class="py-docstring"> -any other string will be treated as user's own doctype</tt> </tt>
2198
<a name="L1069"></a><tt class="py-lineno">1069</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2199
<a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"><tt class="py-docstring"> 'lang' parameter specifies the language of the document.</tt> </tt>
2200
<a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"><tt class="py-docstring"> Defaults to 'en'.</tt> </tt>
2201
<a name="L1072"></a><tt class="py-lineno">1072</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2202
<a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"><tt class="py-docstring"> See also :class:`DIV`</tt> </tt>
2203
<a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
2204
<a name="L1075"></a><tt class="py-lineno">1075</tt> <tt class="py-line"> </tt>
2205
<a name="L1076"></a><tt class="py-lineno">1076</tt> <tt class="py-line"> <tt id="link-210" class="py-name"><a title="web2py.gluon.html.A.tag
2206
web2py.gluon.html.B.tag
2207
web2py.gluon.html.BEAUTIFY.tag
2208
web2py.gluon.html.BODY.tag
2209
web2py.gluon.html.BR.tag
2210
web2py.gluon.html.BUTTON.tag
2211
web2py.gluon.html.CAT.tag
2212
web2py.gluon.html.CENTER.tag
2213
web2py.gluon.html.COL.tag
2214
web2py.gluon.html.COLGROUP.tag
2215
web2py.gluon.html.DIV.tag
2216
web2py.gluon.html.EM.tag
2217
web2py.gluon.html.EMBED.tag
2218
web2py.gluon.html.FIELDSET.tag
2219
web2py.gluon.html.FORM.tag
2220
web2py.gluon.html.H1.tag
2221
web2py.gluon.html.H2.tag
2222
web2py.gluon.html.H3.tag
2223
web2py.gluon.html.H4.tag
2224
web2py.gluon.html.H5.tag
2225
web2py.gluon.html.H6.tag
2226
web2py.gluon.html.HEAD.tag
2227
web2py.gluon.html.HR.tag
2228
web2py.gluon.html.HTML.tag
2229
web2py.gluon.html.I.tag
2230
web2py.gluon.html.IFRAME.tag
2231
web2py.gluon.html.IMG.tag
2232
web2py.gluon.html.INPUT.tag
2233
web2py.gluon.html.LABEL.tag
2234
web2py.gluon.html.LEGEND.tag
2235
web2py.gluon.html.LI.tag
2236
web2py.gluon.html.LINK.tag
2237
web2py.gluon.html.MENU.tag
2238
web2py.gluon.html.META.tag
2239
web2py.gluon.html.OBJECT.tag
2240
web2py.gluon.html.OL.tag
2241
web2py.gluon.html.OPTGROUP.tag
2242
web2py.gluon.html.OPTION.tag
2243
web2py.gluon.html.P.tag
2244
web2py.gluon.html.PRE.tag
2245
web2py.gluon.html.SCRIPT.tag
2246
web2py.gluon.html.SELECT.tag
2247
web2py.gluon.html.SPAN.tag
2248
web2py.gluon.html.STYLE.tag
2249
web2py.gluon.html.TABLE.tag
2250
web2py.gluon.html.TBODY.tag
2251
web2py.gluon.html.TD.tag
2252
web2py.gluon.html.TEXTAREA.tag
2253
web2py.gluon.html.TFOOT.tag
2254
web2py.gluon.html.TH.tag
2255
web2py.gluon.html.THEAD.tag
2256
web2py.gluon.html.TITLE.tag
2257
web2py.gluon.html.TR.tag
2258
web2py.gluon.html.TT.tag
2259
web2py.gluon.html.UL.tag
2260
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-210', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'html'</tt> </tt>
2261
<a name="L1077"></a><tt class="py-lineno">1077</tt> <tt class="py-line"> </tt>
2262
<a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"> <tt id="link-211" class="py-name" targets="Variable web2py.gluon.html.HTML.strict=web2py.gluon.html.HTML-class.html#strict,Variable web2py.gluon.html.XHTML.strict=web2py.gluon.html.XHTML-class.html#strict"><a title="web2py.gluon.html.HTML.strict
2263
web2py.gluon.html.XHTML.strict" class="py-name" href="#" onclick="return doclink('link-211', 'strict', 'link-211');">strict</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\n'</tt> </tt>
2264
<a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"> <tt id="link-212" class="py-name" targets="Variable web2py.gluon.html.HTML.transitional=web2py.gluon.html.HTML-class.html#transitional,Variable web2py.gluon.html.XHTML.transitional=web2py.gluon.html.XHTML-class.html#transitional"><a title="web2py.gluon.html.HTML.transitional
2265
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-212', 'transitional', 'link-212');">transitional</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n'</tt> </tt>
2266
<a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"> <tt id="link-213" class="py-name" targets="Variable web2py.gluon.html.HTML.frameset=web2py.gluon.html.HTML-class.html#frameset,Variable web2py.gluon.html.XHTML.frameset=web2py.gluon.html.XHTML-class.html#frameset"><a title="web2py.gluon.html.HTML.frameset
2267
web2py.gluon.html.XHTML.frameset" class="py-name" href="#" onclick="return doclink('link-213', 'frameset', 'link-213');">frameset</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">\n'</tt> </tt>
2268
<a name="L1081"></a><tt class="py-lineno">1081</tt> <tt class="py-line"> <tt id="link-214" class="py-name" targets="Variable web2py.gluon.html.HTML.html5=web2py.gluon.html.HTML-class.html#html5"><a title="web2py.gluon.html.HTML.html5" class="py-name" href="#" onclick="return doclink('link-214', 'html5', 'link-214');">html5</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE HTML>\n'</tt> </tt>
2269
<a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"> </tt>
2270
<a name="HTML.xml"></a><div id="HTML.xml-def"><a name="L1083"></a><tt class="py-lineno">1083</tt> <a class="py-toggle" href="#" id="HTML.xml-toggle" onclick="return toggle('HTML.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.HTML-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2271
</div><div id="HTML.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HTML.xml-expanded"><a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'lang'</tt><tt class="py-op">]</tt> </tt>
2272
<a name="L1085"></a><tt class="py-lineno">1085</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">lang</tt><tt class="py-op">:</tt> </tt>
2273
<a name="L1086"></a><tt class="py-lineno">1086</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-string">'en'</tt> </tt>
2274
<a name="L1087"></a><tt class="py-lineno">1087</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_lang'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lang</tt> </tt>
2275
<a name="L1088"></a><tt class="py-lineno">1088</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'doctype'</tt><tt class="py-op">]</tt> </tt>
2276
<a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">doctype</tt><tt class="py-op">:</tt> </tt>
2277
<a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'strict'</tt><tt class="py-op">:</tt> </tt>
2278
<a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="web2py.gluon.html.HTML.strict
2279
web2py.gluon.html.XHTML.strict" class="py-name" href="#" onclick="return doclink('link-215', 'strict', 'link-211');">strict</a></tt> </tt>
2280
<a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'transitional'</tt><tt class="py-op">:</tt> </tt>
2281
<a name="L1093"></a><tt class="py-lineno">1093</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2282
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-216', 'transitional', 'link-212');">transitional</a></tt> </tt>
2283
<a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'frameset'</tt><tt class="py-op">:</tt> </tt>
2284
<a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="web2py.gluon.html.HTML.frameset
2285
web2py.gluon.html.XHTML.frameset" class="py-name" href="#" onclick="return doclink('link-217', 'frameset', 'link-213');">frameset</a></tt> </tt>
2286
<a name="L1096"></a><tt class="py-lineno">1096</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'html5'</tt><tt class="py-op">:</tt> </tt>
2287
<a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="web2py.gluon.html.HTML.html5" class="py-name" href="#" onclick="return doclink('link-218', 'html5', 'link-214');">html5</a></tt> </tt>
2288
<a name="L1098"></a><tt class="py-lineno">1098</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2289
<a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">doctype</tt> </tt>
2290
<a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2291
<a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2292
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-219', 'transitional', 'link-212');">transitional</a></tt> </tt>
2293
<a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-220', '_xml', 'link-118');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
2294
<a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'%s<%s%s>%s</%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">doctype</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="web2py.gluon.html.A.tag
2295
web2py.gluon.html.B.tag
2296
web2py.gluon.html.BEAUTIFY.tag
2297
web2py.gluon.html.BODY.tag
2298
web2py.gluon.html.BR.tag
2299
web2py.gluon.html.BUTTON.tag
2300
web2py.gluon.html.CAT.tag
2301
web2py.gluon.html.CENTER.tag
2302
web2py.gluon.html.COL.tag
2303
web2py.gluon.html.COLGROUP.tag
2304
web2py.gluon.html.DIV.tag
2305
web2py.gluon.html.EM.tag
2306
web2py.gluon.html.EMBED.tag
2307
web2py.gluon.html.FIELDSET.tag
2308
web2py.gluon.html.FORM.tag
2309
web2py.gluon.html.H1.tag
2310
web2py.gluon.html.H2.tag
2311
web2py.gluon.html.H3.tag
2312
web2py.gluon.html.H4.tag
2313
web2py.gluon.html.H5.tag
2314
web2py.gluon.html.H6.tag
2315
web2py.gluon.html.HEAD.tag
2316
web2py.gluon.html.HR.tag
2317
web2py.gluon.html.HTML.tag
2318
web2py.gluon.html.I.tag
2319
web2py.gluon.html.IFRAME.tag
2320
web2py.gluon.html.IMG.tag
2321
web2py.gluon.html.INPUT.tag
2322
web2py.gluon.html.LABEL.tag
2323
web2py.gluon.html.LEGEND.tag
2324
web2py.gluon.html.LI.tag
2325
web2py.gluon.html.LINK.tag
2326
web2py.gluon.html.MENU.tag
2327
web2py.gluon.html.META.tag
2328
web2py.gluon.html.OBJECT.tag
2329
web2py.gluon.html.OL.tag
2330
web2py.gluon.html.OPTGROUP.tag
2331
web2py.gluon.html.OPTION.tag
2332
web2py.gluon.html.P.tag
2333
web2py.gluon.html.PRE.tag
2334
web2py.gluon.html.SCRIPT.tag
2335
web2py.gluon.html.SELECT.tag
2336
web2py.gluon.html.SPAN.tag
2337
web2py.gluon.html.STYLE.tag
2338
web2py.gluon.html.TABLE.tag
2339
web2py.gluon.html.TBODY.tag
2340
web2py.gluon.html.TD.tag
2341
web2py.gluon.html.TEXTAREA.tag
2342
web2py.gluon.html.TFOOT.tag
2343
web2py.gluon.html.TH.tag
2344
web2py.gluon.html.THEAD.tag
2345
web2py.gluon.html.TITLE.tag
2346
web2py.gluon.html.TR.tag
2347
web2py.gluon.html.TT.tag
2348
web2py.gluon.html.UL.tag
2349
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-221', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="web2py.gluon.html.A.tag
2350
web2py.gluon.html.B.tag
2351
web2py.gluon.html.BEAUTIFY.tag
2352
web2py.gluon.html.BODY.tag
2353
web2py.gluon.html.BR.tag
2354
web2py.gluon.html.BUTTON.tag
2355
web2py.gluon.html.CAT.tag
2356
web2py.gluon.html.CENTER.tag
2357
web2py.gluon.html.COL.tag
2358
web2py.gluon.html.COLGROUP.tag
2359
web2py.gluon.html.DIV.tag
2360
web2py.gluon.html.EM.tag
2361
web2py.gluon.html.EMBED.tag
2362
web2py.gluon.html.FIELDSET.tag
2363
web2py.gluon.html.FORM.tag
2364
web2py.gluon.html.H1.tag
2365
web2py.gluon.html.H2.tag
2366
web2py.gluon.html.H3.tag
2367
web2py.gluon.html.H4.tag
2368
web2py.gluon.html.H5.tag
2369
web2py.gluon.html.H6.tag
2370
web2py.gluon.html.HEAD.tag
2371
web2py.gluon.html.HR.tag
2372
web2py.gluon.html.HTML.tag
2373
web2py.gluon.html.I.tag
2374
web2py.gluon.html.IFRAME.tag
2375
web2py.gluon.html.IMG.tag
2376
web2py.gluon.html.INPUT.tag
2377
web2py.gluon.html.LABEL.tag
2378
web2py.gluon.html.LEGEND.tag
2379
web2py.gluon.html.LI.tag
2380
web2py.gluon.html.LINK.tag
2381
web2py.gluon.html.MENU.tag
2382
web2py.gluon.html.META.tag
2383
web2py.gluon.html.OBJECT.tag
2384
web2py.gluon.html.OL.tag
2385
web2py.gluon.html.OPTGROUP.tag
2386
web2py.gluon.html.OPTION.tag
2387
web2py.gluon.html.P.tag
2388
web2py.gluon.html.PRE.tag
2389
web2py.gluon.html.SCRIPT.tag
2390
web2py.gluon.html.SELECT.tag
2391
web2py.gluon.html.SPAN.tag
2392
web2py.gluon.html.STYLE.tag
2393
web2py.gluon.html.TABLE.tag
2394
web2py.gluon.html.TBODY.tag
2395
web2py.gluon.html.TD.tag
2396
web2py.gluon.html.TEXTAREA.tag
2397
web2py.gluon.html.TFOOT.tag
2398
web2py.gluon.html.TH.tag
2399
web2py.gluon.html.THEAD.tag
2400
web2py.gluon.html.TITLE.tag
2401
web2py.gluon.html.TR.tag
2402
web2py.gluon.html.TT.tag
2403
web2py.gluon.html.UL.tag
2404
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-222', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
2405
</div></div><a name="L1104"></a><tt class="py-lineno">1104</tt> <tt class="py-line"> </tt>
2406
<a name="XHTML"></a><div id="XHTML-def"><a name="L1105"></a><tt class="py-lineno">1105</tt> <a class="py-toggle" href="#" id="XHTML-toggle" onclick="return toggle('XHTML');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.XHTML-class.html">XHTML</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2407
</div><div id="XHTML-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XHTML-expanded"><a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
2408
<a name="L1107"></a><tt class="py-lineno">1107</tt> <tt class="py-line"><tt class="py-docstring"> This is XHTML version of the HTML helper.</tt> </tt>
2409
<a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2410
<a name="L1109"></a><tt class="py-lineno">1109</tt> <tt class="py-line"><tt class="py-docstring"> There are three predefined document type definitions.</tt> </tt>
2411
<a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"><tt class="py-docstring"> They can be specified in the 'doctype' parameter:</tt> </tt>
2412
<a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2413
<a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"><tt class="py-docstring"> -'strict' enables strict doctype</tt> </tt>
2414
<a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"><tt class="py-docstring"> -'transitional' enables transitional doctype (default)</tt> </tt>
2415
<a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"><tt class="py-docstring"> -'frameset' enables frameset doctype</tt> </tt>
2416
<a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"><tt class="py-docstring"> -any other string will be treated as user's own doctype</tt> </tt>
2417
<a name="L1116"></a><tt class="py-lineno">1116</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2418
<a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"><tt class="py-docstring"> 'lang' parameter specifies the language of the document and the xml document.</tt> </tt>
2419
<a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"><tt class="py-docstring"> Defaults to 'en'.</tt> </tt>
2420
<a name="L1119"></a><tt class="py-lineno">1119</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2421
<a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"><tt class="py-docstring"> 'xmlns' parameter specifies the xml namespace.</tt> </tt>
2422
<a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"><tt class="py-docstring"> Defaults to 'http://www.w3.org/1999/xhtml'.</tt> </tt>
2423
<a name="L1122"></a><tt class="py-lineno">1122</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
2424
<a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"><tt class="py-docstring"> See also :class:`DIV`</tt> </tt>
2425
<a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
2426
<a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"> </tt>
2427
<a name="L1126"></a><tt class="py-lineno">1126</tt> <tt class="py-line"> <tt id="link-223" class="py-name"><a title="web2py.gluon.html.A.tag
2428
web2py.gluon.html.B.tag
2429
web2py.gluon.html.BEAUTIFY.tag
2430
web2py.gluon.html.BODY.tag
2431
web2py.gluon.html.BR.tag
2432
web2py.gluon.html.BUTTON.tag
2433
web2py.gluon.html.CAT.tag
2434
web2py.gluon.html.CENTER.tag
2435
web2py.gluon.html.COL.tag
2436
web2py.gluon.html.COLGROUP.tag
2437
web2py.gluon.html.DIV.tag
2438
web2py.gluon.html.EM.tag
2439
web2py.gluon.html.EMBED.tag
2440
web2py.gluon.html.FIELDSET.tag
2441
web2py.gluon.html.FORM.tag
2442
web2py.gluon.html.H1.tag
2443
web2py.gluon.html.H2.tag
2444
web2py.gluon.html.H3.tag
2445
web2py.gluon.html.H4.tag
2446
web2py.gluon.html.H5.tag
2447
web2py.gluon.html.H6.tag
2448
web2py.gluon.html.HEAD.tag
2449
web2py.gluon.html.HR.tag
2450
web2py.gluon.html.HTML.tag
2451
web2py.gluon.html.I.tag
2452
web2py.gluon.html.IFRAME.tag
2453
web2py.gluon.html.IMG.tag
2454
web2py.gluon.html.INPUT.tag
2455
web2py.gluon.html.LABEL.tag
2456
web2py.gluon.html.LEGEND.tag
2457
web2py.gluon.html.LI.tag
2458
web2py.gluon.html.LINK.tag
2459
web2py.gluon.html.MENU.tag
2460
web2py.gluon.html.META.tag
2461
web2py.gluon.html.OBJECT.tag
2462
web2py.gluon.html.OL.tag
2463
web2py.gluon.html.OPTGROUP.tag
2464
web2py.gluon.html.OPTION.tag
2465
web2py.gluon.html.P.tag
2466
web2py.gluon.html.PRE.tag
2467
web2py.gluon.html.SCRIPT.tag
2468
web2py.gluon.html.SELECT.tag
2469
web2py.gluon.html.SPAN.tag
2470
web2py.gluon.html.STYLE.tag
2471
web2py.gluon.html.TABLE.tag
2472
web2py.gluon.html.TBODY.tag
2473
web2py.gluon.html.TD.tag
2474
web2py.gluon.html.TEXTAREA.tag
2475
web2py.gluon.html.TFOOT.tag
2476
web2py.gluon.html.TH.tag
2477
web2py.gluon.html.THEAD.tag
2478
web2py.gluon.html.TITLE.tag
2479
web2py.gluon.html.TR.tag
2480
web2py.gluon.html.TT.tag
2481
web2py.gluon.html.UL.tag
2482
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-223', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'html'</tt> </tt>
2483
<a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"> </tt>
2484
<a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"> <tt id="link-224" class="py-name"><a title="web2py.gluon.html.HTML.strict
2485
web2py.gluon.html.XHTML.strict" class="py-name" href="#" onclick="return doclink('link-224', 'strict', 'link-211');">strict</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n'</tt> </tt>
2486
<a name="L1129"></a><tt class="py-lineno">1129</tt> <tt class="py-line"> <tt id="link-225" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2487
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-225', 'transitional', 'link-212');">transitional</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n'</tt> </tt>
2488
<a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"> <tt id="link-226" class="py-name"><a title="web2py.gluon.html.HTML.frameset
2489
web2py.gluon.html.XHTML.frameset" class="py-name" href="#" onclick="return doclink('link-226', 'frameset', 'link-213');">frameset</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">\n'</tt> </tt>
2490
<a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"> <tt id="link-227" class="py-name" targets="Variable web2py.gluon.html.XHTML.xmlns=web2py.gluon.html.XHTML-class.html#xmlns"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-227', 'xmlns', 'link-227');">xmlns</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'http://www.w3.org/1999/xhtml'</tt> </tt>
2491
<a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"> </tt>
2492
<a name="XHTML.xml"></a><div id="XHTML.xml-def"><a name="L1133"></a><tt class="py-lineno">1133</tt> <a class="py-toggle" href="#" id="XHTML.xml-toggle" onclick="return toggle('XHTML.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.XHTML-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2493
</div><div id="XHTML.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XHTML.xml-expanded"><a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"> <tt id="link-228" class="py-name"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-228', 'xmlns', 'link-227');">xmlns</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'xmlns'</tt><tt class="py-op">]</tt> </tt>
2494
<a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-229" class="py-name"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-229', 'xmlns', 'link-227');">xmlns</a></tt><tt class="py-op">:</tt> </tt>
2495
<a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_xmlns'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-230" class="py-name"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-230', 'xmlns', 'link-227');">xmlns</a></tt> </tt>
2491
2496
<a name="L1137"></a><tt class="py-lineno">1137</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2492
<a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2493
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-245', 'transitional', 'link-222');">transitional</a></tt> </tt>
2494
<a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-246', '_xml', 'link-119');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
2495
<a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'%s<%s%s>%s</%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">doctype</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="web2py.gluon.html.A.tag
2496
web2py.gluon.html.B.tag
2497
web2py.gluon.html.BEAUTIFY.tag
2498
web2py.gluon.html.BODY.tag
2499
web2py.gluon.html.BR.tag
2500
web2py.gluon.html.BUTTON.tag
2501
web2py.gluon.html.CAT.tag
2502
web2py.gluon.html.CENTER.tag
2503
web2py.gluon.html.COL.tag
2504
web2py.gluon.html.COLGROUP.tag
2505
web2py.gluon.html.DIV.tag
2506
web2py.gluon.html.EM.tag
2507
web2py.gluon.html.EMBED.tag
2508
web2py.gluon.html.FIELDSET.tag
2509
web2py.gluon.html.FORM.tag
2510
web2py.gluon.html.H1.tag
2511
web2py.gluon.html.H2.tag
2512
web2py.gluon.html.H3.tag
2513
web2py.gluon.html.H4.tag
2514
web2py.gluon.html.H5.tag
2515
web2py.gluon.html.H6.tag
2516
web2py.gluon.html.HEAD.tag
2517
web2py.gluon.html.HR.tag
2518
web2py.gluon.html.HTML.tag
2519
web2py.gluon.html.I.tag
2520
web2py.gluon.html.IFRAME.tag
2521
web2py.gluon.html.IMG.tag
2522
web2py.gluon.html.INPUT.tag
2523
web2py.gluon.html.LABEL.tag
2524
web2py.gluon.html.LEGEND.tag
2525
web2py.gluon.html.LI.tag
2526
web2py.gluon.html.LINK.tag
2527
web2py.gluon.html.MENU.tag
2528
web2py.gluon.html.META.tag
2529
web2py.gluon.html.OBJECT.tag
2530
web2py.gluon.html.OL.tag
2531
web2py.gluon.html.OPTGROUP.tag
2532
web2py.gluon.html.OPTION.tag
2533
web2py.gluon.html.P.tag
2534
web2py.gluon.html.PRE.tag
2535
web2py.gluon.html.SCRIPT.tag
2536
web2py.gluon.html.SELECT.tag
2537
web2py.gluon.html.SPAN.tag
2538
web2py.gluon.html.STYLE.tag
2539
web2py.gluon.html.TABLE.tag
2540
web2py.gluon.html.TBODY.tag
2541
web2py.gluon.html.TD.tag
2542
web2py.gluon.html.TEXTAREA.tag
2543
web2py.gluon.html.TFOOT.tag
2544
web2py.gluon.html.TH.tag
2545
web2py.gluon.html.THEAD.tag
2546
web2py.gluon.html.TITLE.tag
2547
web2py.gluon.html.TR.tag
2548
web2py.gluon.html.TT.tag
2549
web2py.gluon.html.UL.tag
2550
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-247', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="web2py.gluon.html.A.tag
2551
web2py.gluon.html.B.tag
2552
web2py.gluon.html.BEAUTIFY.tag
2553
web2py.gluon.html.BODY.tag
2554
web2py.gluon.html.BR.tag
2555
web2py.gluon.html.BUTTON.tag
2556
web2py.gluon.html.CAT.tag
2557
web2py.gluon.html.CENTER.tag
2558
web2py.gluon.html.COL.tag
2559
web2py.gluon.html.COLGROUP.tag
2560
web2py.gluon.html.DIV.tag
2561
web2py.gluon.html.EM.tag
2562
web2py.gluon.html.EMBED.tag
2563
web2py.gluon.html.FIELDSET.tag
2564
web2py.gluon.html.FORM.tag
2565
web2py.gluon.html.H1.tag
2566
web2py.gluon.html.H2.tag
2567
web2py.gluon.html.H3.tag
2568
web2py.gluon.html.H4.tag
2569
web2py.gluon.html.H5.tag
2570
web2py.gluon.html.H6.tag
2571
web2py.gluon.html.HEAD.tag
2572
web2py.gluon.html.HR.tag
2573
web2py.gluon.html.HTML.tag
2574
web2py.gluon.html.I.tag
2575
web2py.gluon.html.IFRAME.tag
2576
web2py.gluon.html.IMG.tag
2577
web2py.gluon.html.INPUT.tag
2578
web2py.gluon.html.LABEL.tag
2579
web2py.gluon.html.LEGEND.tag
2580
web2py.gluon.html.LI.tag
2581
web2py.gluon.html.LINK.tag
2582
web2py.gluon.html.MENU.tag
2583
web2py.gluon.html.META.tag
2584
web2py.gluon.html.OBJECT.tag
2585
web2py.gluon.html.OL.tag
2586
web2py.gluon.html.OPTGROUP.tag
2587
web2py.gluon.html.OPTION.tag
2588
web2py.gluon.html.P.tag
2589
web2py.gluon.html.PRE.tag
2590
web2py.gluon.html.SCRIPT.tag
2591
web2py.gluon.html.SELECT.tag
2592
web2py.gluon.html.SPAN.tag
2593
web2py.gluon.html.STYLE.tag
2594
web2py.gluon.html.TABLE.tag
2595
web2py.gluon.html.TBODY.tag
2596
web2py.gluon.html.TD.tag
2597
web2py.gluon.html.TEXTAREA.tag
2598
web2py.gluon.html.TFOOT.tag
2599
web2py.gluon.html.TH.tag
2600
web2py.gluon.html.THEAD.tag
2601
web2py.gluon.html.TITLE.tag
2602
web2py.gluon.html.TR.tag
2603
web2py.gluon.html.TT.tag
2604
web2py.gluon.html.UL.tag
2605
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-248', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
2606
</div></div><a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"> </tt>
2607
<a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"> </tt>
2608
<a name="HEAD"></a><div id="HEAD-def"><a name="L1143"></a><tt class="py-lineno">1143</tt> <a class="py-toggle" href="#" id="HEAD-toggle" onclick="return toggle('HEAD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.HEAD-class.html">HEAD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2609
</div><div id="HEAD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HEAD-expanded"><a name="L1144"></a><tt class="py-lineno">1144</tt> <tt class="py-line"> </tt>
2610
<a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"> <tt id="link-249" class="py-name"><a title="web2py.gluon.html.A.tag
2611
web2py.gluon.html.B.tag
2612
web2py.gluon.html.BEAUTIFY.tag
2613
web2py.gluon.html.BODY.tag
2614
web2py.gluon.html.BR.tag
2615
web2py.gluon.html.BUTTON.tag
2616
web2py.gluon.html.CAT.tag
2617
web2py.gluon.html.CENTER.tag
2618
web2py.gluon.html.COL.tag
2619
web2py.gluon.html.COLGROUP.tag
2620
web2py.gluon.html.DIV.tag
2621
web2py.gluon.html.EM.tag
2622
web2py.gluon.html.EMBED.tag
2623
web2py.gluon.html.FIELDSET.tag
2624
web2py.gluon.html.FORM.tag
2625
web2py.gluon.html.H1.tag
2626
web2py.gluon.html.H2.tag
2627
web2py.gluon.html.H3.tag
2628
web2py.gluon.html.H4.tag
2629
web2py.gluon.html.H5.tag
2630
web2py.gluon.html.H6.tag
2631
web2py.gluon.html.HEAD.tag
2632
web2py.gluon.html.HR.tag
2633
web2py.gluon.html.HTML.tag
2634
web2py.gluon.html.I.tag
2635
web2py.gluon.html.IFRAME.tag
2636
web2py.gluon.html.IMG.tag
2637
web2py.gluon.html.INPUT.tag
2638
web2py.gluon.html.LABEL.tag
2639
web2py.gluon.html.LEGEND.tag
2640
web2py.gluon.html.LI.tag
2641
web2py.gluon.html.LINK.tag
2642
web2py.gluon.html.MENU.tag
2643
web2py.gluon.html.META.tag
2644
web2py.gluon.html.OBJECT.tag
2645
web2py.gluon.html.OL.tag
2646
web2py.gluon.html.OPTGROUP.tag
2647
web2py.gluon.html.OPTION.tag
2648
web2py.gluon.html.P.tag
2649
web2py.gluon.html.PRE.tag
2650
web2py.gluon.html.SCRIPT.tag
2651
web2py.gluon.html.SELECT.tag
2652
web2py.gluon.html.SPAN.tag
2653
web2py.gluon.html.STYLE.tag
2654
web2py.gluon.html.TABLE.tag
2655
web2py.gluon.html.TBODY.tag
2656
web2py.gluon.html.TD.tag
2657
web2py.gluon.html.TEXTAREA.tag
2658
web2py.gluon.html.TFOOT.tag
2659
web2py.gluon.html.TH.tag
2660
web2py.gluon.html.THEAD.tag
2661
web2py.gluon.html.TITLE.tag
2662
web2py.gluon.html.TR.tag
2663
web2py.gluon.html.TT.tag
2664
web2py.gluon.html.UL.tag
2665
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-249', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'head'</tt> </tt>
2666
</div><a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"> </tt>
2667
<a name="TITLE"></a><div id="TITLE-def"><a name="L1147"></a><tt class="py-lineno">1147</tt> <a class="py-toggle" href="#" id="TITLE-toggle" onclick="return toggle('TITLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TITLE-class.html">TITLE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2668
</div><div id="TITLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TITLE-expanded"><a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"> </tt>
2669
<a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"> <tt id="link-250" class="py-name"><a title="web2py.gluon.html.A.tag
2670
web2py.gluon.html.B.tag
2671
web2py.gluon.html.BEAUTIFY.tag
2672
web2py.gluon.html.BODY.tag
2673
web2py.gluon.html.BR.tag
2674
web2py.gluon.html.BUTTON.tag
2675
web2py.gluon.html.CAT.tag
2676
web2py.gluon.html.CENTER.tag
2677
web2py.gluon.html.COL.tag
2678
web2py.gluon.html.COLGROUP.tag
2679
web2py.gluon.html.DIV.tag
2680
web2py.gluon.html.EM.tag
2681
web2py.gluon.html.EMBED.tag
2682
web2py.gluon.html.FIELDSET.tag
2683
web2py.gluon.html.FORM.tag
2684
web2py.gluon.html.H1.tag
2685
web2py.gluon.html.H2.tag
2686
web2py.gluon.html.H3.tag
2687
web2py.gluon.html.H4.tag
2688
web2py.gluon.html.H5.tag
2689
web2py.gluon.html.H6.tag
2690
web2py.gluon.html.HEAD.tag
2691
web2py.gluon.html.HR.tag
2692
web2py.gluon.html.HTML.tag
2693
web2py.gluon.html.I.tag
2694
web2py.gluon.html.IFRAME.tag
2695
web2py.gluon.html.IMG.tag
2696
web2py.gluon.html.INPUT.tag
2697
web2py.gluon.html.LABEL.tag
2698
web2py.gluon.html.LEGEND.tag
2699
web2py.gluon.html.LI.tag
2700
web2py.gluon.html.LINK.tag
2701
web2py.gluon.html.MENU.tag
2702
web2py.gluon.html.META.tag
2703
web2py.gluon.html.OBJECT.tag
2704
web2py.gluon.html.OL.tag
2705
web2py.gluon.html.OPTGROUP.tag
2706
web2py.gluon.html.OPTION.tag
2707
web2py.gluon.html.P.tag
2708
web2py.gluon.html.PRE.tag
2709
web2py.gluon.html.SCRIPT.tag
2710
web2py.gluon.html.SELECT.tag
2711
web2py.gluon.html.SPAN.tag
2712
web2py.gluon.html.STYLE.tag
2713
web2py.gluon.html.TABLE.tag
2714
web2py.gluon.html.TBODY.tag
2715
web2py.gluon.html.TD.tag
2716
web2py.gluon.html.TEXTAREA.tag
2717
web2py.gluon.html.TFOOT.tag
2718
web2py.gluon.html.TH.tag
2719
web2py.gluon.html.THEAD.tag
2720
web2py.gluon.html.TITLE.tag
2721
web2py.gluon.html.TR.tag
2722
web2py.gluon.html.TT.tag
2723
web2py.gluon.html.UL.tag
2724
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-250', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'title'</tt> </tt>
2725
</div><a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"> </tt>
2726
<a name="L1151"></a><tt class="py-lineno">1151</tt> <tt class="py-line"> </tt>
2727
<a name="META"></a><div id="META-def"><a name="L1152"></a><tt class="py-lineno">1152</tt> <a class="py-toggle" href="#" id="META-toggle" onclick="return toggle('META');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.META-class.html">META</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2728
</div><div id="META-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="META-expanded"><a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"> </tt>
2729
<a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"> <tt id="link-251" class="py-name"><a title="web2py.gluon.html.A.tag
2730
web2py.gluon.html.B.tag
2731
web2py.gluon.html.BEAUTIFY.tag
2732
web2py.gluon.html.BODY.tag
2733
web2py.gluon.html.BR.tag
2734
web2py.gluon.html.BUTTON.tag
2735
web2py.gluon.html.CAT.tag
2736
web2py.gluon.html.CENTER.tag
2737
web2py.gluon.html.COL.tag
2738
web2py.gluon.html.COLGROUP.tag
2739
web2py.gluon.html.DIV.tag
2740
web2py.gluon.html.EM.tag
2741
web2py.gluon.html.EMBED.tag
2742
web2py.gluon.html.FIELDSET.tag
2743
web2py.gluon.html.FORM.tag
2744
web2py.gluon.html.H1.tag
2745
web2py.gluon.html.H2.tag
2746
web2py.gluon.html.H3.tag
2747
web2py.gluon.html.H4.tag
2748
web2py.gluon.html.H5.tag
2749
web2py.gluon.html.H6.tag
2750
web2py.gluon.html.HEAD.tag
2751
web2py.gluon.html.HR.tag
2752
web2py.gluon.html.HTML.tag
2753
web2py.gluon.html.I.tag
2754
web2py.gluon.html.IFRAME.tag
2755
web2py.gluon.html.IMG.tag
2756
web2py.gluon.html.INPUT.tag
2757
web2py.gluon.html.LABEL.tag
2758
web2py.gluon.html.LEGEND.tag
2759
web2py.gluon.html.LI.tag
2760
web2py.gluon.html.LINK.tag
2761
web2py.gluon.html.MENU.tag
2762
web2py.gluon.html.META.tag
2763
web2py.gluon.html.OBJECT.tag
2764
web2py.gluon.html.OL.tag
2765
web2py.gluon.html.OPTGROUP.tag
2766
web2py.gluon.html.OPTION.tag
2767
web2py.gluon.html.P.tag
2768
web2py.gluon.html.PRE.tag
2769
web2py.gluon.html.SCRIPT.tag
2770
web2py.gluon.html.SELECT.tag
2771
web2py.gluon.html.SPAN.tag
2772
web2py.gluon.html.STYLE.tag
2773
web2py.gluon.html.TABLE.tag
2774
web2py.gluon.html.TBODY.tag
2775
web2py.gluon.html.TD.tag
2776
web2py.gluon.html.TEXTAREA.tag
2777
web2py.gluon.html.TFOOT.tag
2778
web2py.gluon.html.TH.tag
2779
web2py.gluon.html.THEAD.tag
2780
web2py.gluon.html.TITLE.tag
2781
web2py.gluon.html.TR.tag
2782
web2py.gluon.html.TT.tag
2783
web2py.gluon.html.UL.tag
2784
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-251', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'meta/'</tt> </tt>
2785
</div><a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"> </tt>
2786
<a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"> </tt>
2787
<a name="LINK"></a><div id="LINK-def"><a name="L1157"></a><tt class="py-lineno">1157</tt> <a class="py-toggle" href="#" id="LINK-toggle" onclick="return toggle('LINK');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.LINK-class.html">LINK</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2788
</div><div id="LINK-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LINK-expanded"><a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"> </tt>
2789
<a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"> <tt id="link-252" class="py-name"><a title="web2py.gluon.html.A.tag
2790
web2py.gluon.html.B.tag
2791
web2py.gluon.html.BEAUTIFY.tag
2792
web2py.gluon.html.BODY.tag
2793
web2py.gluon.html.BR.tag
2794
web2py.gluon.html.BUTTON.tag
2795
web2py.gluon.html.CAT.tag
2796
web2py.gluon.html.CENTER.tag
2797
web2py.gluon.html.COL.tag
2798
web2py.gluon.html.COLGROUP.tag
2799
web2py.gluon.html.DIV.tag
2800
web2py.gluon.html.EM.tag
2801
web2py.gluon.html.EMBED.tag
2802
web2py.gluon.html.FIELDSET.tag
2803
web2py.gluon.html.FORM.tag
2804
web2py.gluon.html.H1.tag
2805
web2py.gluon.html.H2.tag
2806
web2py.gluon.html.H3.tag
2807
web2py.gluon.html.H4.tag
2808
web2py.gluon.html.H5.tag
2809
web2py.gluon.html.H6.tag
2810
web2py.gluon.html.HEAD.tag
2811
web2py.gluon.html.HR.tag
2812
web2py.gluon.html.HTML.tag
2813
web2py.gluon.html.I.tag
2814
web2py.gluon.html.IFRAME.tag
2815
web2py.gluon.html.IMG.tag
2816
web2py.gluon.html.INPUT.tag
2817
web2py.gluon.html.LABEL.tag
2818
web2py.gluon.html.LEGEND.tag
2819
web2py.gluon.html.LI.tag
2820
web2py.gluon.html.LINK.tag
2821
web2py.gluon.html.MENU.tag
2822
web2py.gluon.html.META.tag
2823
web2py.gluon.html.OBJECT.tag
2824
web2py.gluon.html.OL.tag
2825
web2py.gluon.html.OPTGROUP.tag
2826
web2py.gluon.html.OPTION.tag
2827
web2py.gluon.html.P.tag
2828
web2py.gluon.html.PRE.tag
2829
web2py.gluon.html.SCRIPT.tag
2830
web2py.gluon.html.SELECT.tag
2831
web2py.gluon.html.SPAN.tag
2832
web2py.gluon.html.STYLE.tag
2833
web2py.gluon.html.TABLE.tag
2834
web2py.gluon.html.TBODY.tag
2835
web2py.gluon.html.TD.tag
2836
web2py.gluon.html.TEXTAREA.tag
2837
web2py.gluon.html.TFOOT.tag
2838
web2py.gluon.html.TH.tag
2839
web2py.gluon.html.THEAD.tag
2840
web2py.gluon.html.TITLE.tag
2841
web2py.gluon.html.TR.tag
2842
web2py.gluon.html.TT.tag
2843
web2py.gluon.html.UL.tag
2844
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-252', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'link/'</tt> </tt>
2845
</div><a name="L1160"></a><tt class="py-lineno">1160</tt> <tt class="py-line"> </tt>
2846
<a name="L1161"></a><tt class="py-lineno">1161</tt> <tt class="py-line"> </tt>
2847
<a name="SCRIPT"></a><div id="SCRIPT-def"><a name="L1162"></a><tt class="py-lineno">1162</tt> <a class="py-toggle" href="#" id="SCRIPT-toggle" onclick="return toggle('SCRIPT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.SCRIPT-class.html">SCRIPT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2848
</div><div id="SCRIPT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SCRIPT-expanded"><a name="L1163"></a><tt class="py-lineno">1163</tt> <tt class="py-line"> </tt>
2849
<a name="L1164"></a><tt class="py-lineno">1164</tt> <tt class="py-line"> <tt id="link-253" class="py-name"><a title="web2py.gluon.html.A.tag
2850
web2py.gluon.html.B.tag
2851
web2py.gluon.html.BEAUTIFY.tag
2852
web2py.gluon.html.BODY.tag
2853
web2py.gluon.html.BR.tag
2854
web2py.gluon.html.BUTTON.tag
2855
web2py.gluon.html.CAT.tag
2856
web2py.gluon.html.CENTER.tag
2857
web2py.gluon.html.COL.tag
2858
web2py.gluon.html.COLGROUP.tag
2859
web2py.gluon.html.DIV.tag
2860
web2py.gluon.html.EM.tag
2861
web2py.gluon.html.EMBED.tag
2862
web2py.gluon.html.FIELDSET.tag
2863
web2py.gluon.html.FORM.tag
2864
web2py.gluon.html.H1.tag
2865
web2py.gluon.html.H2.tag
2866
web2py.gluon.html.H3.tag
2867
web2py.gluon.html.H4.tag
2868
web2py.gluon.html.H5.tag
2869
web2py.gluon.html.H6.tag
2870
web2py.gluon.html.HEAD.tag
2871
web2py.gluon.html.HR.tag
2872
web2py.gluon.html.HTML.tag
2873
web2py.gluon.html.I.tag
2874
web2py.gluon.html.IFRAME.tag
2875
web2py.gluon.html.IMG.tag
2876
web2py.gluon.html.INPUT.tag
2877
web2py.gluon.html.LABEL.tag
2878
web2py.gluon.html.LEGEND.tag
2879
web2py.gluon.html.LI.tag
2880
web2py.gluon.html.LINK.tag
2881
web2py.gluon.html.MENU.tag
2882
web2py.gluon.html.META.tag
2883
web2py.gluon.html.OBJECT.tag
2884
web2py.gluon.html.OL.tag
2885
web2py.gluon.html.OPTGROUP.tag
2886
web2py.gluon.html.OPTION.tag
2887
web2py.gluon.html.P.tag
2888
web2py.gluon.html.PRE.tag
2889
web2py.gluon.html.SCRIPT.tag
2890
web2py.gluon.html.SELECT.tag
2891
web2py.gluon.html.SPAN.tag
2892
web2py.gluon.html.STYLE.tag
2893
web2py.gluon.html.TABLE.tag
2894
web2py.gluon.html.TBODY.tag
2895
web2py.gluon.html.TD.tag
2896
web2py.gluon.html.TEXTAREA.tag
2897
web2py.gluon.html.TFOOT.tag
2898
web2py.gluon.html.TH.tag
2899
web2py.gluon.html.THEAD.tag
2900
web2py.gluon.html.TITLE.tag
2901
web2py.gluon.html.TR.tag
2902
web2py.gluon.html.TT.tag
2903
web2py.gluon.html.UL.tag
2904
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-253', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'script'</tt> </tt>
2905
<a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"> </tt>
2906
<a name="SCRIPT.xml"></a><div id="SCRIPT.xml-def"><a name="L1166"></a><tt class="py-lineno">1166</tt> <a class="py-toggle" href="#" id="SCRIPT.xml-toggle" onclick="return toggle('SCRIPT.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.SCRIPT-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2907
</div><div id="SCRIPT.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SCRIPT.xml-expanded"><a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-254', '_xml', 'link-119');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
2908
<a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"> <tt class="py-comment"># no escaping of subcomponents</tt> </tt>
2909
<a name="L1169"></a><tt class="py-lineno">1169</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">co</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="web2py.gluon.html.join" class="py-name" href="#" onclick="return doclink('link-255', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> </tt>
2910
<a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
2911
<a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">co</tt><tt class="py-op">:</tt> </tt>
2912
<a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"> <tt class="py-comment"># <script [attributes]><!--//--><![CDATA[//><!--</tt> </tt>
2913
<a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># script body</tt> </tt>
2914
<a name="L1174"></a><tt class="py-lineno">1174</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># //--><!]]></script></tt> </tt>
2915
<a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># return '<%s%s><!--//--><![CDATA[//><!--\n%s\n//--><!]]></%s>' % (self.tag, fa, co, self.tag)</tt> </tt>
2916
<a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">'<%s%s><!--\n%s\n//--></%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="web2py.gluon.html.A.tag
2917
web2py.gluon.html.B.tag
2918
web2py.gluon.html.BEAUTIFY.tag
2919
web2py.gluon.html.BODY.tag
2920
web2py.gluon.html.BR.tag
2921
web2py.gluon.html.BUTTON.tag
2922
web2py.gluon.html.CAT.tag
2923
web2py.gluon.html.CENTER.tag
2924
web2py.gluon.html.COL.tag
2925
web2py.gluon.html.COLGROUP.tag
2926
web2py.gluon.html.DIV.tag
2927
web2py.gluon.html.EM.tag
2928
web2py.gluon.html.EMBED.tag
2929
web2py.gluon.html.FIELDSET.tag
2930
web2py.gluon.html.FORM.tag
2931
web2py.gluon.html.H1.tag
2932
web2py.gluon.html.H2.tag
2933
web2py.gluon.html.H3.tag
2934
web2py.gluon.html.H4.tag
2935
web2py.gluon.html.H5.tag
2936
web2py.gluon.html.H6.tag
2937
web2py.gluon.html.HEAD.tag
2938
web2py.gluon.html.HR.tag
2939
web2py.gluon.html.HTML.tag
2940
web2py.gluon.html.I.tag
2941
web2py.gluon.html.IFRAME.tag
2942
web2py.gluon.html.IMG.tag
2943
web2py.gluon.html.INPUT.tag
2944
web2py.gluon.html.LABEL.tag
2945
web2py.gluon.html.LEGEND.tag
2946
web2py.gluon.html.LI.tag
2947
web2py.gluon.html.LINK.tag
2948
web2py.gluon.html.MENU.tag
2949
web2py.gluon.html.META.tag
2950
web2py.gluon.html.OBJECT.tag
2951
web2py.gluon.html.OL.tag
2952
web2py.gluon.html.OPTGROUP.tag
2953
web2py.gluon.html.OPTION.tag
2954
web2py.gluon.html.P.tag
2955
web2py.gluon.html.PRE.tag
2956
web2py.gluon.html.SCRIPT.tag
2957
web2py.gluon.html.SELECT.tag
2958
web2py.gluon.html.SPAN.tag
2959
web2py.gluon.html.STYLE.tag
2960
web2py.gluon.html.TABLE.tag
2961
web2py.gluon.html.TBODY.tag
2962
web2py.gluon.html.TD.tag
2963
web2py.gluon.html.TEXTAREA.tag
2964
web2py.gluon.html.TFOOT.tag
2965
web2py.gluon.html.TH.tag
2966
web2py.gluon.html.THEAD.tag
2967
web2py.gluon.html.TITLE.tag
2968
web2py.gluon.html.TR.tag
2969
web2py.gluon.html.TT.tag
2970
web2py.gluon.html.UL.tag
2971
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-256', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="web2py.gluon.html.A.tag
2972
web2py.gluon.html.B.tag
2973
web2py.gluon.html.BEAUTIFY.tag
2974
web2py.gluon.html.BODY.tag
2975
web2py.gluon.html.BR.tag
2976
web2py.gluon.html.BUTTON.tag
2977
web2py.gluon.html.CAT.tag
2978
web2py.gluon.html.CENTER.tag
2979
web2py.gluon.html.COL.tag
2980
web2py.gluon.html.COLGROUP.tag
2981
web2py.gluon.html.DIV.tag
2982
web2py.gluon.html.EM.tag
2983
web2py.gluon.html.EMBED.tag
2984
web2py.gluon.html.FIELDSET.tag
2985
web2py.gluon.html.FORM.tag
2986
web2py.gluon.html.H1.tag
2987
web2py.gluon.html.H2.tag
2988
web2py.gluon.html.H3.tag
2989
web2py.gluon.html.H4.tag
2990
web2py.gluon.html.H5.tag
2991
web2py.gluon.html.H6.tag
2992
web2py.gluon.html.HEAD.tag
2993
web2py.gluon.html.HR.tag
2994
web2py.gluon.html.HTML.tag
2995
web2py.gluon.html.I.tag
2996
web2py.gluon.html.IFRAME.tag
2997
web2py.gluon.html.IMG.tag
2998
web2py.gluon.html.INPUT.tag
2999
web2py.gluon.html.LABEL.tag
3000
web2py.gluon.html.LEGEND.tag
3001
web2py.gluon.html.LI.tag
3002
web2py.gluon.html.LINK.tag
3003
web2py.gluon.html.MENU.tag
3004
web2py.gluon.html.META.tag
3005
web2py.gluon.html.OBJECT.tag
3006
web2py.gluon.html.OL.tag
3007
web2py.gluon.html.OPTGROUP.tag
3008
web2py.gluon.html.OPTION.tag
3009
web2py.gluon.html.P.tag
3010
web2py.gluon.html.PRE.tag
3011
web2py.gluon.html.SCRIPT.tag
3012
web2py.gluon.html.SELECT.tag
3013
web2py.gluon.html.SPAN.tag
3014
web2py.gluon.html.STYLE.tag
3015
web2py.gluon.html.TABLE.tag
3016
web2py.gluon.html.TBODY.tag
3017
web2py.gluon.html.TD.tag
3018
web2py.gluon.html.TEXTAREA.tag
3019
web2py.gluon.html.TFOOT.tag
3020
web2py.gluon.html.TH.tag
3021
web2py.gluon.html.THEAD.tag
3022
web2py.gluon.html.TITLE.tag
3023
web2py.gluon.html.TR.tag
3024
web2py.gluon.html.TT.tag
3025
web2py.gluon.html.UL.tag
3026
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-257', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
3027
<a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
3028
<a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-258" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
3029
web2py.gluon.dal.NoSQLAdapter.DIV
3030
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-258', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="web2py.gluon.dal.Rows.xml
3031
web2py.gluon.html.A.xml
3032
web2py.gluon.html.CODE.xml
3033
web2py.gluon.html.DIV.xml
3034
web2py.gluon.html.FORM.xml
3035
web2py.gluon.html.HTML.xml
3036
web2py.gluon.html.INPUT.xml
3037
web2py.gluon.html.MARKMIN.xml
3038
web2py.gluon.html.MENU.xml
3039
web2py.gluon.html.P.xml
3040
web2py.gluon.html.SCRIPT.xml
3041
web2py.gluon.html.STYLE.xml
3042
web2py.gluon.html.XHTML.xml
3043
web2py.gluon.html.XML.xml
3044
web2py.gluon.html.XmlComponent.xml
3045
web2py.gluon.languages.lazyT.xml
3046
web2py.gluon.serializers.xml
3047
web2py.gluon.tools.Recaptcha.xml
3048
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-259', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
3049
</div></div><a name="L1179"></a><tt class="py-lineno">1179</tt> <tt class="py-line"> </tt>
3050
<a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"> </tt>
3051
<a name="STYLE"></a><div id="STYLE-def"><a name="L1181"></a><tt class="py-lineno">1181</tt> <a class="py-toggle" href="#" id="STYLE-toggle" onclick="return toggle('STYLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.STYLE-class.html">STYLE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3052
</div><div id="STYLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="STYLE-expanded"><a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"> </tt>
3053
<a name="L1183"></a><tt class="py-lineno">1183</tt> <tt class="py-line"> <tt id="link-260" class="py-name"><a title="web2py.gluon.html.A.tag
3054
web2py.gluon.html.B.tag
3055
web2py.gluon.html.BEAUTIFY.tag
3056
web2py.gluon.html.BODY.tag
3057
web2py.gluon.html.BR.tag
3058
web2py.gluon.html.BUTTON.tag
3059
web2py.gluon.html.CAT.tag
3060
web2py.gluon.html.CENTER.tag
3061
web2py.gluon.html.COL.tag
3062
web2py.gluon.html.COLGROUP.tag
3063
web2py.gluon.html.DIV.tag
3064
web2py.gluon.html.EM.tag
3065
web2py.gluon.html.EMBED.tag
3066
web2py.gluon.html.FIELDSET.tag
3067
web2py.gluon.html.FORM.tag
3068
web2py.gluon.html.H1.tag
3069
web2py.gluon.html.H2.tag
3070
web2py.gluon.html.H3.tag
3071
web2py.gluon.html.H4.tag
3072
web2py.gluon.html.H5.tag
3073
web2py.gluon.html.H6.tag
3074
web2py.gluon.html.HEAD.tag
3075
web2py.gluon.html.HR.tag
3076
web2py.gluon.html.HTML.tag
3077
web2py.gluon.html.I.tag
3078
web2py.gluon.html.IFRAME.tag
3079
web2py.gluon.html.IMG.tag
3080
web2py.gluon.html.INPUT.tag
3081
web2py.gluon.html.LABEL.tag
3082
web2py.gluon.html.LEGEND.tag
3083
web2py.gluon.html.LI.tag
3084
web2py.gluon.html.LINK.tag
3085
web2py.gluon.html.MENU.tag
3086
web2py.gluon.html.META.tag
3087
web2py.gluon.html.OBJECT.tag
3088
web2py.gluon.html.OL.tag
3089
web2py.gluon.html.OPTGROUP.tag
3090
web2py.gluon.html.OPTION.tag
3091
web2py.gluon.html.P.tag
3092
web2py.gluon.html.PRE.tag
3093
web2py.gluon.html.SCRIPT.tag
3094
web2py.gluon.html.SELECT.tag
3095
web2py.gluon.html.SPAN.tag
3096
web2py.gluon.html.STYLE.tag
3097
web2py.gluon.html.TABLE.tag
3098
web2py.gluon.html.TBODY.tag
3099
web2py.gluon.html.TD.tag
3100
web2py.gluon.html.TEXTAREA.tag
3101
web2py.gluon.html.TFOOT.tag
3102
web2py.gluon.html.TH.tag
3103
web2py.gluon.html.THEAD.tag
3104
web2py.gluon.html.TITLE.tag
3105
web2py.gluon.html.TR.tag
3106
web2py.gluon.html.TT.tag
3107
web2py.gluon.html.UL.tag
3108
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-260', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'style'</tt> </tt>
3109
<a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"> </tt>
3110
<a name="STYLE.xml"></a><div id="STYLE.xml-def"><a name="L1185"></a><tt class="py-lineno">1185</tt> <a class="py-toggle" href="#" id="STYLE.xml-toggle" onclick="return toggle('STYLE.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.STYLE-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3111
</div><div id="STYLE.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="STYLE.xml-expanded"><a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-261', '_xml', 'link-119');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
3112
<a name="L1187"></a><tt class="py-lineno">1187</tt> <tt class="py-line"> <tt class="py-comment"># no escaping of subcomponents</tt> </tt>
3113
<a name="L1188"></a><tt class="py-lineno">1188</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">co</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="web2py.gluon.html.join" class="py-name" href="#" onclick="return doclink('link-262', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> </tt>
3114
<a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
3115
<a name="L1190"></a><tt class="py-lineno">1190</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">co</tt><tt class="py-op">:</tt> </tt>
3116
<a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"> <tt class="py-comment"># <style [attributes]><!--/*--><![CDATA[/*><!--*/</tt> </tt>
3117
<a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># style body</tt> </tt>
3118
<a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># /*]]>*/--></style></tt> </tt>
3119
<a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">'<%s%s><!--/*--><![CDATA[/*><!--*/\n%s\n/*]]>*/--></%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="web2py.gluon.html.A.tag
3120
web2py.gluon.html.B.tag
3121
web2py.gluon.html.BEAUTIFY.tag
3122
web2py.gluon.html.BODY.tag
3123
web2py.gluon.html.BR.tag
3124
web2py.gluon.html.BUTTON.tag
3125
web2py.gluon.html.CAT.tag
3126
web2py.gluon.html.CENTER.tag
3127
web2py.gluon.html.COL.tag
3128
web2py.gluon.html.COLGROUP.tag
3129
web2py.gluon.html.DIV.tag
3130
web2py.gluon.html.EM.tag
3131
web2py.gluon.html.EMBED.tag
3132
web2py.gluon.html.FIELDSET.tag
3133
web2py.gluon.html.FORM.tag
3134
web2py.gluon.html.H1.tag
3135
web2py.gluon.html.H2.tag
3136
web2py.gluon.html.H3.tag
3137
web2py.gluon.html.H4.tag
3138
web2py.gluon.html.H5.tag
3139
web2py.gluon.html.H6.tag
3140
web2py.gluon.html.HEAD.tag
3141
web2py.gluon.html.HR.tag
3142
web2py.gluon.html.HTML.tag
3143
web2py.gluon.html.I.tag
3144
web2py.gluon.html.IFRAME.tag
3145
web2py.gluon.html.IMG.tag
3146
web2py.gluon.html.INPUT.tag
3147
web2py.gluon.html.LABEL.tag
3148
web2py.gluon.html.LEGEND.tag
3149
web2py.gluon.html.LI.tag
3150
web2py.gluon.html.LINK.tag
3151
web2py.gluon.html.MENU.tag
3152
web2py.gluon.html.META.tag
3153
web2py.gluon.html.OBJECT.tag
3154
web2py.gluon.html.OL.tag
3155
web2py.gluon.html.OPTGROUP.tag
3156
web2py.gluon.html.OPTION.tag
3157
web2py.gluon.html.P.tag
3158
web2py.gluon.html.PRE.tag
3159
web2py.gluon.html.SCRIPT.tag
3160
web2py.gluon.html.SELECT.tag
3161
web2py.gluon.html.SPAN.tag
3162
web2py.gluon.html.STYLE.tag
3163
web2py.gluon.html.TABLE.tag
3164
web2py.gluon.html.TBODY.tag
3165
web2py.gluon.html.TD.tag
3166
web2py.gluon.html.TEXTAREA.tag
3167
web2py.gluon.html.TFOOT.tag
3168
web2py.gluon.html.TH.tag
3169
web2py.gluon.html.THEAD.tag
3170
web2py.gluon.html.TITLE.tag
3171
web2py.gluon.html.TR.tag
3172
web2py.gluon.html.TT.tag
3173
web2py.gluon.html.UL.tag
3174
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-263', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="web2py.gluon.html.A.tag
3175
web2py.gluon.html.B.tag
3176
web2py.gluon.html.BEAUTIFY.tag
3177
web2py.gluon.html.BODY.tag
3178
web2py.gluon.html.BR.tag
3179
web2py.gluon.html.BUTTON.tag
3180
web2py.gluon.html.CAT.tag
3181
web2py.gluon.html.CENTER.tag
3182
web2py.gluon.html.COL.tag
3183
web2py.gluon.html.COLGROUP.tag
3184
web2py.gluon.html.DIV.tag
3185
web2py.gluon.html.EM.tag
3186
web2py.gluon.html.EMBED.tag
3187
web2py.gluon.html.FIELDSET.tag
3188
web2py.gluon.html.FORM.tag
3189
web2py.gluon.html.H1.tag
3190
web2py.gluon.html.H2.tag
3191
web2py.gluon.html.H3.tag
3192
web2py.gluon.html.H4.tag
3193
web2py.gluon.html.H5.tag
3194
web2py.gluon.html.H6.tag
3195
web2py.gluon.html.HEAD.tag
3196
web2py.gluon.html.HR.tag
3197
web2py.gluon.html.HTML.tag
3198
web2py.gluon.html.I.tag
3199
web2py.gluon.html.IFRAME.tag
3200
web2py.gluon.html.IMG.tag
3201
web2py.gluon.html.INPUT.tag
3202
web2py.gluon.html.LABEL.tag
3203
web2py.gluon.html.LEGEND.tag
3204
web2py.gluon.html.LI.tag
3205
web2py.gluon.html.LINK.tag
3206
web2py.gluon.html.MENU.tag
3207
web2py.gluon.html.META.tag
3208
web2py.gluon.html.OBJECT.tag
3209
web2py.gluon.html.OL.tag
3210
web2py.gluon.html.OPTGROUP.tag
3211
web2py.gluon.html.OPTION.tag
3212
web2py.gluon.html.P.tag
3213
web2py.gluon.html.PRE.tag
3214
web2py.gluon.html.SCRIPT.tag
3215
web2py.gluon.html.SELECT.tag
3216
web2py.gluon.html.SPAN.tag
3217
web2py.gluon.html.STYLE.tag
3218
web2py.gluon.html.TABLE.tag
3219
web2py.gluon.html.TBODY.tag
3220
web2py.gluon.html.TD.tag
3221
web2py.gluon.html.TEXTAREA.tag
3222
web2py.gluon.html.TFOOT.tag
3223
web2py.gluon.html.TH.tag
3224
web2py.gluon.html.THEAD.tag
3225
web2py.gluon.html.TITLE.tag
3226
web2py.gluon.html.TR.tag
3227
web2py.gluon.html.TT.tag
3228
web2py.gluon.html.UL.tag
3229
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-264', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
3230
<a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
3231
<a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-265" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
3232
web2py.gluon.dal.NoSQLAdapter.DIV
3233
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-265', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="web2py.gluon.dal.Rows.xml
3234
web2py.gluon.html.A.xml
3235
web2py.gluon.html.CODE.xml
3236
web2py.gluon.html.DIV.xml
3237
web2py.gluon.html.FORM.xml
3238
web2py.gluon.html.HTML.xml
3239
web2py.gluon.html.INPUT.xml
3240
web2py.gluon.html.MARKMIN.xml
3241
web2py.gluon.html.MENU.xml
3242
web2py.gluon.html.P.xml
3243
web2py.gluon.html.SCRIPT.xml
3244
web2py.gluon.html.STYLE.xml
3245
web2py.gluon.html.XHTML.xml
3246
web2py.gluon.html.XML.xml
3247
web2py.gluon.html.XmlComponent.xml
3248
web2py.gluon.languages.lazyT.xml
3249
web2py.gluon.serializers.xml
3250
web2py.gluon.tools.Recaptcha.xml
3251
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-266', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
3252
</div></div><a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"> </tt>
3253
<a name="L1198"></a><tt class="py-lineno">1198</tt> <tt class="py-line"> </tt>
3254
<a name="IMG"></a><div id="IMG-def"><a name="L1199"></a><tt class="py-lineno">1199</tt> <a class="py-toggle" href="#" id="IMG-toggle" onclick="return toggle('IMG');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.IMG-class.html">IMG</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3255
</div><div id="IMG-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="IMG-expanded"><a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"> </tt>
3256
<a name="L1201"></a><tt class="py-lineno">1201</tt> <tt class="py-line"> <tt id="link-267" class="py-name"><a title="web2py.gluon.html.A.tag
3257
web2py.gluon.html.B.tag
3258
web2py.gluon.html.BEAUTIFY.tag
3259
web2py.gluon.html.BODY.tag
3260
web2py.gluon.html.BR.tag
3261
web2py.gluon.html.BUTTON.tag
3262
web2py.gluon.html.CAT.tag
3263
web2py.gluon.html.CENTER.tag
3264
web2py.gluon.html.COL.tag
3265
web2py.gluon.html.COLGROUP.tag
3266
web2py.gluon.html.DIV.tag
3267
web2py.gluon.html.EM.tag
3268
web2py.gluon.html.EMBED.tag
3269
web2py.gluon.html.FIELDSET.tag
3270
web2py.gluon.html.FORM.tag
3271
web2py.gluon.html.H1.tag
3272
web2py.gluon.html.H2.tag
3273
web2py.gluon.html.H3.tag
3274
web2py.gluon.html.H4.tag
3275
web2py.gluon.html.H5.tag
3276
web2py.gluon.html.H6.tag
3277
web2py.gluon.html.HEAD.tag
3278
web2py.gluon.html.HR.tag
3279
web2py.gluon.html.HTML.tag
3280
web2py.gluon.html.I.tag
3281
web2py.gluon.html.IFRAME.tag
3282
web2py.gluon.html.IMG.tag
3283
web2py.gluon.html.INPUT.tag
3284
web2py.gluon.html.LABEL.tag
3285
web2py.gluon.html.LEGEND.tag
3286
web2py.gluon.html.LI.tag
3287
web2py.gluon.html.LINK.tag
3288
web2py.gluon.html.MENU.tag
3289
web2py.gluon.html.META.tag
3290
web2py.gluon.html.OBJECT.tag
3291
web2py.gluon.html.OL.tag
3292
web2py.gluon.html.OPTGROUP.tag
3293
web2py.gluon.html.OPTION.tag
3294
web2py.gluon.html.P.tag
3295
web2py.gluon.html.PRE.tag
3296
web2py.gluon.html.SCRIPT.tag
3297
web2py.gluon.html.SELECT.tag
3298
web2py.gluon.html.SPAN.tag
3299
web2py.gluon.html.STYLE.tag
3300
web2py.gluon.html.TABLE.tag
3301
web2py.gluon.html.TBODY.tag
3302
web2py.gluon.html.TD.tag
3303
web2py.gluon.html.TEXTAREA.tag
3304
web2py.gluon.html.TFOOT.tag
3305
web2py.gluon.html.TH.tag
3306
web2py.gluon.html.THEAD.tag
3307
web2py.gluon.html.TITLE.tag
3308
web2py.gluon.html.TR.tag
3309
web2py.gluon.html.TT.tag
3310
web2py.gluon.html.UL.tag
3311
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-267', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'img/'</tt> </tt>
3312
</div><a name="L1202"></a><tt class="py-lineno">1202</tt> <tt class="py-line"> </tt>
3313
<a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"> </tt>
3314
<a name="SPAN"></a><div id="SPAN-def"><a name="L1204"></a><tt class="py-lineno">1204</tt> <a class="py-toggle" href="#" id="SPAN-toggle" onclick="return toggle('SPAN');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.SPAN-class.html">SPAN</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3315
</div><div id="SPAN-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SPAN-expanded"><a name="L1205"></a><tt class="py-lineno">1205</tt> <tt class="py-line"> </tt>
3316
<a name="L1206"></a><tt class="py-lineno">1206</tt> <tt class="py-line"> <tt id="link-268" class="py-name"><a title="web2py.gluon.html.A.tag
3317
web2py.gluon.html.B.tag
3318
web2py.gluon.html.BEAUTIFY.tag
3319
web2py.gluon.html.BODY.tag
3320
web2py.gluon.html.BR.tag
3321
web2py.gluon.html.BUTTON.tag
3322
web2py.gluon.html.CAT.tag
3323
web2py.gluon.html.CENTER.tag
3324
web2py.gluon.html.COL.tag
3325
web2py.gluon.html.COLGROUP.tag
3326
web2py.gluon.html.DIV.tag
3327
web2py.gluon.html.EM.tag
3328
web2py.gluon.html.EMBED.tag
3329
web2py.gluon.html.FIELDSET.tag
3330
web2py.gluon.html.FORM.tag
3331
web2py.gluon.html.H1.tag
3332
web2py.gluon.html.H2.tag
3333
web2py.gluon.html.H3.tag
3334
web2py.gluon.html.H4.tag
3335
web2py.gluon.html.H5.tag
3336
web2py.gluon.html.H6.tag
3337
web2py.gluon.html.HEAD.tag
3338
web2py.gluon.html.HR.tag
3339
web2py.gluon.html.HTML.tag
3340
web2py.gluon.html.I.tag
3341
web2py.gluon.html.IFRAME.tag
3342
web2py.gluon.html.IMG.tag
3343
web2py.gluon.html.INPUT.tag
3344
web2py.gluon.html.LABEL.tag
3345
web2py.gluon.html.LEGEND.tag
3346
web2py.gluon.html.LI.tag
3347
web2py.gluon.html.LINK.tag
3348
web2py.gluon.html.MENU.tag
3349
web2py.gluon.html.META.tag
3350
web2py.gluon.html.OBJECT.tag
3351
web2py.gluon.html.OL.tag
3352
web2py.gluon.html.OPTGROUP.tag
3353
web2py.gluon.html.OPTION.tag
3354
web2py.gluon.html.P.tag
3355
web2py.gluon.html.PRE.tag
3356
web2py.gluon.html.SCRIPT.tag
3357
web2py.gluon.html.SELECT.tag
3358
web2py.gluon.html.SPAN.tag
3359
web2py.gluon.html.STYLE.tag
3360
web2py.gluon.html.TABLE.tag
3361
web2py.gluon.html.TBODY.tag
3362
web2py.gluon.html.TD.tag
3363
web2py.gluon.html.TEXTAREA.tag
3364
web2py.gluon.html.TFOOT.tag
3365
web2py.gluon.html.TH.tag
3366
web2py.gluon.html.THEAD.tag
3367
web2py.gluon.html.TITLE.tag
3368
web2py.gluon.html.TR.tag
3369
web2py.gluon.html.TT.tag
3370
web2py.gluon.html.UL.tag
3371
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-268', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'span'</tt> </tt>
3372
</div><a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"> </tt>
3373
<a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"> </tt>
3374
<a name="BODY"></a><div id="BODY-def"><a name="L1209"></a><tt class="py-lineno">1209</tt> <a class="py-toggle" href="#" id="BODY-toggle" onclick="return toggle('BODY');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.BODY-class.html">BODY</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3375
</div><div id="BODY-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BODY-expanded"><a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"> </tt>
3376
<a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"> <tt id="link-269" class="py-name"><a title="web2py.gluon.html.A.tag
3377
web2py.gluon.html.B.tag
3378
web2py.gluon.html.BEAUTIFY.tag
3379
web2py.gluon.html.BODY.tag
3380
web2py.gluon.html.BR.tag
3381
web2py.gluon.html.BUTTON.tag
3382
web2py.gluon.html.CAT.tag
3383
web2py.gluon.html.CENTER.tag
3384
web2py.gluon.html.COL.tag
3385
web2py.gluon.html.COLGROUP.tag
3386
web2py.gluon.html.DIV.tag
3387
web2py.gluon.html.EM.tag
3388
web2py.gluon.html.EMBED.tag
3389
web2py.gluon.html.FIELDSET.tag
3390
web2py.gluon.html.FORM.tag
3391
web2py.gluon.html.H1.tag
3392
web2py.gluon.html.H2.tag
3393
web2py.gluon.html.H3.tag
3394
web2py.gluon.html.H4.tag
3395
web2py.gluon.html.H5.tag
3396
web2py.gluon.html.H6.tag
3397
web2py.gluon.html.HEAD.tag
3398
web2py.gluon.html.HR.tag
3399
web2py.gluon.html.HTML.tag
3400
web2py.gluon.html.I.tag
3401
web2py.gluon.html.IFRAME.tag
3402
web2py.gluon.html.IMG.tag
3403
web2py.gluon.html.INPUT.tag
3404
web2py.gluon.html.LABEL.tag
3405
web2py.gluon.html.LEGEND.tag
3406
web2py.gluon.html.LI.tag
3407
web2py.gluon.html.LINK.tag
3408
web2py.gluon.html.MENU.tag
3409
web2py.gluon.html.META.tag
3410
web2py.gluon.html.OBJECT.tag
3411
web2py.gluon.html.OL.tag
3412
web2py.gluon.html.OPTGROUP.tag
3413
web2py.gluon.html.OPTION.tag
3414
web2py.gluon.html.P.tag
3415
web2py.gluon.html.PRE.tag
3416
web2py.gluon.html.SCRIPT.tag
3417
web2py.gluon.html.SELECT.tag
3418
web2py.gluon.html.SPAN.tag
3419
web2py.gluon.html.STYLE.tag
3420
web2py.gluon.html.TABLE.tag
3421
web2py.gluon.html.TBODY.tag
3422
web2py.gluon.html.TD.tag
3423
web2py.gluon.html.TEXTAREA.tag
3424
web2py.gluon.html.TFOOT.tag
3425
web2py.gluon.html.TH.tag
3426
web2py.gluon.html.THEAD.tag
3427
web2py.gluon.html.TITLE.tag
3428
web2py.gluon.html.TR.tag
3429
web2py.gluon.html.TT.tag
3430
web2py.gluon.html.UL.tag
3431
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-269', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'body'</tt> </tt>
3432
</div><a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"> </tt>
3433
<a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"> </tt>
3434
<a name="H1"></a><div id="H1-def"><a name="L1214"></a><tt class="py-lineno">1214</tt> <a class="py-toggle" href="#" id="H1-toggle" onclick="return toggle('H1');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H1-class.html">H1</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3435
</div><div id="H1-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H1-expanded"><a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"> </tt>
3436
<a name="L1216"></a><tt class="py-lineno">1216</tt> <tt class="py-line"> <tt id="link-270" class="py-name"><a title="web2py.gluon.html.A.tag
3437
web2py.gluon.html.B.tag
3438
web2py.gluon.html.BEAUTIFY.tag
3439
web2py.gluon.html.BODY.tag
3440
web2py.gluon.html.BR.tag
3441
web2py.gluon.html.BUTTON.tag
3442
web2py.gluon.html.CAT.tag
3443
web2py.gluon.html.CENTER.tag
3444
web2py.gluon.html.COL.tag
3445
web2py.gluon.html.COLGROUP.tag
3446
web2py.gluon.html.DIV.tag
3447
web2py.gluon.html.EM.tag
3448
web2py.gluon.html.EMBED.tag
3449
web2py.gluon.html.FIELDSET.tag
3450
web2py.gluon.html.FORM.tag
3451
web2py.gluon.html.H1.tag
3452
web2py.gluon.html.H2.tag
3453
web2py.gluon.html.H3.tag
3454
web2py.gluon.html.H4.tag
3455
web2py.gluon.html.H5.tag
3456
web2py.gluon.html.H6.tag
3457
web2py.gluon.html.HEAD.tag
3458
web2py.gluon.html.HR.tag
3459
web2py.gluon.html.HTML.tag
3460
web2py.gluon.html.I.tag
3461
web2py.gluon.html.IFRAME.tag
3462
web2py.gluon.html.IMG.tag
3463
web2py.gluon.html.INPUT.tag
3464
web2py.gluon.html.LABEL.tag
3465
web2py.gluon.html.LEGEND.tag
3466
web2py.gluon.html.LI.tag
3467
web2py.gluon.html.LINK.tag
3468
web2py.gluon.html.MENU.tag
3469
web2py.gluon.html.META.tag
3470
web2py.gluon.html.OBJECT.tag
3471
web2py.gluon.html.OL.tag
3472
web2py.gluon.html.OPTGROUP.tag
3473
web2py.gluon.html.OPTION.tag
3474
web2py.gluon.html.P.tag
3475
web2py.gluon.html.PRE.tag
3476
web2py.gluon.html.SCRIPT.tag
3477
web2py.gluon.html.SELECT.tag
3478
web2py.gluon.html.SPAN.tag
3479
web2py.gluon.html.STYLE.tag
3480
web2py.gluon.html.TABLE.tag
3481
web2py.gluon.html.TBODY.tag
3482
web2py.gluon.html.TD.tag
3483
web2py.gluon.html.TEXTAREA.tag
3484
web2py.gluon.html.TFOOT.tag
3485
web2py.gluon.html.TH.tag
3486
web2py.gluon.html.THEAD.tag
3487
web2py.gluon.html.TITLE.tag
3488
web2py.gluon.html.TR.tag
3489
web2py.gluon.html.TT.tag
3490
web2py.gluon.html.UL.tag
3491
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-270', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h1'</tt> </tt>
3492
</div><a name="L1217"></a><tt class="py-lineno">1217</tt> <tt class="py-line"> </tt>
3493
<a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"> </tt>
3494
<a name="H2"></a><div id="H2-def"><a name="L1219"></a><tt class="py-lineno">1219</tt> <a class="py-toggle" href="#" id="H2-toggle" onclick="return toggle('H2');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H2-class.html">H2</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3495
</div><div id="H2-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H2-expanded"><a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"> </tt>
3496
<a name="L1221"></a><tt class="py-lineno">1221</tt> <tt class="py-line"> <tt id="link-271" class="py-name"><a title="web2py.gluon.html.A.tag
3497
web2py.gluon.html.B.tag
3498
web2py.gluon.html.BEAUTIFY.tag
3499
web2py.gluon.html.BODY.tag
3500
web2py.gluon.html.BR.tag
3501
web2py.gluon.html.BUTTON.tag
3502
web2py.gluon.html.CAT.tag
3503
web2py.gluon.html.CENTER.tag
3504
web2py.gluon.html.COL.tag
3505
web2py.gluon.html.COLGROUP.tag
3506
web2py.gluon.html.DIV.tag
3507
web2py.gluon.html.EM.tag
3508
web2py.gluon.html.EMBED.tag
3509
web2py.gluon.html.FIELDSET.tag
3510
web2py.gluon.html.FORM.tag
3511
web2py.gluon.html.H1.tag
3512
web2py.gluon.html.H2.tag
3513
web2py.gluon.html.H3.tag
3514
web2py.gluon.html.H4.tag
3515
web2py.gluon.html.H5.tag
3516
web2py.gluon.html.H6.tag
3517
web2py.gluon.html.HEAD.tag
3518
web2py.gluon.html.HR.tag
3519
web2py.gluon.html.HTML.tag
3520
web2py.gluon.html.I.tag
3521
web2py.gluon.html.IFRAME.tag
3522
web2py.gluon.html.IMG.tag
3523
web2py.gluon.html.INPUT.tag
3524
web2py.gluon.html.LABEL.tag
3525
web2py.gluon.html.LEGEND.tag
3526
web2py.gluon.html.LI.tag
3527
web2py.gluon.html.LINK.tag
3528
web2py.gluon.html.MENU.tag
3529
web2py.gluon.html.META.tag
3530
web2py.gluon.html.OBJECT.tag
3531
web2py.gluon.html.OL.tag
3532
web2py.gluon.html.OPTGROUP.tag
3533
web2py.gluon.html.OPTION.tag
3534
web2py.gluon.html.P.tag
3535
web2py.gluon.html.PRE.tag
3536
web2py.gluon.html.SCRIPT.tag
3537
web2py.gluon.html.SELECT.tag
3538
web2py.gluon.html.SPAN.tag
3539
web2py.gluon.html.STYLE.tag
3540
web2py.gluon.html.TABLE.tag
3541
web2py.gluon.html.TBODY.tag
3542
web2py.gluon.html.TD.tag
3543
web2py.gluon.html.TEXTAREA.tag
3544
web2py.gluon.html.TFOOT.tag
3545
web2py.gluon.html.TH.tag
3546
web2py.gluon.html.THEAD.tag
3547
web2py.gluon.html.TITLE.tag
3548
web2py.gluon.html.TR.tag
3549
web2py.gluon.html.TT.tag
3550
web2py.gluon.html.UL.tag
3551
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-271', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h2'</tt> </tt>
3552
</div><a name="L1222"></a><tt class="py-lineno">1222</tt> <tt class="py-line"> </tt>
3553
<a name="L1223"></a><tt class="py-lineno">1223</tt> <tt class="py-line"> </tt>
3554
<a name="H3"></a><div id="H3-def"><a name="L1224"></a><tt class="py-lineno">1224</tt> <a class="py-toggle" href="#" id="H3-toggle" onclick="return toggle('H3');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H3-class.html">H3</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3555
</div><div id="H3-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H3-expanded"><a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"> </tt>
3556
<a name="L1226"></a><tt class="py-lineno">1226</tt> <tt class="py-line"> <tt id="link-272" class="py-name"><a title="web2py.gluon.html.A.tag
3557
web2py.gluon.html.B.tag
3558
web2py.gluon.html.BEAUTIFY.tag
3559
web2py.gluon.html.BODY.tag
3560
web2py.gluon.html.BR.tag
3561
web2py.gluon.html.BUTTON.tag
3562
web2py.gluon.html.CAT.tag
3563
web2py.gluon.html.CENTER.tag
3564
web2py.gluon.html.COL.tag
3565
web2py.gluon.html.COLGROUP.tag
3566
web2py.gluon.html.DIV.tag
3567
web2py.gluon.html.EM.tag
3568
web2py.gluon.html.EMBED.tag
3569
web2py.gluon.html.FIELDSET.tag
3570
web2py.gluon.html.FORM.tag
3571
web2py.gluon.html.H1.tag
3572
web2py.gluon.html.H2.tag
3573
web2py.gluon.html.H3.tag
3574
web2py.gluon.html.H4.tag
3575
web2py.gluon.html.H5.tag
3576
web2py.gluon.html.H6.tag
3577
web2py.gluon.html.HEAD.tag
3578
web2py.gluon.html.HR.tag
3579
web2py.gluon.html.HTML.tag
3580
web2py.gluon.html.I.tag
3581
web2py.gluon.html.IFRAME.tag
3582
web2py.gluon.html.IMG.tag
3583
web2py.gluon.html.INPUT.tag
3584
web2py.gluon.html.LABEL.tag
3585
web2py.gluon.html.LEGEND.tag
3586
web2py.gluon.html.LI.tag
3587
web2py.gluon.html.LINK.tag
3588
web2py.gluon.html.MENU.tag
3589
web2py.gluon.html.META.tag
3590
web2py.gluon.html.OBJECT.tag
3591
web2py.gluon.html.OL.tag
3592
web2py.gluon.html.OPTGROUP.tag
3593
web2py.gluon.html.OPTION.tag
3594
web2py.gluon.html.P.tag
3595
web2py.gluon.html.PRE.tag
3596
web2py.gluon.html.SCRIPT.tag
3597
web2py.gluon.html.SELECT.tag
3598
web2py.gluon.html.SPAN.tag
3599
web2py.gluon.html.STYLE.tag
3600
web2py.gluon.html.TABLE.tag
3601
web2py.gluon.html.TBODY.tag
3602
web2py.gluon.html.TD.tag
3603
web2py.gluon.html.TEXTAREA.tag
3604
web2py.gluon.html.TFOOT.tag
3605
web2py.gluon.html.TH.tag
3606
web2py.gluon.html.THEAD.tag
3607
web2py.gluon.html.TITLE.tag
3608
web2py.gluon.html.TR.tag
3609
web2py.gluon.html.TT.tag
3610
web2py.gluon.html.UL.tag
3611
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-272', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h3'</tt> </tt>
3612
</div><a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"> </tt>
3613
<a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"> </tt>
3614
<a name="H4"></a><div id="H4-def"><a name="L1229"></a><tt class="py-lineno">1229</tt> <a class="py-toggle" href="#" id="H4-toggle" onclick="return toggle('H4');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H4-class.html">H4</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3615
</div><div id="H4-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H4-expanded"><a name="L1230"></a><tt class="py-lineno">1230</tt> <tt class="py-line"> </tt>
3616
<a name="L1231"></a><tt class="py-lineno">1231</tt> <tt class="py-line"> <tt id="link-273" class="py-name"><a title="web2py.gluon.html.A.tag
3617
web2py.gluon.html.B.tag
3618
web2py.gluon.html.BEAUTIFY.tag
3619
web2py.gluon.html.BODY.tag
3620
web2py.gluon.html.BR.tag
3621
web2py.gluon.html.BUTTON.tag
3622
web2py.gluon.html.CAT.tag
3623
web2py.gluon.html.CENTER.tag
3624
web2py.gluon.html.COL.tag
3625
web2py.gluon.html.COLGROUP.tag
3626
web2py.gluon.html.DIV.tag
3627
web2py.gluon.html.EM.tag
3628
web2py.gluon.html.EMBED.tag
3629
web2py.gluon.html.FIELDSET.tag
3630
web2py.gluon.html.FORM.tag
3631
web2py.gluon.html.H1.tag
3632
web2py.gluon.html.H2.tag
3633
web2py.gluon.html.H3.tag
3634
web2py.gluon.html.H4.tag
3635
web2py.gluon.html.H5.tag
3636
web2py.gluon.html.H6.tag
3637
web2py.gluon.html.HEAD.tag
3638
web2py.gluon.html.HR.tag
3639
web2py.gluon.html.HTML.tag
3640
web2py.gluon.html.I.tag
3641
web2py.gluon.html.IFRAME.tag
3642
web2py.gluon.html.IMG.tag
3643
web2py.gluon.html.INPUT.tag
3644
web2py.gluon.html.LABEL.tag
3645
web2py.gluon.html.LEGEND.tag
3646
web2py.gluon.html.LI.tag
3647
web2py.gluon.html.LINK.tag
3648
web2py.gluon.html.MENU.tag
3649
web2py.gluon.html.META.tag
3650
web2py.gluon.html.OBJECT.tag
3651
web2py.gluon.html.OL.tag
3652
web2py.gluon.html.OPTGROUP.tag
3653
web2py.gluon.html.OPTION.tag
3654
web2py.gluon.html.P.tag
3655
web2py.gluon.html.PRE.tag
3656
web2py.gluon.html.SCRIPT.tag
3657
web2py.gluon.html.SELECT.tag
3658
web2py.gluon.html.SPAN.tag
3659
web2py.gluon.html.STYLE.tag
3660
web2py.gluon.html.TABLE.tag
3661
web2py.gluon.html.TBODY.tag
3662
web2py.gluon.html.TD.tag
3663
web2py.gluon.html.TEXTAREA.tag
3664
web2py.gluon.html.TFOOT.tag
3665
web2py.gluon.html.TH.tag
3666
web2py.gluon.html.THEAD.tag
3667
web2py.gluon.html.TITLE.tag
3668
web2py.gluon.html.TR.tag
3669
web2py.gluon.html.TT.tag
3670
web2py.gluon.html.UL.tag
3671
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-273', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h4'</tt> </tt>
3672
</div><a name="L1232"></a><tt class="py-lineno">1232</tt> <tt class="py-line"> </tt>
3673
<a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"> </tt>
3674
<a name="H5"></a><div id="H5-def"><a name="L1234"></a><tt class="py-lineno">1234</tt> <a class="py-toggle" href="#" id="H5-toggle" onclick="return toggle('H5');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H5-class.html">H5</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3675
</div><div id="H5-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H5-expanded"><a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"> </tt>
3676
<a name="L1236"></a><tt class="py-lineno">1236</tt> <tt class="py-line"> <tt id="link-274" class="py-name"><a title="web2py.gluon.html.A.tag
3677
web2py.gluon.html.B.tag
3678
web2py.gluon.html.BEAUTIFY.tag
3679
web2py.gluon.html.BODY.tag
3680
web2py.gluon.html.BR.tag
3681
web2py.gluon.html.BUTTON.tag
3682
web2py.gluon.html.CAT.tag
3683
web2py.gluon.html.CENTER.tag
3684
web2py.gluon.html.COL.tag
3685
web2py.gluon.html.COLGROUP.tag
3686
web2py.gluon.html.DIV.tag
3687
web2py.gluon.html.EM.tag
3688
web2py.gluon.html.EMBED.tag
3689
web2py.gluon.html.FIELDSET.tag
3690
web2py.gluon.html.FORM.tag
3691
web2py.gluon.html.H1.tag
3692
web2py.gluon.html.H2.tag
3693
web2py.gluon.html.H3.tag
3694
web2py.gluon.html.H4.tag
3695
web2py.gluon.html.H5.tag
3696
web2py.gluon.html.H6.tag
3697
web2py.gluon.html.HEAD.tag
3698
web2py.gluon.html.HR.tag
3699
web2py.gluon.html.HTML.tag
3700
web2py.gluon.html.I.tag
3701
web2py.gluon.html.IFRAME.tag
3702
web2py.gluon.html.IMG.tag
3703
web2py.gluon.html.INPUT.tag
3704
web2py.gluon.html.LABEL.tag
3705
web2py.gluon.html.LEGEND.tag
3706
web2py.gluon.html.LI.tag
3707
web2py.gluon.html.LINK.tag
3708
web2py.gluon.html.MENU.tag
3709
web2py.gluon.html.META.tag
3710
web2py.gluon.html.OBJECT.tag
3711
web2py.gluon.html.OL.tag
3712
web2py.gluon.html.OPTGROUP.tag
3713
web2py.gluon.html.OPTION.tag
3714
web2py.gluon.html.P.tag
3715
web2py.gluon.html.PRE.tag
3716
web2py.gluon.html.SCRIPT.tag
3717
web2py.gluon.html.SELECT.tag
3718
web2py.gluon.html.SPAN.tag
3719
web2py.gluon.html.STYLE.tag
3720
web2py.gluon.html.TABLE.tag
3721
web2py.gluon.html.TBODY.tag
3722
web2py.gluon.html.TD.tag
3723
web2py.gluon.html.TEXTAREA.tag
3724
web2py.gluon.html.TFOOT.tag
3725
web2py.gluon.html.TH.tag
3726
web2py.gluon.html.THEAD.tag
3727
web2py.gluon.html.TITLE.tag
3728
web2py.gluon.html.TR.tag
3729
web2py.gluon.html.TT.tag
3730
web2py.gluon.html.UL.tag
3731
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-274', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h5'</tt> </tt>
3732
</div><a name="L1237"></a><tt class="py-lineno">1237</tt> <tt class="py-line"> </tt>
3733
<a name="L1238"></a><tt class="py-lineno">1238</tt> <tt class="py-line"> </tt>
3734
<a name="H6"></a><div id="H6-def"><a name="L1239"></a><tt class="py-lineno">1239</tt> <a class="py-toggle" href="#" id="H6-toggle" onclick="return toggle('H6');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H6-class.html">H6</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3735
</div><div id="H6-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H6-expanded"><a name="L1240"></a><tt class="py-lineno">1240</tt> <tt class="py-line"> </tt>
3736
<a name="L1241"></a><tt class="py-lineno">1241</tt> <tt class="py-line"> <tt id="link-275" class="py-name"><a title="web2py.gluon.html.A.tag
3737
web2py.gluon.html.B.tag
3738
web2py.gluon.html.BEAUTIFY.tag
3739
web2py.gluon.html.BODY.tag
3740
web2py.gluon.html.BR.tag
3741
web2py.gluon.html.BUTTON.tag
3742
web2py.gluon.html.CAT.tag
3743
web2py.gluon.html.CENTER.tag
3744
web2py.gluon.html.COL.tag
3745
web2py.gluon.html.COLGROUP.tag
3746
web2py.gluon.html.DIV.tag
3747
web2py.gluon.html.EM.tag
3748
web2py.gluon.html.EMBED.tag
3749
web2py.gluon.html.FIELDSET.tag
3750
web2py.gluon.html.FORM.tag
3751
web2py.gluon.html.H1.tag
3752
web2py.gluon.html.H2.tag
3753
web2py.gluon.html.H3.tag
3754
web2py.gluon.html.H4.tag
3755
web2py.gluon.html.H5.tag
3756
web2py.gluon.html.H6.tag
3757
web2py.gluon.html.HEAD.tag
3758
web2py.gluon.html.HR.tag
3759
web2py.gluon.html.HTML.tag
3760
web2py.gluon.html.I.tag
3761
web2py.gluon.html.IFRAME.tag
3762
web2py.gluon.html.IMG.tag
3763
web2py.gluon.html.INPUT.tag
3764
web2py.gluon.html.LABEL.tag
3765
web2py.gluon.html.LEGEND.tag
3766
web2py.gluon.html.LI.tag
3767
web2py.gluon.html.LINK.tag
3768
web2py.gluon.html.MENU.tag
3769
web2py.gluon.html.META.tag
3770
web2py.gluon.html.OBJECT.tag
3771
web2py.gluon.html.OL.tag
3772
web2py.gluon.html.OPTGROUP.tag
3773
web2py.gluon.html.OPTION.tag
3774
web2py.gluon.html.P.tag
3775
web2py.gluon.html.PRE.tag
3776
web2py.gluon.html.SCRIPT.tag
3777
web2py.gluon.html.SELECT.tag
3778
web2py.gluon.html.SPAN.tag
3779
web2py.gluon.html.STYLE.tag
3780
web2py.gluon.html.TABLE.tag
3781
web2py.gluon.html.TBODY.tag
3782
web2py.gluon.html.TD.tag
3783
web2py.gluon.html.TEXTAREA.tag
3784
web2py.gluon.html.TFOOT.tag
3785
web2py.gluon.html.TH.tag
3786
web2py.gluon.html.THEAD.tag
3787
web2py.gluon.html.TITLE.tag
3788
web2py.gluon.html.TR.tag
3789
web2py.gluon.html.TT.tag
3790
web2py.gluon.html.UL.tag
3791
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-275', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h6'</tt> </tt>
3792
</div><a name="L1242"></a><tt class="py-lineno">1242</tt> <tt class="py-line"> </tt>
3793
<a name="L1243"></a><tt class="py-lineno">1243</tt> <tt class="py-line"> </tt>
3794
<a name="P"></a><div id="P-def"><a name="L1244"></a><tt class="py-lineno">1244</tt> <a class="py-toggle" href="#" id="P-toggle" onclick="return toggle('P');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.P-class.html">P</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3795
</div><div id="P-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="P-expanded"><a name="L1245"></a><tt class="py-lineno">1245</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
3796
<a name="L1246"></a><tt class="py-lineno">1246</tt> <tt class="py-line"><tt class="py-docstring"> Will replace ``\\n`` by ``<br />`` if the `cr2br` attribute is provided.</tt> </tt>
3797
<a name="L1247"></a><tt class="py-lineno">1247</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
3798
<a name="L1248"></a><tt class="py-lineno">1248</tt> <tt class="py-line"><tt class="py-docstring"> see also :class:`DIV`</tt> </tt>
3799
<a name="L1249"></a><tt class="py-lineno">1249</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
2497
<a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_xmlns'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="web2py.gluon.html.XHTML.xmlns" class="py-name" href="#" onclick="return doclink('link-231', 'xmlns', 'link-227');">xmlns</a></tt> </tt>
2498
<a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'lang'</tt><tt class="py-op">]</tt> </tt>
2499
<a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">lang</tt><tt class="py-op">:</tt> </tt>
2500
<a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"> <tt class="py-name">lang</tt> <tt class="py-op">=</tt> <tt class="py-string">'en'</tt> </tt>
2501
<a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_lang'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lang</tt> </tt>
2502
<a name="L1143"></a><tt class="py-lineno">1143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_xml:lang'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lang</tt> </tt>
2503
<a name="L1144"></a><tt class="py-lineno">1144</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'doctype'</tt><tt class="py-op">]</tt> </tt>
2504
<a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">doctype</tt><tt class="py-op">:</tt> </tt>
2505
<a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'strict'</tt><tt class="py-op">:</tt> </tt>
2506
<a name="L1147"></a><tt class="py-lineno">1147</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="web2py.gluon.html.HTML.strict
2507
web2py.gluon.html.XHTML.strict" class="py-name" href="#" onclick="return doclink('link-232', 'strict', 'link-211');">strict</a></tt> </tt>
2508
<a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'transitional'</tt><tt class="py-op">:</tt> </tt>
2509
<a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2510
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-233', 'transitional', 'link-212');">transitional</a></tt> </tt>
2511
<a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">doctype</tt> <tt class="py-op">==</tt> <tt class="py-string">'frameset'</tt><tt class="py-op">:</tt> </tt>
2512
<a name="L1151"></a><tt class="py-lineno">1151</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="web2py.gluon.html.HTML.frameset
2513
web2py.gluon.html.XHTML.frameset" class="py-name" href="#" onclick="return doclink('link-234', 'frameset', 'link-213');">frameset</a></tt> </tt>
2514
<a name="L1152"></a><tt class="py-lineno">1152</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2515
<a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">doctype</tt> </tt>
2516
<a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
2517
<a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"> <tt class="py-name">doctype</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="web2py.gluon.html.HTML.transitional
2518
web2py.gluon.html.XHTML.transitional" class="py-name" href="#" onclick="return doclink('link-235', 'transitional', 'link-212');">transitional</a></tt> </tt>
2519
<a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-236', '_xml', 'link-118');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
2520
<a name="L1157"></a><tt class="py-lineno">1157</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'%s<%s%s>%s</%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">doctype</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="web2py.gluon.html.A.tag
2521
web2py.gluon.html.B.tag
2522
web2py.gluon.html.BEAUTIFY.tag
2523
web2py.gluon.html.BODY.tag
2524
web2py.gluon.html.BR.tag
2525
web2py.gluon.html.BUTTON.tag
2526
web2py.gluon.html.CAT.tag
2527
web2py.gluon.html.CENTER.tag
2528
web2py.gluon.html.COL.tag
2529
web2py.gluon.html.COLGROUP.tag
2530
web2py.gluon.html.DIV.tag
2531
web2py.gluon.html.EM.tag
2532
web2py.gluon.html.EMBED.tag
2533
web2py.gluon.html.FIELDSET.tag
2534
web2py.gluon.html.FORM.tag
2535
web2py.gluon.html.H1.tag
2536
web2py.gluon.html.H2.tag
2537
web2py.gluon.html.H3.tag
2538
web2py.gluon.html.H4.tag
2539
web2py.gluon.html.H5.tag
2540
web2py.gluon.html.H6.tag
2541
web2py.gluon.html.HEAD.tag
2542
web2py.gluon.html.HR.tag
2543
web2py.gluon.html.HTML.tag
2544
web2py.gluon.html.I.tag
2545
web2py.gluon.html.IFRAME.tag
2546
web2py.gluon.html.IMG.tag
2547
web2py.gluon.html.INPUT.tag
2548
web2py.gluon.html.LABEL.tag
2549
web2py.gluon.html.LEGEND.tag
2550
web2py.gluon.html.LI.tag
2551
web2py.gluon.html.LINK.tag
2552
web2py.gluon.html.MENU.tag
2553
web2py.gluon.html.META.tag
2554
web2py.gluon.html.OBJECT.tag
2555
web2py.gluon.html.OL.tag
2556
web2py.gluon.html.OPTGROUP.tag
2557
web2py.gluon.html.OPTION.tag
2558
web2py.gluon.html.P.tag
2559
web2py.gluon.html.PRE.tag
2560
web2py.gluon.html.SCRIPT.tag
2561
web2py.gluon.html.SELECT.tag
2562
web2py.gluon.html.SPAN.tag
2563
web2py.gluon.html.STYLE.tag
2564
web2py.gluon.html.TABLE.tag
2565
web2py.gluon.html.TBODY.tag
2566
web2py.gluon.html.TD.tag
2567
web2py.gluon.html.TEXTAREA.tag
2568
web2py.gluon.html.TFOOT.tag
2569
web2py.gluon.html.TH.tag
2570
web2py.gluon.html.THEAD.tag
2571
web2py.gluon.html.TITLE.tag
2572
web2py.gluon.html.TR.tag
2573
web2py.gluon.html.TT.tag
2574
web2py.gluon.html.UL.tag
2575
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-237', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="web2py.gluon.html.A.tag
2576
web2py.gluon.html.B.tag
2577
web2py.gluon.html.BEAUTIFY.tag
2578
web2py.gluon.html.BODY.tag
2579
web2py.gluon.html.BR.tag
2580
web2py.gluon.html.BUTTON.tag
2581
web2py.gluon.html.CAT.tag
2582
web2py.gluon.html.CENTER.tag
2583
web2py.gluon.html.COL.tag
2584
web2py.gluon.html.COLGROUP.tag
2585
web2py.gluon.html.DIV.tag
2586
web2py.gluon.html.EM.tag
2587
web2py.gluon.html.EMBED.tag
2588
web2py.gluon.html.FIELDSET.tag
2589
web2py.gluon.html.FORM.tag
2590
web2py.gluon.html.H1.tag
2591
web2py.gluon.html.H2.tag
2592
web2py.gluon.html.H3.tag
2593
web2py.gluon.html.H4.tag
2594
web2py.gluon.html.H5.tag
2595
web2py.gluon.html.H6.tag
2596
web2py.gluon.html.HEAD.tag
2597
web2py.gluon.html.HR.tag
2598
web2py.gluon.html.HTML.tag
2599
web2py.gluon.html.I.tag
2600
web2py.gluon.html.IFRAME.tag
2601
web2py.gluon.html.IMG.tag
2602
web2py.gluon.html.INPUT.tag
2603
web2py.gluon.html.LABEL.tag
2604
web2py.gluon.html.LEGEND.tag
2605
web2py.gluon.html.LI.tag
2606
web2py.gluon.html.LINK.tag
2607
web2py.gluon.html.MENU.tag
2608
web2py.gluon.html.META.tag
2609
web2py.gluon.html.OBJECT.tag
2610
web2py.gluon.html.OL.tag
2611
web2py.gluon.html.OPTGROUP.tag
2612
web2py.gluon.html.OPTION.tag
2613
web2py.gluon.html.P.tag
2614
web2py.gluon.html.PRE.tag
2615
web2py.gluon.html.SCRIPT.tag
2616
web2py.gluon.html.SELECT.tag
2617
web2py.gluon.html.SPAN.tag
2618
web2py.gluon.html.STYLE.tag
2619
web2py.gluon.html.TABLE.tag
2620
web2py.gluon.html.TBODY.tag
2621
web2py.gluon.html.TD.tag
2622
web2py.gluon.html.TEXTAREA.tag
2623
web2py.gluon.html.TFOOT.tag
2624
web2py.gluon.html.TH.tag
2625
web2py.gluon.html.THEAD.tag
2626
web2py.gluon.html.TITLE.tag
2627
web2py.gluon.html.TR.tag
2628
web2py.gluon.html.TT.tag
2629
web2py.gluon.html.UL.tag
2630
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-238', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
2631
</div></div><a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"> </tt>
2632
<a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"> </tt>
2633
<a name="HEAD"></a><div id="HEAD-def"><a name="L1160"></a><tt class="py-lineno">1160</tt> <a class="py-toggle" href="#" id="HEAD-toggle" onclick="return toggle('HEAD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.HEAD-class.html">HEAD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2634
</div><div id="HEAD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HEAD-expanded"><a name="L1161"></a><tt class="py-lineno">1161</tt> <tt class="py-line"> </tt>
2635
<a name="L1162"></a><tt class="py-lineno">1162</tt> <tt class="py-line"> <tt id="link-239" class="py-name"><a title="web2py.gluon.html.A.tag
2636
web2py.gluon.html.B.tag
2637
web2py.gluon.html.BEAUTIFY.tag
2638
web2py.gluon.html.BODY.tag
2639
web2py.gluon.html.BR.tag
2640
web2py.gluon.html.BUTTON.tag
2641
web2py.gluon.html.CAT.tag
2642
web2py.gluon.html.CENTER.tag
2643
web2py.gluon.html.COL.tag
2644
web2py.gluon.html.COLGROUP.tag
2645
web2py.gluon.html.DIV.tag
2646
web2py.gluon.html.EM.tag
2647
web2py.gluon.html.EMBED.tag
2648
web2py.gluon.html.FIELDSET.tag
2649
web2py.gluon.html.FORM.tag
2650
web2py.gluon.html.H1.tag
2651
web2py.gluon.html.H2.tag
2652
web2py.gluon.html.H3.tag
2653
web2py.gluon.html.H4.tag
2654
web2py.gluon.html.H5.tag
2655
web2py.gluon.html.H6.tag
2656
web2py.gluon.html.HEAD.tag
2657
web2py.gluon.html.HR.tag
2658
web2py.gluon.html.HTML.tag
2659
web2py.gluon.html.I.tag
2660
web2py.gluon.html.IFRAME.tag
2661
web2py.gluon.html.IMG.tag
2662
web2py.gluon.html.INPUT.tag
2663
web2py.gluon.html.LABEL.tag
2664
web2py.gluon.html.LEGEND.tag
2665
web2py.gluon.html.LI.tag
2666
web2py.gluon.html.LINK.tag
2667
web2py.gluon.html.MENU.tag
2668
web2py.gluon.html.META.tag
2669
web2py.gluon.html.OBJECT.tag
2670
web2py.gluon.html.OL.tag
2671
web2py.gluon.html.OPTGROUP.tag
2672
web2py.gluon.html.OPTION.tag
2673
web2py.gluon.html.P.tag
2674
web2py.gluon.html.PRE.tag
2675
web2py.gluon.html.SCRIPT.tag
2676
web2py.gluon.html.SELECT.tag
2677
web2py.gluon.html.SPAN.tag
2678
web2py.gluon.html.STYLE.tag
2679
web2py.gluon.html.TABLE.tag
2680
web2py.gluon.html.TBODY.tag
2681
web2py.gluon.html.TD.tag
2682
web2py.gluon.html.TEXTAREA.tag
2683
web2py.gluon.html.TFOOT.tag
2684
web2py.gluon.html.TH.tag
2685
web2py.gluon.html.THEAD.tag
2686
web2py.gluon.html.TITLE.tag
2687
web2py.gluon.html.TR.tag
2688
web2py.gluon.html.TT.tag
2689
web2py.gluon.html.UL.tag
2690
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-239', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'head'</tt> </tt>
2691
</div><a name="L1163"></a><tt class="py-lineno">1163</tt> <tt class="py-line"> </tt>
2692
<a name="TITLE"></a><div id="TITLE-def"><a name="L1164"></a><tt class="py-lineno">1164</tt> <a class="py-toggle" href="#" id="TITLE-toggle" onclick="return toggle('TITLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TITLE-class.html">TITLE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2693
</div><div id="TITLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TITLE-expanded"><a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"> </tt>
2694
<a name="L1166"></a><tt class="py-lineno">1166</tt> <tt class="py-line"> <tt id="link-240" class="py-name"><a title="web2py.gluon.html.A.tag
2695
web2py.gluon.html.B.tag
2696
web2py.gluon.html.BEAUTIFY.tag
2697
web2py.gluon.html.BODY.tag
2698
web2py.gluon.html.BR.tag
2699
web2py.gluon.html.BUTTON.tag
2700
web2py.gluon.html.CAT.tag
2701
web2py.gluon.html.CENTER.tag
2702
web2py.gluon.html.COL.tag
2703
web2py.gluon.html.COLGROUP.tag
2704
web2py.gluon.html.DIV.tag
2705
web2py.gluon.html.EM.tag
2706
web2py.gluon.html.EMBED.tag
2707
web2py.gluon.html.FIELDSET.tag
2708
web2py.gluon.html.FORM.tag
2709
web2py.gluon.html.H1.tag
2710
web2py.gluon.html.H2.tag
2711
web2py.gluon.html.H3.tag
2712
web2py.gluon.html.H4.tag
2713
web2py.gluon.html.H5.tag
2714
web2py.gluon.html.H6.tag
2715
web2py.gluon.html.HEAD.tag
2716
web2py.gluon.html.HR.tag
2717
web2py.gluon.html.HTML.tag
2718
web2py.gluon.html.I.tag
2719
web2py.gluon.html.IFRAME.tag
2720
web2py.gluon.html.IMG.tag
2721
web2py.gluon.html.INPUT.tag
2722
web2py.gluon.html.LABEL.tag
2723
web2py.gluon.html.LEGEND.tag
2724
web2py.gluon.html.LI.tag
2725
web2py.gluon.html.LINK.tag
2726
web2py.gluon.html.MENU.tag
2727
web2py.gluon.html.META.tag
2728
web2py.gluon.html.OBJECT.tag
2729
web2py.gluon.html.OL.tag
2730
web2py.gluon.html.OPTGROUP.tag
2731
web2py.gluon.html.OPTION.tag
2732
web2py.gluon.html.P.tag
2733
web2py.gluon.html.PRE.tag
2734
web2py.gluon.html.SCRIPT.tag
2735
web2py.gluon.html.SELECT.tag
2736
web2py.gluon.html.SPAN.tag
2737
web2py.gluon.html.STYLE.tag
2738
web2py.gluon.html.TABLE.tag
2739
web2py.gluon.html.TBODY.tag
2740
web2py.gluon.html.TD.tag
2741
web2py.gluon.html.TEXTAREA.tag
2742
web2py.gluon.html.TFOOT.tag
2743
web2py.gluon.html.TH.tag
2744
web2py.gluon.html.THEAD.tag
2745
web2py.gluon.html.TITLE.tag
2746
web2py.gluon.html.TR.tag
2747
web2py.gluon.html.TT.tag
2748
web2py.gluon.html.UL.tag
2749
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-240', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'title'</tt> </tt>
2750
</div><a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"> </tt>
2751
<a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"> </tt>
2752
<a name="META"></a><div id="META-def"><a name="L1169"></a><tt class="py-lineno">1169</tt> <a class="py-toggle" href="#" id="META-toggle" onclick="return toggle('META');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.META-class.html">META</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2753
</div><div id="META-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="META-expanded"><a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"> </tt>
2754
<a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"> <tt id="link-241" class="py-name"><a title="web2py.gluon.html.A.tag
2755
web2py.gluon.html.B.tag
2756
web2py.gluon.html.BEAUTIFY.tag
2757
web2py.gluon.html.BODY.tag
2758
web2py.gluon.html.BR.tag
2759
web2py.gluon.html.BUTTON.tag
2760
web2py.gluon.html.CAT.tag
2761
web2py.gluon.html.CENTER.tag
2762
web2py.gluon.html.COL.tag
2763
web2py.gluon.html.COLGROUP.tag
2764
web2py.gluon.html.DIV.tag
2765
web2py.gluon.html.EM.tag
2766
web2py.gluon.html.EMBED.tag
2767
web2py.gluon.html.FIELDSET.tag
2768
web2py.gluon.html.FORM.tag
2769
web2py.gluon.html.H1.tag
2770
web2py.gluon.html.H2.tag
2771
web2py.gluon.html.H3.tag
2772
web2py.gluon.html.H4.tag
2773
web2py.gluon.html.H5.tag
2774
web2py.gluon.html.H6.tag
2775
web2py.gluon.html.HEAD.tag
2776
web2py.gluon.html.HR.tag
2777
web2py.gluon.html.HTML.tag
2778
web2py.gluon.html.I.tag
2779
web2py.gluon.html.IFRAME.tag
2780
web2py.gluon.html.IMG.tag
2781
web2py.gluon.html.INPUT.tag
2782
web2py.gluon.html.LABEL.tag
2783
web2py.gluon.html.LEGEND.tag
2784
web2py.gluon.html.LI.tag
2785
web2py.gluon.html.LINK.tag
2786
web2py.gluon.html.MENU.tag
2787
web2py.gluon.html.META.tag
2788
web2py.gluon.html.OBJECT.tag
2789
web2py.gluon.html.OL.tag
2790
web2py.gluon.html.OPTGROUP.tag
2791
web2py.gluon.html.OPTION.tag
2792
web2py.gluon.html.P.tag
2793
web2py.gluon.html.PRE.tag
2794
web2py.gluon.html.SCRIPT.tag
2795
web2py.gluon.html.SELECT.tag
2796
web2py.gluon.html.SPAN.tag
2797
web2py.gluon.html.STYLE.tag
2798
web2py.gluon.html.TABLE.tag
2799
web2py.gluon.html.TBODY.tag
2800
web2py.gluon.html.TD.tag
2801
web2py.gluon.html.TEXTAREA.tag
2802
web2py.gluon.html.TFOOT.tag
2803
web2py.gluon.html.TH.tag
2804
web2py.gluon.html.THEAD.tag
2805
web2py.gluon.html.TITLE.tag
2806
web2py.gluon.html.TR.tag
2807
web2py.gluon.html.TT.tag
2808
web2py.gluon.html.UL.tag
2809
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-241', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'meta/'</tt> </tt>
2810
</div><a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"> </tt>
2811
<a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"> </tt>
2812
<a name="LINK"></a><div id="LINK-def"><a name="L1174"></a><tt class="py-lineno">1174</tt> <a class="py-toggle" href="#" id="LINK-toggle" onclick="return toggle('LINK');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.LINK-class.html">LINK</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2813
</div><div id="LINK-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LINK-expanded"><a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"> </tt>
2814
<a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"> <tt id="link-242" class="py-name"><a title="web2py.gluon.html.A.tag
2815
web2py.gluon.html.B.tag
2816
web2py.gluon.html.BEAUTIFY.tag
2817
web2py.gluon.html.BODY.tag
2818
web2py.gluon.html.BR.tag
2819
web2py.gluon.html.BUTTON.tag
2820
web2py.gluon.html.CAT.tag
2821
web2py.gluon.html.CENTER.tag
2822
web2py.gluon.html.COL.tag
2823
web2py.gluon.html.COLGROUP.tag
2824
web2py.gluon.html.DIV.tag
2825
web2py.gluon.html.EM.tag
2826
web2py.gluon.html.EMBED.tag
2827
web2py.gluon.html.FIELDSET.tag
2828
web2py.gluon.html.FORM.tag
2829
web2py.gluon.html.H1.tag
2830
web2py.gluon.html.H2.tag
2831
web2py.gluon.html.H3.tag
2832
web2py.gluon.html.H4.tag
2833
web2py.gluon.html.H5.tag
2834
web2py.gluon.html.H6.tag
2835
web2py.gluon.html.HEAD.tag
2836
web2py.gluon.html.HR.tag
2837
web2py.gluon.html.HTML.tag
2838
web2py.gluon.html.I.tag
2839
web2py.gluon.html.IFRAME.tag
2840
web2py.gluon.html.IMG.tag
2841
web2py.gluon.html.INPUT.tag
2842
web2py.gluon.html.LABEL.tag
2843
web2py.gluon.html.LEGEND.tag
2844
web2py.gluon.html.LI.tag
2845
web2py.gluon.html.LINK.tag
2846
web2py.gluon.html.MENU.tag
2847
web2py.gluon.html.META.tag
2848
web2py.gluon.html.OBJECT.tag
2849
web2py.gluon.html.OL.tag
2850
web2py.gluon.html.OPTGROUP.tag
2851
web2py.gluon.html.OPTION.tag
2852
web2py.gluon.html.P.tag
2853
web2py.gluon.html.PRE.tag
2854
web2py.gluon.html.SCRIPT.tag
2855
web2py.gluon.html.SELECT.tag
2856
web2py.gluon.html.SPAN.tag
2857
web2py.gluon.html.STYLE.tag
2858
web2py.gluon.html.TABLE.tag
2859
web2py.gluon.html.TBODY.tag
2860
web2py.gluon.html.TD.tag
2861
web2py.gluon.html.TEXTAREA.tag
2862
web2py.gluon.html.TFOOT.tag
2863
web2py.gluon.html.TH.tag
2864
web2py.gluon.html.THEAD.tag
2865
web2py.gluon.html.TITLE.tag
2866
web2py.gluon.html.TR.tag
2867
web2py.gluon.html.TT.tag
2868
web2py.gluon.html.UL.tag
2869
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-242', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'link/'</tt> </tt>
2870
</div><a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"> </tt>
2871
<a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"> </tt>
2872
<a name="SCRIPT"></a><div id="SCRIPT-def"><a name="L1179"></a><tt class="py-lineno">1179</tt> <a class="py-toggle" href="#" id="SCRIPT-toggle" onclick="return toggle('SCRIPT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.SCRIPT-class.html">SCRIPT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2873
</div><div id="SCRIPT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SCRIPT-expanded"><a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"> </tt>
2874
<a name="L1181"></a><tt class="py-lineno">1181</tt> <tt class="py-line"> <tt id="link-243" class="py-name"><a title="web2py.gluon.html.A.tag
2875
web2py.gluon.html.B.tag
2876
web2py.gluon.html.BEAUTIFY.tag
2877
web2py.gluon.html.BODY.tag
2878
web2py.gluon.html.BR.tag
2879
web2py.gluon.html.BUTTON.tag
2880
web2py.gluon.html.CAT.tag
2881
web2py.gluon.html.CENTER.tag
2882
web2py.gluon.html.COL.tag
2883
web2py.gluon.html.COLGROUP.tag
2884
web2py.gluon.html.DIV.tag
2885
web2py.gluon.html.EM.tag
2886
web2py.gluon.html.EMBED.tag
2887
web2py.gluon.html.FIELDSET.tag
2888
web2py.gluon.html.FORM.tag
2889
web2py.gluon.html.H1.tag
2890
web2py.gluon.html.H2.tag
2891
web2py.gluon.html.H3.tag
2892
web2py.gluon.html.H4.tag
2893
web2py.gluon.html.H5.tag
2894
web2py.gluon.html.H6.tag
2895
web2py.gluon.html.HEAD.tag
2896
web2py.gluon.html.HR.tag
2897
web2py.gluon.html.HTML.tag
2898
web2py.gluon.html.I.tag
2899
web2py.gluon.html.IFRAME.tag
2900
web2py.gluon.html.IMG.tag
2901
web2py.gluon.html.INPUT.tag
2902
web2py.gluon.html.LABEL.tag
2903
web2py.gluon.html.LEGEND.tag
2904
web2py.gluon.html.LI.tag
2905
web2py.gluon.html.LINK.tag
2906
web2py.gluon.html.MENU.tag
2907
web2py.gluon.html.META.tag
2908
web2py.gluon.html.OBJECT.tag
2909
web2py.gluon.html.OL.tag
2910
web2py.gluon.html.OPTGROUP.tag
2911
web2py.gluon.html.OPTION.tag
2912
web2py.gluon.html.P.tag
2913
web2py.gluon.html.PRE.tag
2914
web2py.gluon.html.SCRIPT.tag
2915
web2py.gluon.html.SELECT.tag
2916
web2py.gluon.html.SPAN.tag
2917
web2py.gluon.html.STYLE.tag
2918
web2py.gluon.html.TABLE.tag
2919
web2py.gluon.html.TBODY.tag
2920
web2py.gluon.html.TD.tag
2921
web2py.gluon.html.TEXTAREA.tag
2922
web2py.gluon.html.TFOOT.tag
2923
web2py.gluon.html.TH.tag
2924
web2py.gluon.html.THEAD.tag
2925
web2py.gluon.html.TITLE.tag
2926
web2py.gluon.html.TR.tag
2927
web2py.gluon.html.TT.tag
2928
web2py.gluon.html.UL.tag
2929
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-243', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'script'</tt> </tt>
2930
<a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"> </tt>
2931
<a name="SCRIPT.xml"></a><div id="SCRIPT.xml-def"><a name="L1183"></a><tt class="py-lineno">1183</tt> <a class="py-toggle" href="#" id="SCRIPT.xml-toggle" onclick="return toggle('SCRIPT.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.SCRIPT-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
2932
</div><div id="SCRIPT.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SCRIPT.xml-expanded"><a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-244', '_xml', 'link-118');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
2933
<a name="L1185"></a><tt class="py-lineno">1185</tt> <tt class="py-line"> <tt class="py-comment"># no escaping of subcomponents</tt> </tt>
2934
<a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">co</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="web2py.gluon.html.join
2935
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-245', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> </tt>
2936
<a name="L1187"></a><tt class="py-lineno">1187</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
2937
<a name="L1188"></a><tt class="py-lineno">1188</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">co</tt><tt class="py-op">:</tt> </tt>
2938
<a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"> <tt class="py-comment"># <script [attributes]><!--//--><![CDATA[//><!--</tt> </tt>
2939
<a name="L1190"></a><tt class="py-lineno">1190</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># script body</tt> </tt>
2940
<a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># //--><!]]></script></tt> </tt>
2941
<a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># return '<%s%s><!--//--><![CDATA[//><!--\n%s\n//--><!]]></%s>' % (self.tag, fa, co, self.tag)</tt> </tt>
2942
<a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">'<%s%s><!--\n%s\n//--></%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="web2py.gluon.html.A.tag
2943
web2py.gluon.html.B.tag
2944
web2py.gluon.html.BEAUTIFY.tag
2945
web2py.gluon.html.BODY.tag
2946
web2py.gluon.html.BR.tag
2947
web2py.gluon.html.BUTTON.tag
2948
web2py.gluon.html.CAT.tag
2949
web2py.gluon.html.CENTER.tag
2950
web2py.gluon.html.COL.tag
2951
web2py.gluon.html.COLGROUP.tag
2952
web2py.gluon.html.DIV.tag
2953
web2py.gluon.html.EM.tag
2954
web2py.gluon.html.EMBED.tag
2955
web2py.gluon.html.FIELDSET.tag
2956
web2py.gluon.html.FORM.tag
2957
web2py.gluon.html.H1.tag
2958
web2py.gluon.html.H2.tag
2959
web2py.gluon.html.H3.tag
2960
web2py.gluon.html.H4.tag
2961
web2py.gluon.html.H5.tag
2962
web2py.gluon.html.H6.tag
2963
web2py.gluon.html.HEAD.tag
2964
web2py.gluon.html.HR.tag
2965
web2py.gluon.html.HTML.tag
2966
web2py.gluon.html.I.tag
2967
web2py.gluon.html.IFRAME.tag
2968
web2py.gluon.html.IMG.tag
2969
web2py.gluon.html.INPUT.tag
2970
web2py.gluon.html.LABEL.tag
2971
web2py.gluon.html.LEGEND.tag
2972
web2py.gluon.html.LI.tag
2973
web2py.gluon.html.LINK.tag
2974
web2py.gluon.html.MENU.tag
2975
web2py.gluon.html.META.tag
2976
web2py.gluon.html.OBJECT.tag
2977
web2py.gluon.html.OL.tag
2978
web2py.gluon.html.OPTGROUP.tag
2979
web2py.gluon.html.OPTION.tag
2980
web2py.gluon.html.P.tag
2981
web2py.gluon.html.PRE.tag
2982
web2py.gluon.html.SCRIPT.tag
2983
web2py.gluon.html.SELECT.tag
2984
web2py.gluon.html.SPAN.tag
2985
web2py.gluon.html.STYLE.tag
2986
web2py.gluon.html.TABLE.tag
2987
web2py.gluon.html.TBODY.tag
2988
web2py.gluon.html.TD.tag
2989
web2py.gluon.html.TEXTAREA.tag
2990
web2py.gluon.html.TFOOT.tag
2991
web2py.gluon.html.TH.tag
2992
web2py.gluon.html.THEAD.tag
2993
web2py.gluon.html.TITLE.tag
2994
web2py.gluon.html.TR.tag
2995
web2py.gluon.html.TT.tag
2996
web2py.gluon.html.UL.tag
2997
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-246', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="web2py.gluon.html.A.tag
2998
web2py.gluon.html.B.tag
2999
web2py.gluon.html.BEAUTIFY.tag
3000
web2py.gluon.html.BODY.tag
3001
web2py.gluon.html.BR.tag
3002
web2py.gluon.html.BUTTON.tag
3003
web2py.gluon.html.CAT.tag
3004
web2py.gluon.html.CENTER.tag
3005
web2py.gluon.html.COL.tag
3006
web2py.gluon.html.COLGROUP.tag
3007
web2py.gluon.html.DIV.tag
3008
web2py.gluon.html.EM.tag
3009
web2py.gluon.html.EMBED.tag
3010
web2py.gluon.html.FIELDSET.tag
3011
web2py.gluon.html.FORM.tag
3012
web2py.gluon.html.H1.tag
3013
web2py.gluon.html.H2.tag
3014
web2py.gluon.html.H3.tag
3015
web2py.gluon.html.H4.tag
3016
web2py.gluon.html.H5.tag
3017
web2py.gluon.html.H6.tag
3018
web2py.gluon.html.HEAD.tag
3019
web2py.gluon.html.HR.tag
3020
web2py.gluon.html.HTML.tag
3021
web2py.gluon.html.I.tag
3022
web2py.gluon.html.IFRAME.tag
3023
web2py.gluon.html.IMG.tag
3024
web2py.gluon.html.INPUT.tag
3025
web2py.gluon.html.LABEL.tag
3026
web2py.gluon.html.LEGEND.tag
3027
web2py.gluon.html.LI.tag
3028
web2py.gluon.html.LINK.tag
3029
web2py.gluon.html.MENU.tag
3030
web2py.gluon.html.META.tag
3031
web2py.gluon.html.OBJECT.tag
3032
web2py.gluon.html.OL.tag
3033
web2py.gluon.html.OPTGROUP.tag
3034
web2py.gluon.html.OPTION.tag
3035
web2py.gluon.html.P.tag
3036
web2py.gluon.html.PRE.tag
3037
web2py.gluon.html.SCRIPT.tag
3038
web2py.gluon.html.SELECT.tag
3039
web2py.gluon.html.SPAN.tag
3040
web2py.gluon.html.STYLE.tag
3041
web2py.gluon.html.TABLE.tag
3042
web2py.gluon.html.TBODY.tag
3043
web2py.gluon.html.TD.tag
3044
web2py.gluon.html.TEXTAREA.tag
3045
web2py.gluon.html.TFOOT.tag
3046
web2py.gluon.html.TH.tag
3047
web2py.gluon.html.THEAD.tag
3048
web2py.gluon.html.TITLE.tag
3049
web2py.gluon.html.TR.tag
3050
web2py.gluon.html.TT.tag
3051
web2py.gluon.html.UL.tag
3052
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-247', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
3053
<a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
3054
<a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-248" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
3055
web2py.gluon.dal.NoSQLAdapter.DIV
3056
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-248', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="web2py.gluon.dal.Rows.xml
3057
web2py.gluon.html.A.xml
3058
web2py.gluon.html.CODE.xml
3059
web2py.gluon.html.DIV.xml
3060
web2py.gluon.html.FORM.xml
3061
web2py.gluon.html.HTML.xml
3062
web2py.gluon.html.INPUT.xml
3063
web2py.gluon.html.MARKMIN.xml
3064
web2py.gluon.html.MENU.xml
3065
web2py.gluon.html.P.xml
3066
web2py.gluon.html.SCRIPT.xml
3067
web2py.gluon.html.STYLE.xml
3068
web2py.gluon.html.XHTML.xml
3069
web2py.gluon.html.XML.xml
3070
web2py.gluon.html.XmlComponent.xml
3071
web2py.gluon.languages.lazyT.xml
3072
web2py.gluon.serializers.xml
3073
web2py.gluon.tools.Recaptcha.xml
3074
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-249', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
3075
</div></div><a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"> </tt>
3076
<a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"> </tt>
3077
<a name="STYLE"></a><div id="STYLE-def"><a name="L1198"></a><tt class="py-lineno">1198</tt> <a class="py-toggle" href="#" id="STYLE-toggle" onclick="return toggle('STYLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.STYLE-class.html">STYLE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3078
</div><div id="STYLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="STYLE-expanded"><a name="L1199"></a><tt class="py-lineno">1199</tt> <tt class="py-line"> </tt>
3079
<a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"> <tt id="link-250" class="py-name"><a title="web2py.gluon.html.A.tag
3080
web2py.gluon.html.B.tag
3081
web2py.gluon.html.BEAUTIFY.tag
3082
web2py.gluon.html.BODY.tag
3083
web2py.gluon.html.BR.tag
3084
web2py.gluon.html.BUTTON.tag
3085
web2py.gluon.html.CAT.tag
3086
web2py.gluon.html.CENTER.tag
3087
web2py.gluon.html.COL.tag
3088
web2py.gluon.html.COLGROUP.tag
3089
web2py.gluon.html.DIV.tag
3090
web2py.gluon.html.EM.tag
3091
web2py.gluon.html.EMBED.tag
3092
web2py.gluon.html.FIELDSET.tag
3093
web2py.gluon.html.FORM.tag
3094
web2py.gluon.html.H1.tag
3095
web2py.gluon.html.H2.tag
3096
web2py.gluon.html.H3.tag
3097
web2py.gluon.html.H4.tag
3098
web2py.gluon.html.H5.tag
3099
web2py.gluon.html.H6.tag
3100
web2py.gluon.html.HEAD.tag
3101
web2py.gluon.html.HR.tag
3102
web2py.gluon.html.HTML.tag
3103
web2py.gluon.html.I.tag
3104
web2py.gluon.html.IFRAME.tag
3105
web2py.gluon.html.IMG.tag
3106
web2py.gluon.html.INPUT.tag
3107
web2py.gluon.html.LABEL.tag
3108
web2py.gluon.html.LEGEND.tag
3109
web2py.gluon.html.LI.tag
3110
web2py.gluon.html.LINK.tag
3111
web2py.gluon.html.MENU.tag
3112
web2py.gluon.html.META.tag
3113
web2py.gluon.html.OBJECT.tag
3114
web2py.gluon.html.OL.tag
3115
web2py.gluon.html.OPTGROUP.tag
3116
web2py.gluon.html.OPTION.tag
3117
web2py.gluon.html.P.tag
3118
web2py.gluon.html.PRE.tag
3119
web2py.gluon.html.SCRIPT.tag
3120
web2py.gluon.html.SELECT.tag
3121
web2py.gluon.html.SPAN.tag
3122
web2py.gluon.html.STYLE.tag
3123
web2py.gluon.html.TABLE.tag
3124
web2py.gluon.html.TBODY.tag
3125
web2py.gluon.html.TD.tag
3126
web2py.gluon.html.TEXTAREA.tag
3127
web2py.gluon.html.TFOOT.tag
3128
web2py.gluon.html.TH.tag
3129
web2py.gluon.html.THEAD.tag
3130
web2py.gluon.html.TITLE.tag
3131
web2py.gluon.html.TR.tag
3132
web2py.gluon.html.TT.tag
3133
web2py.gluon.html.UL.tag
3134
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-250', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'style'</tt> </tt>
3135
<a name="L1201"></a><tt class="py-lineno">1201</tt> <tt class="py-line"> </tt>
3136
<a name="STYLE.xml"></a><div id="STYLE.xml-def"><a name="L1202"></a><tt class="py-lineno">1202</tt> <a class="py-toggle" href="#" id="STYLE.xml-toggle" onclick="return toggle('STYLE.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.STYLE-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3137
</div><div id="STYLE.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="STYLE.xml-expanded"><a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="web2py.gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-251', '_xml', 'link-118');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
3138
<a name="L1204"></a><tt class="py-lineno">1204</tt> <tt class="py-line"> <tt class="py-comment"># no escaping of subcomponents</tt> </tt>
3139
<a name="L1205"></a><tt class="py-lineno">1205</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">co</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="web2py.gluon.html.join
3140
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-252', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> </tt>
3141
<a name="L1206"></a><tt class="py-lineno">1206</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
3142
<a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">co</tt><tt class="py-op">:</tt> </tt>
3143
<a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"> <tt class="py-comment"># <style [attributes]><!--/*--><![CDATA[/*><!--*/</tt> </tt>
3144
<a name="L1209"></a><tt class="py-lineno">1209</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># style body</tt> </tt>
3145
<a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># /*]]>*/--></style></tt> </tt>
3146
<a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">'<%s%s><!--/*--><![CDATA[/*><!--*/\n%s\n/*]]>*/--></%s>'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="web2py.gluon.html.A.tag
3147
web2py.gluon.html.B.tag
3148
web2py.gluon.html.BEAUTIFY.tag
3149
web2py.gluon.html.BODY.tag
3150
web2py.gluon.html.BR.tag
3151
web2py.gluon.html.BUTTON.tag
3152
web2py.gluon.html.CAT.tag
3153
web2py.gluon.html.CENTER.tag
3154
web2py.gluon.html.COL.tag
3155
web2py.gluon.html.COLGROUP.tag
3156
web2py.gluon.html.DIV.tag
3157
web2py.gluon.html.EM.tag
3158
web2py.gluon.html.EMBED.tag
3159
web2py.gluon.html.FIELDSET.tag
3160
web2py.gluon.html.FORM.tag
3161
web2py.gluon.html.H1.tag
3162
web2py.gluon.html.H2.tag
3163
web2py.gluon.html.H3.tag
3164
web2py.gluon.html.H4.tag
3165
web2py.gluon.html.H5.tag
3166
web2py.gluon.html.H6.tag
3167
web2py.gluon.html.HEAD.tag
3168
web2py.gluon.html.HR.tag
3169
web2py.gluon.html.HTML.tag
3170
web2py.gluon.html.I.tag
3171
web2py.gluon.html.IFRAME.tag
3172
web2py.gluon.html.IMG.tag
3173
web2py.gluon.html.INPUT.tag
3174
web2py.gluon.html.LABEL.tag
3175
web2py.gluon.html.LEGEND.tag
3176
web2py.gluon.html.LI.tag
3177
web2py.gluon.html.LINK.tag
3178
web2py.gluon.html.MENU.tag
3179
web2py.gluon.html.META.tag
3180
web2py.gluon.html.OBJECT.tag
3181
web2py.gluon.html.OL.tag
3182
web2py.gluon.html.OPTGROUP.tag
3183
web2py.gluon.html.OPTION.tag
3184
web2py.gluon.html.P.tag
3185
web2py.gluon.html.PRE.tag
3186
web2py.gluon.html.SCRIPT.tag
3187
web2py.gluon.html.SELECT.tag
3188
web2py.gluon.html.SPAN.tag
3189
web2py.gluon.html.STYLE.tag
3190
web2py.gluon.html.TABLE.tag
3191
web2py.gluon.html.TBODY.tag
3192
web2py.gluon.html.TD.tag
3193
web2py.gluon.html.TEXTAREA.tag
3194
web2py.gluon.html.TFOOT.tag
3195
web2py.gluon.html.TH.tag
3196
web2py.gluon.html.THEAD.tag
3197
web2py.gluon.html.TITLE.tag
3198
web2py.gluon.html.TR.tag
3199
web2py.gluon.html.TT.tag
3200
web2py.gluon.html.UL.tag
3201
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-253', 'tag', 'link-82');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="web2py.gluon.html.A.tag
3202
web2py.gluon.html.B.tag
3203
web2py.gluon.html.BEAUTIFY.tag
3204
web2py.gluon.html.BODY.tag
3205
web2py.gluon.html.BR.tag
3206
web2py.gluon.html.BUTTON.tag
3207
web2py.gluon.html.CAT.tag
3208
web2py.gluon.html.CENTER.tag
3209
web2py.gluon.html.COL.tag
3210
web2py.gluon.html.COLGROUP.tag
3211
web2py.gluon.html.DIV.tag
3212
web2py.gluon.html.EM.tag
3213
web2py.gluon.html.EMBED.tag
3214
web2py.gluon.html.FIELDSET.tag
3215
web2py.gluon.html.FORM.tag
3216
web2py.gluon.html.H1.tag
3217
web2py.gluon.html.H2.tag
3218
web2py.gluon.html.H3.tag
3219
web2py.gluon.html.H4.tag
3220
web2py.gluon.html.H5.tag
3221
web2py.gluon.html.H6.tag
3222
web2py.gluon.html.HEAD.tag
3223
web2py.gluon.html.HR.tag
3224
web2py.gluon.html.HTML.tag
3225
web2py.gluon.html.I.tag
3226
web2py.gluon.html.IFRAME.tag
3227
web2py.gluon.html.IMG.tag
3228
web2py.gluon.html.INPUT.tag
3229
web2py.gluon.html.LABEL.tag
3230
web2py.gluon.html.LEGEND.tag
3231
web2py.gluon.html.LI.tag
3232
web2py.gluon.html.LINK.tag
3233
web2py.gluon.html.MENU.tag
3234
web2py.gluon.html.META.tag
3235
web2py.gluon.html.OBJECT.tag
3236
web2py.gluon.html.OL.tag
3237
web2py.gluon.html.OPTGROUP.tag
3238
web2py.gluon.html.OPTION.tag
3239
web2py.gluon.html.P.tag
3240
web2py.gluon.html.PRE.tag
3241
web2py.gluon.html.SCRIPT.tag
3242
web2py.gluon.html.SELECT.tag
3243
web2py.gluon.html.SPAN.tag
3244
web2py.gluon.html.STYLE.tag
3245
web2py.gluon.html.TABLE.tag
3246
web2py.gluon.html.TBODY.tag
3247
web2py.gluon.html.TD.tag
3248
web2py.gluon.html.TEXTAREA.tag
3249
web2py.gluon.html.TFOOT.tag
3250
web2py.gluon.html.TH.tag
3251
web2py.gluon.html.THEAD.tag
3252
web2py.gluon.html.TITLE.tag
3253
web2py.gluon.html.TR.tag
3254
web2py.gluon.html.TT.tag
3255
web2py.gluon.html.UL.tag
3256
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-254', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
3257
<a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
3258
<a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-255" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
3259
web2py.gluon.dal.NoSQLAdapter.DIV
3260
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-255', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="web2py.gluon.dal.Rows.xml
3261
web2py.gluon.html.A.xml
3262
web2py.gluon.html.CODE.xml
3263
web2py.gluon.html.DIV.xml
3264
web2py.gluon.html.FORM.xml
3265
web2py.gluon.html.HTML.xml
3266
web2py.gluon.html.INPUT.xml
3267
web2py.gluon.html.MARKMIN.xml
3268
web2py.gluon.html.MENU.xml
3269
web2py.gluon.html.P.xml
3270
web2py.gluon.html.SCRIPT.xml
3271
web2py.gluon.html.STYLE.xml
3272
web2py.gluon.html.XHTML.xml
3273
web2py.gluon.html.XML.xml
3274
web2py.gluon.html.XmlComponent.xml
3275
web2py.gluon.languages.lazyT.xml
3276
web2py.gluon.serializers.xml
3277
web2py.gluon.tools.Recaptcha.xml
3278
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-256', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
3279
</div></div><a name="L1214"></a><tt class="py-lineno">1214</tt> <tt class="py-line"> </tt>
3280
<a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"> </tt>
3281
<a name="IMG"></a><div id="IMG-def"><a name="L1216"></a><tt class="py-lineno">1216</tt> <a class="py-toggle" href="#" id="IMG-toggle" onclick="return toggle('IMG');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.IMG-class.html">IMG</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3282
</div><div id="IMG-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="IMG-expanded"><a name="L1217"></a><tt class="py-lineno">1217</tt> <tt class="py-line"> </tt>
3283
<a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"> <tt id="link-257" class="py-name"><a title="web2py.gluon.html.A.tag
3284
web2py.gluon.html.B.tag
3285
web2py.gluon.html.BEAUTIFY.tag
3286
web2py.gluon.html.BODY.tag
3287
web2py.gluon.html.BR.tag
3288
web2py.gluon.html.BUTTON.tag
3289
web2py.gluon.html.CAT.tag
3290
web2py.gluon.html.CENTER.tag
3291
web2py.gluon.html.COL.tag
3292
web2py.gluon.html.COLGROUP.tag
3293
web2py.gluon.html.DIV.tag
3294
web2py.gluon.html.EM.tag
3295
web2py.gluon.html.EMBED.tag
3296
web2py.gluon.html.FIELDSET.tag
3297
web2py.gluon.html.FORM.tag
3298
web2py.gluon.html.H1.tag
3299
web2py.gluon.html.H2.tag
3300
web2py.gluon.html.H3.tag
3301
web2py.gluon.html.H4.tag
3302
web2py.gluon.html.H5.tag
3303
web2py.gluon.html.H6.tag
3304
web2py.gluon.html.HEAD.tag
3305
web2py.gluon.html.HR.tag
3306
web2py.gluon.html.HTML.tag
3307
web2py.gluon.html.I.tag
3308
web2py.gluon.html.IFRAME.tag
3309
web2py.gluon.html.IMG.tag
3310
web2py.gluon.html.INPUT.tag
3311
web2py.gluon.html.LABEL.tag
3312
web2py.gluon.html.LEGEND.tag
3313
web2py.gluon.html.LI.tag
3314
web2py.gluon.html.LINK.tag
3315
web2py.gluon.html.MENU.tag
3316
web2py.gluon.html.META.tag
3317
web2py.gluon.html.OBJECT.tag
3318
web2py.gluon.html.OL.tag
3319
web2py.gluon.html.OPTGROUP.tag
3320
web2py.gluon.html.OPTION.tag
3321
web2py.gluon.html.P.tag
3322
web2py.gluon.html.PRE.tag
3323
web2py.gluon.html.SCRIPT.tag
3324
web2py.gluon.html.SELECT.tag
3325
web2py.gluon.html.SPAN.tag
3326
web2py.gluon.html.STYLE.tag
3327
web2py.gluon.html.TABLE.tag
3328
web2py.gluon.html.TBODY.tag
3329
web2py.gluon.html.TD.tag
3330
web2py.gluon.html.TEXTAREA.tag
3331
web2py.gluon.html.TFOOT.tag
3332
web2py.gluon.html.TH.tag
3333
web2py.gluon.html.THEAD.tag
3334
web2py.gluon.html.TITLE.tag
3335
web2py.gluon.html.TR.tag
3336
web2py.gluon.html.TT.tag
3337
web2py.gluon.html.UL.tag
3338
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-257', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'img/'</tt> </tt>
3339
</div><a name="L1219"></a><tt class="py-lineno">1219</tt> <tt class="py-line"> </tt>
3340
<a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"> </tt>
3341
<a name="SPAN"></a><div id="SPAN-def"><a name="L1221"></a><tt class="py-lineno">1221</tt> <a class="py-toggle" href="#" id="SPAN-toggle" onclick="return toggle('SPAN');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.SPAN-class.html">SPAN</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3342
</div><div id="SPAN-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SPAN-expanded"><a name="L1222"></a><tt class="py-lineno">1222</tt> <tt class="py-line"> </tt>
3343
<a name="L1223"></a><tt class="py-lineno">1223</tt> <tt class="py-line"> <tt id="link-258" class="py-name"><a title="web2py.gluon.html.A.tag
3344
web2py.gluon.html.B.tag
3345
web2py.gluon.html.BEAUTIFY.tag
3346
web2py.gluon.html.BODY.tag
3347
web2py.gluon.html.BR.tag
3348
web2py.gluon.html.BUTTON.tag
3349
web2py.gluon.html.CAT.tag
3350
web2py.gluon.html.CENTER.tag
3351
web2py.gluon.html.COL.tag
3352
web2py.gluon.html.COLGROUP.tag
3353
web2py.gluon.html.DIV.tag
3354
web2py.gluon.html.EM.tag
3355
web2py.gluon.html.EMBED.tag
3356
web2py.gluon.html.FIELDSET.tag
3357
web2py.gluon.html.FORM.tag
3358
web2py.gluon.html.H1.tag
3359
web2py.gluon.html.H2.tag
3360
web2py.gluon.html.H3.tag
3361
web2py.gluon.html.H4.tag
3362
web2py.gluon.html.H5.tag
3363
web2py.gluon.html.H6.tag
3364
web2py.gluon.html.HEAD.tag
3365
web2py.gluon.html.HR.tag
3366
web2py.gluon.html.HTML.tag
3367
web2py.gluon.html.I.tag
3368
web2py.gluon.html.IFRAME.tag
3369
web2py.gluon.html.IMG.tag
3370
web2py.gluon.html.INPUT.tag
3371
web2py.gluon.html.LABEL.tag
3372
web2py.gluon.html.LEGEND.tag
3373
web2py.gluon.html.LI.tag
3374
web2py.gluon.html.LINK.tag
3375
web2py.gluon.html.MENU.tag
3376
web2py.gluon.html.META.tag
3377
web2py.gluon.html.OBJECT.tag
3378
web2py.gluon.html.OL.tag
3379
web2py.gluon.html.OPTGROUP.tag
3380
web2py.gluon.html.OPTION.tag
3381
web2py.gluon.html.P.tag
3382
web2py.gluon.html.PRE.tag
3383
web2py.gluon.html.SCRIPT.tag
3384
web2py.gluon.html.SELECT.tag
3385
web2py.gluon.html.SPAN.tag
3386
web2py.gluon.html.STYLE.tag
3387
web2py.gluon.html.TABLE.tag
3388
web2py.gluon.html.TBODY.tag
3389
web2py.gluon.html.TD.tag
3390
web2py.gluon.html.TEXTAREA.tag
3391
web2py.gluon.html.TFOOT.tag
3392
web2py.gluon.html.TH.tag
3393
web2py.gluon.html.THEAD.tag
3394
web2py.gluon.html.TITLE.tag
3395
web2py.gluon.html.TR.tag
3396
web2py.gluon.html.TT.tag
3397
web2py.gluon.html.UL.tag
3398
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-258', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'span'</tt> </tt>
3399
</div><a name="L1224"></a><tt class="py-lineno">1224</tt> <tt class="py-line"> </tt>
3400
<a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"> </tt>
3401
<a name="BODY"></a><div id="BODY-def"><a name="L1226"></a><tt class="py-lineno">1226</tt> <a class="py-toggle" href="#" id="BODY-toggle" onclick="return toggle('BODY');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.BODY-class.html">BODY</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3402
</div><div id="BODY-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BODY-expanded"><a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"> </tt>
3403
<a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"> <tt id="link-259" class="py-name"><a title="web2py.gluon.html.A.tag
3404
web2py.gluon.html.B.tag
3405
web2py.gluon.html.BEAUTIFY.tag
3406
web2py.gluon.html.BODY.tag
3407
web2py.gluon.html.BR.tag
3408
web2py.gluon.html.BUTTON.tag
3409
web2py.gluon.html.CAT.tag
3410
web2py.gluon.html.CENTER.tag
3411
web2py.gluon.html.COL.tag
3412
web2py.gluon.html.COLGROUP.tag
3413
web2py.gluon.html.DIV.tag
3414
web2py.gluon.html.EM.tag
3415
web2py.gluon.html.EMBED.tag
3416
web2py.gluon.html.FIELDSET.tag
3417
web2py.gluon.html.FORM.tag
3418
web2py.gluon.html.H1.tag
3419
web2py.gluon.html.H2.tag
3420
web2py.gluon.html.H3.tag
3421
web2py.gluon.html.H4.tag
3422
web2py.gluon.html.H5.tag
3423
web2py.gluon.html.H6.tag
3424
web2py.gluon.html.HEAD.tag
3425
web2py.gluon.html.HR.tag
3426
web2py.gluon.html.HTML.tag
3427
web2py.gluon.html.I.tag
3428
web2py.gluon.html.IFRAME.tag
3429
web2py.gluon.html.IMG.tag
3430
web2py.gluon.html.INPUT.tag
3431
web2py.gluon.html.LABEL.tag
3432
web2py.gluon.html.LEGEND.tag
3433
web2py.gluon.html.LI.tag
3434
web2py.gluon.html.LINK.tag
3435
web2py.gluon.html.MENU.tag
3436
web2py.gluon.html.META.tag
3437
web2py.gluon.html.OBJECT.tag
3438
web2py.gluon.html.OL.tag
3439
web2py.gluon.html.OPTGROUP.tag
3440
web2py.gluon.html.OPTION.tag
3441
web2py.gluon.html.P.tag
3442
web2py.gluon.html.PRE.tag
3443
web2py.gluon.html.SCRIPT.tag
3444
web2py.gluon.html.SELECT.tag
3445
web2py.gluon.html.SPAN.tag
3446
web2py.gluon.html.STYLE.tag
3447
web2py.gluon.html.TABLE.tag
3448
web2py.gluon.html.TBODY.tag
3449
web2py.gluon.html.TD.tag
3450
web2py.gluon.html.TEXTAREA.tag
3451
web2py.gluon.html.TFOOT.tag
3452
web2py.gluon.html.TH.tag
3453
web2py.gluon.html.THEAD.tag
3454
web2py.gluon.html.TITLE.tag
3455
web2py.gluon.html.TR.tag
3456
web2py.gluon.html.TT.tag
3457
web2py.gluon.html.UL.tag
3458
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-259', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'body'</tt> </tt>
3459
</div><a name="L1229"></a><tt class="py-lineno">1229</tt> <tt class="py-line"> </tt>
3460
<a name="L1230"></a><tt class="py-lineno">1230</tt> <tt class="py-line"> </tt>
3461
<a name="H1"></a><div id="H1-def"><a name="L1231"></a><tt class="py-lineno">1231</tt> <a class="py-toggle" href="#" id="H1-toggle" onclick="return toggle('H1');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H1-class.html">H1</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3462
</div><div id="H1-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H1-expanded"><a name="L1232"></a><tt class="py-lineno">1232</tt> <tt class="py-line"> </tt>
3463
<a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"> <tt id="link-260" class="py-name"><a title="web2py.gluon.html.A.tag
3464
web2py.gluon.html.B.tag
3465
web2py.gluon.html.BEAUTIFY.tag
3466
web2py.gluon.html.BODY.tag
3467
web2py.gluon.html.BR.tag
3468
web2py.gluon.html.BUTTON.tag
3469
web2py.gluon.html.CAT.tag
3470
web2py.gluon.html.CENTER.tag
3471
web2py.gluon.html.COL.tag
3472
web2py.gluon.html.COLGROUP.tag
3473
web2py.gluon.html.DIV.tag
3474
web2py.gluon.html.EM.tag
3475
web2py.gluon.html.EMBED.tag
3476
web2py.gluon.html.FIELDSET.tag
3477
web2py.gluon.html.FORM.tag
3478
web2py.gluon.html.H1.tag
3479
web2py.gluon.html.H2.tag
3480
web2py.gluon.html.H3.tag
3481
web2py.gluon.html.H4.tag
3482
web2py.gluon.html.H5.tag
3483
web2py.gluon.html.H6.tag
3484
web2py.gluon.html.HEAD.tag
3485
web2py.gluon.html.HR.tag
3486
web2py.gluon.html.HTML.tag
3487
web2py.gluon.html.I.tag
3488
web2py.gluon.html.IFRAME.tag
3489
web2py.gluon.html.IMG.tag
3490
web2py.gluon.html.INPUT.tag
3491
web2py.gluon.html.LABEL.tag
3492
web2py.gluon.html.LEGEND.tag
3493
web2py.gluon.html.LI.tag
3494
web2py.gluon.html.LINK.tag
3495
web2py.gluon.html.MENU.tag
3496
web2py.gluon.html.META.tag
3497
web2py.gluon.html.OBJECT.tag
3498
web2py.gluon.html.OL.tag
3499
web2py.gluon.html.OPTGROUP.tag
3500
web2py.gluon.html.OPTION.tag
3501
web2py.gluon.html.P.tag
3502
web2py.gluon.html.PRE.tag
3503
web2py.gluon.html.SCRIPT.tag
3504
web2py.gluon.html.SELECT.tag
3505
web2py.gluon.html.SPAN.tag
3506
web2py.gluon.html.STYLE.tag
3507
web2py.gluon.html.TABLE.tag
3508
web2py.gluon.html.TBODY.tag
3509
web2py.gluon.html.TD.tag
3510
web2py.gluon.html.TEXTAREA.tag
3511
web2py.gluon.html.TFOOT.tag
3512
web2py.gluon.html.TH.tag
3513
web2py.gluon.html.THEAD.tag
3514
web2py.gluon.html.TITLE.tag
3515
web2py.gluon.html.TR.tag
3516
web2py.gluon.html.TT.tag
3517
web2py.gluon.html.UL.tag
3518
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-260', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h1'</tt> </tt>
3519
</div><a name="L1234"></a><tt class="py-lineno">1234</tt> <tt class="py-line"> </tt>
3520
<a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"> </tt>
3521
<a name="H2"></a><div id="H2-def"><a name="L1236"></a><tt class="py-lineno">1236</tt> <a class="py-toggle" href="#" id="H2-toggle" onclick="return toggle('H2');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H2-class.html">H2</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3522
</div><div id="H2-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H2-expanded"><a name="L1237"></a><tt class="py-lineno">1237</tt> <tt class="py-line"> </tt>
3523
<a name="L1238"></a><tt class="py-lineno">1238</tt> <tt class="py-line"> <tt id="link-261" class="py-name"><a title="web2py.gluon.html.A.tag
3524
web2py.gluon.html.B.tag
3525
web2py.gluon.html.BEAUTIFY.tag
3526
web2py.gluon.html.BODY.tag
3527
web2py.gluon.html.BR.tag
3528
web2py.gluon.html.BUTTON.tag
3529
web2py.gluon.html.CAT.tag
3530
web2py.gluon.html.CENTER.tag
3531
web2py.gluon.html.COL.tag
3532
web2py.gluon.html.COLGROUP.tag
3533
web2py.gluon.html.DIV.tag
3534
web2py.gluon.html.EM.tag
3535
web2py.gluon.html.EMBED.tag
3536
web2py.gluon.html.FIELDSET.tag
3537
web2py.gluon.html.FORM.tag
3538
web2py.gluon.html.H1.tag
3539
web2py.gluon.html.H2.tag
3540
web2py.gluon.html.H3.tag
3541
web2py.gluon.html.H4.tag
3542
web2py.gluon.html.H5.tag
3543
web2py.gluon.html.H6.tag
3544
web2py.gluon.html.HEAD.tag
3545
web2py.gluon.html.HR.tag
3546
web2py.gluon.html.HTML.tag
3547
web2py.gluon.html.I.tag
3548
web2py.gluon.html.IFRAME.tag
3549
web2py.gluon.html.IMG.tag
3550
web2py.gluon.html.INPUT.tag
3551
web2py.gluon.html.LABEL.tag
3552
web2py.gluon.html.LEGEND.tag
3553
web2py.gluon.html.LI.tag
3554
web2py.gluon.html.LINK.tag
3555
web2py.gluon.html.MENU.tag
3556
web2py.gluon.html.META.tag
3557
web2py.gluon.html.OBJECT.tag
3558
web2py.gluon.html.OL.tag
3559
web2py.gluon.html.OPTGROUP.tag
3560
web2py.gluon.html.OPTION.tag
3561
web2py.gluon.html.P.tag
3562
web2py.gluon.html.PRE.tag
3563
web2py.gluon.html.SCRIPT.tag
3564
web2py.gluon.html.SELECT.tag
3565
web2py.gluon.html.SPAN.tag
3566
web2py.gluon.html.STYLE.tag
3567
web2py.gluon.html.TABLE.tag
3568
web2py.gluon.html.TBODY.tag
3569
web2py.gluon.html.TD.tag
3570
web2py.gluon.html.TEXTAREA.tag
3571
web2py.gluon.html.TFOOT.tag
3572
web2py.gluon.html.TH.tag
3573
web2py.gluon.html.THEAD.tag
3574
web2py.gluon.html.TITLE.tag
3575
web2py.gluon.html.TR.tag
3576
web2py.gluon.html.TT.tag
3577
web2py.gluon.html.UL.tag
3578
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-261', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h2'</tt> </tt>
3579
</div><a name="L1239"></a><tt class="py-lineno">1239</tt> <tt class="py-line"> </tt>
3580
<a name="L1240"></a><tt class="py-lineno">1240</tt> <tt class="py-line"> </tt>
3581
<a name="H3"></a><div id="H3-def"><a name="L1241"></a><tt class="py-lineno">1241</tt> <a class="py-toggle" href="#" id="H3-toggle" onclick="return toggle('H3');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H3-class.html">H3</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3582
</div><div id="H3-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H3-expanded"><a name="L1242"></a><tt class="py-lineno">1242</tt> <tt class="py-line"> </tt>
3583
<a name="L1243"></a><tt class="py-lineno">1243</tt> <tt class="py-line"> <tt id="link-262" class="py-name"><a title="web2py.gluon.html.A.tag
3584
web2py.gluon.html.B.tag
3585
web2py.gluon.html.BEAUTIFY.tag
3586
web2py.gluon.html.BODY.tag
3587
web2py.gluon.html.BR.tag
3588
web2py.gluon.html.BUTTON.tag
3589
web2py.gluon.html.CAT.tag
3590
web2py.gluon.html.CENTER.tag
3591
web2py.gluon.html.COL.tag
3592
web2py.gluon.html.COLGROUP.tag
3593
web2py.gluon.html.DIV.tag
3594
web2py.gluon.html.EM.tag
3595
web2py.gluon.html.EMBED.tag
3596
web2py.gluon.html.FIELDSET.tag
3597
web2py.gluon.html.FORM.tag
3598
web2py.gluon.html.H1.tag
3599
web2py.gluon.html.H2.tag
3600
web2py.gluon.html.H3.tag
3601
web2py.gluon.html.H4.tag
3602
web2py.gluon.html.H5.tag
3603
web2py.gluon.html.H6.tag
3604
web2py.gluon.html.HEAD.tag
3605
web2py.gluon.html.HR.tag
3606
web2py.gluon.html.HTML.tag
3607
web2py.gluon.html.I.tag
3608
web2py.gluon.html.IFRAME.tag
3609
web2py.gluon.html.IMG.tag
3610
web2py.gluon.html.INPUT.tag
3611
web2py.gluon.html.LABEL.tag
3612
web2py.gluon.html.LEGEND.tag
3613
web2py.gluon.html.LI.tag
3614
web2py.gluon.html.LINK.tag
3615
web2py.gluon.html.MENU.tag
3616
web2py.gluon.html.META.tag
3617
web2py.gluon.html.OBJECT.tag
3618
web2py.gluon.html.OL.tag
3619
web2py.gluon.html.OPTGROUP.tag
3620
web2py.gluon.html.OPTION.tag
3621
web2py.gluon.html.P.tag
3622
web2py.gluon.html.PRE.tag
3623
web2py.gluon.html.SCRIPT.tag
3624
web2py.gluon.html.SELECT.tag
3625
web2py.gluon.html.SPAN.tag
3626
web2py.gluon.html.STYLE.tag
3627
web2py.gluon.html.TABLE.tag
3628
web2py.gluon.html.TBODY.tag
3629
web2py.gluon.html.TD.tag
3630
web2py.gluon.html.TEXTAREA.tag
3631
web2py.gluon.html.TFOOT.tag
3632
web2py.gluon.html.TH.tag
3633
web2py.gluon.html.THEAD.tag
3634
web2py.gluon.html.TITLE.tag
3635
web2py.gluon.html.TR.tag
3636
web2py.gluon.html.TT.tag
3637
web2py.gluon.html.UL.tag
3638
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-262', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h3'</tt> </tt>
3639
</div><a name="L1244"></a><tt class="py-lineno">1244</tt> <tt class="py-line"> </tt>
3640
<a name="L1245"></a><tt class="py-lineno">1245</tt> <tt class="py-line"> </tt>
3641
<a name="H4"></a><div id="H4-def"><a name="L1246"></a><tt class="py-lineno">1246</tt> <a class="py-toggle" href="#" id="H4-toggle" onclick="return toggle('H4');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H4-class.html">H4</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3642
</div><div id="H4-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H4-expanded"><a name="L1247"></a><tt class="py-lineno">1247</tt> <tt class="py-line"> </tt>
3643
<a name="L1248"></a><tt class="py-lineno">1248</tt> <tt class="py-line"> <tt id="link-263" class="py-name"><a title="web2py.gluon.html.A.tag
3644
web2py.gluon.html.B.tag
3645
web2py.gluon.html.BEAUTIFY.tag
3646
web2py.gluon.html.BODY.tag
3647
web2py.gluon.html.BR.tag
3648
web2py.gluon.html.BUTTON.tag
3649
web2py.gluon.html.CAT.tag
3650
web2py.gluon.html.CENTER.tag
3651
web2py.gluon.html.COL.tag
3652
web2py.gluon.html.COLGROUP.tag
3653
web2py.gluon.html.DIV.tag
3654
web2py.gluon.html.EM.tag
3655
web2py.gluon.html.EMBED.tag
3656
web2py.gluon.html.FIELDSET.tag
3657
web2py.gluon.html.FORM.tag
3658
web2py.gluon.html.H1.tag
3659
web2py.gluon.html.H2.tag
3660
web2py.gluon.html.H3.tag
3661
web2py.gluon.html.H4.tag
3662
web2py.gluon.html.H5.tag
3663
web2py.gluon.html.H6.tag
3664
web2py.gluon.html.HEAD.tag
3665
web2py.gluon.html.HR.tag
3666
web2py.gluon.html.HTML.tag
3667
web2py.gluon.html.I.tag
3668
web2py.gluon.html.IFRAME.tag
3669
web2py.gluon.html.IMG.tag
3670
web2py.gluon.html.INPUT.tag
3671
web2py.gluon.html.LABEL.tag
3672
web2py.gluon.html.LEGEND.tag
3673
web2py.gluon.html.LI.tag
3674
web2py.gluon.html.LINK.tag
3675
web2py.gluon.html.MENU.tag
3676
web2py.gluon.html.META.tag
3677
web2py.gluon.html.OBJECT.tag
3678
web2py.gluon.html.OL.tag
3679
web2py.gluon.html.OPTGROUP.tag
3680
web2py.gluon.html.OPTION.tag
3681
web2py.gluon.html.P.tag
3682
web2py.gluon.html.PRE.tag
3683
web2py.gluon.html.SCRIPT.tag
3684
web2py.gluon.html.SELECT.tag
3685
web2py.gluon.html.SPAN.tag
3686
web2py.gluon.html.STYLE.tag
3687
web2py.gluon.html.TABLE.tag
3688
web2py.gluon.html.TBODY.tag
3689
web2py.gluon.html.TD.tag
3690
web2py.gluon.html.TEXTAREA.tag
3691
web2py.gluon.html.TFOOT.tag
3692
web2py.gluon.html.TH.tag
3693
web2py.gluon.html.THEAD.tag
3694
web2py.gluon.html.TITLE.tag
3695
web2py.gluon.html.TR.tag
3696
web2py.gluon.html.TT.tag
3697
web2py.gluon.html.UL.tag
3698
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-263', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h4'</tt> </tt>
3699
</div><a name="L1249"></a><tt class="py-lineno">1249</tt> <tt class="py-line"> </tt>
3800
3700
<a name="L1250"></a><tt class="py-lineno">1250</tt> <tt class="py-line"> </tt>
3801
<a name="L1251"></a><tt class="py-lineno">1251</tt> <tt class="py-line"> <tt id="link-276" class="py-name"><a title="web2py.gluon.html.A.tag
3802
web2py.gluon.html.B.tag
3803
web2py.gluon.html.BEAUTIFY.tag
3804
web2py.gluon.html.BODY.tag
3805
web2py.gluon.html.BR.tag
3806
web2py.gluon.html.BUTTON.tag
3807
web2py.gluon.html.CAT.tag
3808
web2py.gluon.html.CENTER.tag
3809
web2py.gluon.html.COL.tag
3810
web2py.gluon.html.COLGROUP.tag
3811
web2py.gluon.html.DIV.tag
3812
web2py.gluon.html.EM.tag
3813
web2py.gluon.html.EMBED.tag
3814
web2py.gluon.html.FIELDSET.tag
3815
web2py.gluon.html.FORM.tag
3816
web2py.gluon.html.H1.tag
3817
web2py.gluon.html.H2.tag
3818
web2py.gluon.html.H3.tag
3819
web2py.gluon.html.H4.tag
3820
web2py.gluon.html.H5.tag
3821
web2py.gluon.html.H6.tag
3822
web2py.gluon.html.HEAD.tag
3823
web2py.gluon.html.HR.tag
3824
web2py.gluon.html.HTML.tag
3825
web2py.gluon.html.I.tag
3826
web2py.gluon.html.IFRAME.tag
3827
web2py.gluon.html.IMG.tag
3828
web2py.gluon.html.INPUT.tag
3829
web2py.gluon.html.LABEL.tag
3830
web2py.gluon.html.LEGEND.tag
3831
web2py.gluon.html.LI.tag
3832
web2py.gluon.html.LINK.tag
3833
web2py.gluon.html.MENU.tag
3834
web2py.gluon.html.META.tag
3835
web2py.gluon.html.OBJECT.tag
3836
web2py.gluon.html.OL.tag
3837
web2py.gluon.html.OPTGROUP.tag
3838
web2py.gluon.html.OPTION.tag
3839
web2py.gluon.html.P.tag
3840
web2py.gluon.html.PRE.tag
3841
web2py.gluon.html.SCRIPT.tag
3842
web2py.gluon.html.SELECT.tag
3843
web2py.gluon.html.SPAN.tag
3844
web2py.gluon.html.STYLE.tag
3845
web2py.gluon.html.TABLE.tag
3846
web2py.gluon.html.TBODY.tag
3847
web2py.gluon.html.TD.tag
3848
web2py.gluon.html.TEXTAREA.tag
3849
web2py.gluon.html.TFOOT.tag
3850
web2py.gluon.html.TH.tag
3851
web2py.gluon.html.THEAD.tag
3852
web2py.gluon.html.TITLE.tag
3853
web2py.gluon.html.TR.tag
3854
web2py.gluon.html.TT.tag
3855
web2py.gluon.html.UL.tag
3856
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-276', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'p'</tt> </tt>
3857
<a name="L1252"></a><tt class="py-lineno">1252</tt> <tt class="py-line"> </tt>
3858
<a name="P.xml"></a><div id="P.xml-def"><a name="L1253"></a><tt class="py-lineno">1253</tt> <a class="py-toggle" href="#" id="P.xml-toggle" onclick="return toggle('P.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.P-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3859
</div><div id="P.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="P.xml-expanded"><a name="L1254"></a><tt class="py-lineno">1254</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt id="link-277" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
3860
web2py.gluon.dal.NoSQLAdapter.DIV
3861
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-277', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="web2py.gluon.dal.Rows.xml
3862
web2py.gluon.html.A.xml
3863
web2py.gluon.html.CODE.xml
3864
web2py.gluon.html.DIV.xml
3865
web2py.gluon.html.FORM.xml
3866
web2py.gluon.html.HTML.xml
3867
web2py.gluon.html.INPUT.xml
3868
web2py.gluon.html.MARKMIN.xml
3869
web2py.gluon.html.MENU.xml
3870
web2py.gluon.html.P.xml
3871
web2py.gluon.html.SCRIPT.xml
3872
web2py.gluon.html.STYLE.xml
3873
web2py.gluon.html.XHTML.xml
3874
web2py.gluon.html.XML.xml
3875
web2py.gluon.html.XmlComponent.xml
3876
web2py.gluon.languages.lazyT.xml
3877
web2py.gluon.serializers.xml
3878
web2py.gluon.tools.Recaptcha.xml
3879
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-278', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
3880
<a name="L1255"></a><tt class="py-lineno">1255</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'cr2br'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
3881
<a name="L1256"></a><tt class="py-lineno">1256</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">'<br />'</tt><tt class="py-op">)</tt> </tt>
3882
<a name="L1257"></a><tt class="py-lineno">1257</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
3883
</div></div><a name="L1258"></a><tt class="py-lineno">1258</tt> <tt class="py-line"> </tt>
3884
<a name="L1259"></a><tt class="py-lineno">1259</tt> <tt class="py-line"> </tt>
3885
<a name="B"></a><div id="B-def"><a name="L1260"></a><tt class="py-lineno">1260</tt> <a class="py-toggle" href="#" id="B-toggle" onclick="return toggle('B');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.B-class.html">B</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3886
</div><div id="B-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="B-expanded"><a name="L1261"></a><tt class="py-lineno">1261</tt> <tt class="py-line"> </tt>
3887
<a name="L1262"></a><tt class="py-lineno">1262</tt> <tt class="py-line"> <tt id="link-279" class="py-name"><a title="web2py.gluon.html.A.tag
3888
web2py.gluon.html.B.tag
3889
web2py.gluon.html.BEAUTIFY.tag
3890
web2py.gluon.html.BODY.tag
3891
web2py.gluon.html.BR.tag
3892
web2py.gluon.html.BUTTON.tag
3893
web2py.gluon.html.CAT.tag
3894
web2py.gluon.html.CENTER.tag
3895
web2py.gluon.html.COL.tag
3896
web2py.gluon.html.COLGROUP.tag
3897
web2py.gluon.html.DIV.tag
3898
web2py.gluon.html.EM.tag
3899
web2py.gluon.html.EMBED.tag
3900
web2py.gluon.html.FIELDSET.tag
3901
web2py.gluon.html.FORM.tag
3902
web2py.gluon.html.H1.tag
3903
web2py.gluon.html.H2.tag
3904
web2py.gluon.html.H3.tag
3905
web2py.gluon.html.H4.tag
3906
web2py.gluon.html.H5.tag
3907
web2py.gluon.html.H6.tag
3908
web2py.gluon.html.HEAD.tag
3909
web2py.gluon.html.HR.tag
3910
web2py.gluon.html.HTML.tag
3911
web2py.gluon.html.I.tag
3912
web2py.gluon.html.IFRAME.tag
3913
web2py.gluon.html.IMG.tag
3914
web2py.gluon.html.INPUT.tag
3915
web2py.gluon.html.LABEL.tag
3916
web2py.gluon.html.LEGEND.tag
3917
web2py.gluon.html.LI.tag
3918
web2py.gluon.html.LINK.tag
3919
web2py.gluon.html.MENU.tag
3920
web2py.gluon.html.META.tag
3921
web2py.gluon.html.OBJECT.tag
3922
web2py.gluon.html.OL.tag
3923
web2py.gluon.html.OPTGROUP.tag
3924
web2py.gluon.html.OPTION.tag
3925
web2py.gluon.html.P.tag
3926
web2py.gluon.html.PRE.tag
3927
web2py.gluon.html.SCRIPT.tag
3928
web2py.gluon.html.SELECT.tag
3929
web2py.gluon.html.SPAN.tag
3930
web2py.gluon.html.STYLE.tag
3931
web2py.gluon.html.TABLE.tag
3932
web2py.gluon.html.TBODY.tag
3933
web2py.gluon.html.TD.tag
3934
web2py.gluon.html.TEXTAREA.tag
3935
web2py.gluon.html.TFOOT.tag
3936
web2py.gluon.html.TH.tag
3937
web2py.gluon.html.THEAD.tag
3938
web2py.gluon.html.TITLE.tag
3939
web2py.gluon.html.TR.tag
3940
web2py.gluon.html.TT.tag
3941
web2py.gluon.html.UL.tag
3942
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-279', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'b'</tt> </tt>
3943
</div><a name="L1263"></a><tt class="py-lineno">1263</tt> <tt class="py-line"> </tt>
3944
<a name="L1264"></a><tt class="py-lineno">1264</tt> <tt class="py-line"> </tt>
3945
<a name="BR"></a><div id="BR-def"><a name="L1265"></a><tt class="py-lineno">1265</tt> <a class="py-toggle" href="#" id="BR-toggle" onclick="return toggle('BR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.BR-class.html">BR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3946
</div><div id="BR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BR-expanded"><a name="L1266"></a><tt class="py-lineno">1266</tt> <tt class="py-line"> </tt>
3947
<a name="L1267"></a><tt class="py-lineno">1267</tt> <tt class="py-line"> <tt id="link-280" class="py-name"><a title="web2py.gluon.html.A.tag
3948
web2py.gluon.html.B.tag
3949
web2py.gluon.html.BEAUTIFY.tag
3950
web2py.gluon.html.BODY.tag
3951
web2py.gluon.html.BR.tag
3952
web2py.gluon.html.BUTTON.tag
3953
web2py.gluon.html.CAT.tag
3954
web2py.gluon.html.CENTER.tag
3955
web2py.gluon.html.COL.tag
3956
web2py.gluon.html.COLGROUP.tag
3957
web2py.gluon.html.DIV.tag
3958
web2py.gluon.html.EM.tag
3959
web2py.gluon.html.EMBED.tag
3960
web2py.gluon.html.FIELDSET.tag
3961
web2py.gluon.html.FORM.tag
3962
web2py.gluon.html.H1.tag
3963
web2py.gluon.html.H2.tag
3964
web2py.gluon.html.H3.tag
3965
web2py.gluon.html.H4.tag
3966
web2py.gluon.html.H5.tag
3967
web2py.gluon.html.H6.tag
3968
web2py.gluon.html.HEAD.tag
3969
web2py.gluon.html.HR.tag
3970
web2py.gluon.html.HTML.tag
3971
web2py.gluon.html.I.tag
3972
web2py.gluon.html.IFRAME.tag
3973
web2py.gluon.html.IMG.tag
3974
web2py.gluon.html.INPUT.tag
3975
web2py.gluon.html.LABEL.tag
3976
web2py.gluon.html.LEGEND.tag
3977
web2py.gluon.html.LI.tag
3978
web2py.gluon.html.LINK.tag
3979
web2py.gluon.html.MENU.tag
3980
web2py.gluon.html.META.tag
3981
web2py.gluon.html.OBJECT.tag
3982
web2py.gluon.html.OL.tag
3983
web2py.gluon.html.OPTGROUP.tag
3984
web2py.gluon.html.OPTION.tag
3985
web2py.gluon.html.P.tag
3986
web2py.gluon.html.PRE.tag
3987
web2py.gluon.html.SCRIPT.tag
3988
web2py.gluon.html.SELECT.tag
3989
web2py.gluon.html.SPAN.tag
3990
web2py.gluon.html.STYLE.tag
3991
web2py.gluon.html.TABLE.tag
3992
web2py.gluon.html.TBODY.tag
3993
web2py.gluon.html.TD.tag
3994
web2py.gluon.html.TEXTAREA.tag
3995
web2py.gluon.html.TFOOT.tag
3996
web2py.gluon.html.TH.tag
3997
web2py.gluon.html.THEAD.tag
3998
web2py.gluon.html.TITLE.tag
3999
web2py.gluon.html.TR.tag
4000
web2py.gluon.html.TT.tag
4001
web2py.gluon.html.UL.tag
4002
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-280', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'br/'</tt> </tt>
4003
</div><a name="L1268"></a><tt class="py-lineno">1268</tt> <tt class="py-line"> </tt>
3701
<a name="H5"></a><div id="H5-def"><a name="L1251"></a><tt class="py-lineno">1251</tt> <a class="py-toggle" href="#" id="H5-toggle" onclick="return toggle('H5');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H5-class.html">H5</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3702
</div><div id="H5-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H5-expanded"><a name="L1252"></a><tt class="py-lineno">1252</tt> <tt class="py-line"> </tt>
3703
<a name="L1253"></a><tt class="py-lineno">1253</tt> <tt class="py-line"> <tt id="link-264" class="py-name"><a title="web2py.gluon.html.A.tag
3704
web2py.gluon.html.B.tag
3705
web2py.gluon.html.BEAUTIFY.tag
3706
web2py.gluon.html.BODY.tag
3707
web2py.gluon.html.BR.tag
3708
web2py.gluon.html.BUTTON.tag
3709
web2py.gluon.html.CAT.tag
3710
web2py.gluon.html.CENTER.tag
3711
web2py.gluon.html.COL.tag
3712
web2py.gluon.html.COLGROUP.tag
3713
web2py.gluon.html.DIV.tag
3714
web2py.gluon.html.EM.tag
3715
web2py.gluon.html.EMBED.tag
3716
web2py.gluon.html.FIELDSET.tag
3717
web2py.gluon.html.FORM.tag
3718
web2py.gluon.html.H1.tag
3719
web2py.gluon.html.H2.tag
3720
web2py.gluon.html.H3.tag
3721
web2py.gluon.html.H4.tag
3722
web2py.gluon.html.H5.tag
3723
web2py.gluon.html.H6.tag
3724
web2py.gluon.html.HEAD.tag
3725
web2py.gluon.html.HR.tag
3726
web2py.gluon.html.HTML.tag
3727
web2py.gluon.html.I.tag
3728
web2py.gluon.html.IFRAME.tag
3729
web2py.gluon.html.IMG.tag
3730
web2py.gluon.html.INPUT.tag
3731
web2py.gluon.html.LABEL.tag
3732
web2py.gluon.html.LEGEND.tag
3733
web2py.gluon.html.LI.tag
3734
web2py.gluon.html.LINK.tag
3735
web2py.gluon.html.MENU.tag
3736
web2py.gluon.html.META.tag
3737
web2py.gluon.html.OBJECT.tag
3738
web2py.gluon.html.OL.tag
3739
web2py.gluon.html.OPTGROUP.tag
3740
web2py.gluon.html.OPTION.tag
3741
web2py.gluon.html.P.tag
3742
web2py.gluon.html.PRE.tag
3743
web2py.gluon.html.SCRIPT.tag
3744
web2py.gluon.html.SELECT.tag
3745
web2py.gluon.html.SPAN.tag
3746
web2py.gluon.html.STYLE.tag
3747
web2py.gluon.html.TABLE.tag
3748
web2py.gluon.html.TBODY.tag
3749
web2py.gluon.html.TD.tag
3750
web2py.gluon.html.TEXTAREA.tag
3751
web2py.gluon.html.TFOOT.tag
3752
web2py.gluon.html.TH.tag
3753
web2py.gluon.html.THEAD.tag
3754
web2py.gluon.html.TITLE.tag
3755
web2py.gluon.html.TR.tag
3756
web2py.gluon.html.TT.tag
3757
web2py.gluon.html.UL.tag
3758
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-264', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h5'</tt> </tt>
3759
</div><a name="L1254"></a><tt class="py-lineno">1254</tt> <tt class="py-line"> </tt>
3760
<a name="L1255"></a><tt class="py-lineno">1255</tt> <tt class="py-line"> </tt>
3761
<a name="H6"></a><div id="H6-def"><a name="L1256"></a><tt class="py-lineno">1256</tt> <a class="py-toggle" href="#" id="H6-toggle" onclick="return toggle('H6');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.H6-class.html">H6</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3762
</div><div id="H6-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H6-expanded"><a name="L1257"></a><tt class="py-lineno">1257</tt> <tt class="py-line"> </tt>
3763
<a name="L1258"></a><tt class="py-lineno">1258</tt> <tt class="py-line"> <tt id="link-265" class="py-name"><a title="web2py.gluon.html.A.tag
3764
web2py.gluon.html.B.tag
3765
web2py.gluon.html.BEAUTIFY.tag
3766
web2py.gluon.html.BODY.tag
3767
web2py.gluon.html.BR.tag
3768
web2py.gluon.html.BUTTON.tag
3769
web2py.gluon.html.CAT.tag
3770
web2py.gluon.html.CENTER.tag
3771
web2py.gluon.html.COL.tag
3772
web2py.gluon.html.COLGROUP.tag
3773
web2py.gluon.html.DIV.tag
3774
web2py.gluon.html.EM.tag
3775
web2py.gluon.html.EMBED.tag
3776
web2py.gluon.html.FIELDSET.tag
3777
web2py.gluon.html.FORM.tag
3778
web2py.gluon.html.H1.tag
3779
web2py.gluon.html.H2.tag
3780
web2py.gluon.html.H3.tag
3781
web2py.gluon.html.H4.tag
3782
web2py.gluon.html.H5.tag
3783
web2py.gluon.html.H6.tag
3784
web2py.gluon.html.HEAD.tag
3785
web2py.gluon.html.HR.tag
3786
web2py.gluon.html.HTML.tag
3787
web2py.gluon.html.I.tag
3788
web2py.gluon.html.IFRAME.tag
3789
web2py.gluon.html.IMG.tag
3790
web2py.gluon.html.INPUT.tag
3791
web2py.gluon.html.LABEL.tag
3792
web2py.gluon.html.LEGEND.tag
3793
web2py.gluon.html.LI.tag
3794
web2py.gluon.html.LINK.tag
3795
web2py.gluon.html.MENU.tag
3796
web2py.gluon.html.META.tag
3797
web2py.gluon.html.OBJECT.tag
3798
web2py.gluon.html.OL.tag
3799
web2py.gluon.html.OPTGROUP.tag
3800
web2py.gluon.html.OPTION.tag
3801
web2py.gluon.html.P.tag
3802
web2py.gluon.html.PRE.tag
3803
web2py.gluon.html.SCRIPT.tag
3804
web2py.gluon.html.SELECT.tag
3805
web2py.gluon.html.SPAN.tag
3806
web2py.gluon.html.STYLE.tag
3807
web2py.gluon.html.TABLE.tag
3808
web2py.gluon.html.TBODY.tag
3809
web2py.gluon.html.TD.tag
3810
web2py.gluon.html.TEXTAREA.tag
3811
web2py.gluon.html.TFOOT.tag
3812
web2py.gluon.html.TH.tag
3813
web2py.gluon.html.THEAD.tag
3814
web2py.gluon.html.TITLE.tag
3815
web2py.gluon.html.TR.tag
3816
web2py.gluon.html.TT.tag
3817
web2py.gluon.html.UL.tag
3818
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-265', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h6'</tt> </tt>
3819
</div><a name="L1259"></a><tt class="py-lineno">1259</tt> <tt class="py-line"> </tt>
3820
<a name="L1260"></a><tt class="py-lineno">1260</tt> <tt class="py-line"> </tt>
3821
<a name="P"></a><div id="P-def"><a name="L1261"></a><tt class="py-lineno">1261</tt> <a class="py-toggle" href="#" id="P-toggle" onclick="return toggle('P');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.P-class.html">P</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3822
</div><div id="P-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="P-expanded"><a name="L1262"></a><tt class="py-lineno">1262</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
3823
<a name="L1263"></a><tt class="py-lineno">1263</tt> <tt class="py-line"><tt class="py-docstring"> Will replace ``\\n`` by ``<br />`` if the `cr2br` attribute is provided.</tt> </tt>
3824
<a name="L1264"></a><tt class="py-lineno">1264</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
3825
<a name="L1265"></a><tt class="py-lineno">1265</tt> <tt class="py-line"><tt class="py-docstring"> see also :class:`DIV`</tt> </tt>
3826
<a name="L1266"></a><tt class="py-lineno">1266</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
3827
<a name="L1267"></a><tt class="py-lineno">1267</tt> <tt class="py-line"> </tt>
3828
<a name="L1268"></a><tt class="py-lineno">1268</tt> <tt class="py-line"> <tt id="link-266" class="py-name"><a title="web2py.gluon.html.A.tag
3829
web2py.gluon.html.B.tag
3830
web2py.gluon.html.BEAUTIFY.tag
3831
web2py.gluon.html.BODY.tag
3832
web2py.gluon.html.BR.tag
3833
web2py.gluon.html.BUTTON.tag
3834
web2py.gluon.html.CAT.tag
3835
web2py.gluon.html.CENTER.tag
3836
web2py.gluon.html.COL.tag
3837
web2py.gluon.html.COLGROUP.tag
3838
web2py.gluon.html.DIV.tag
3839
web2py.gluon.html.EM.tag
3840
web2py.gluon.html.EMBED.tag
3841
web2py.gluon.html.FIELDSET.tag
3842
web2py.gluon.html.FORM.tag
3843
web2py.gluon.html.H1.tag
3844
web2py.gluon.html.H2.tag
3845
web2py.gluon.html.H3.tag
3846
web2py.gluon.html.H4.tag
3847
web2py.gluon.html.H5.tag
3848
web2py.gluon.html.H6.tag
3849
web2py.gluon.html.HEAD.tag
3850
web2py.gluon.html.HR.tag
3851
web2py.gluon.html.HTML.tag
3852
web2py.gluon.html.I.tag
3853
web2py.gluon.html.IFRAME.tag
3854
web2py.gluon.html.IMG.tag
3855
web2py.gluon.html.INPUT.tag
3856
web2py.gluon.html.LABEL.tag
3857
web2py.gluon.html.LEGEND.tag
3858
web2py.gluon.html.LI.tag
3859
web2py.gluon.html.LINK.tag
3860
web2py.gluon.html.MENU.tag
3861
web2py.gluon.html.META.tag
3862
web2py.gluon.html.OBJECT.tag
3863
web2py.gluon.html.OL.tag
3864
web2py.gluon.html.OPTGROUP.tag
3865
web2py.gluon.html.OPTION.tag
3866
web2py.gluon.html.P.tag
3867
web2py.gluon.html.PRE.tag
3868
web2py.gluon.html.SCRIPT.tag
3869
web2py.gluon.html.SELECT.tag
3870
web2py.gluon.html.SPAN.tag
3871
web2py.gluon.html.STYLE.tag
3872
web2py.gluon.html.TABLE.tag
3873
web2py.gluon.html.TBODY.tag
3874
web2py.gluon.html.TD.tag
3875
web2py.gluon.html.TEXTAREA.tag
3876
web2py.gluon.html.TFOOT.tag
3877
web2py.gluon.html.TH.tag
3878
web2py.gluon.html.THEAD.tag
3879
web2py.gluon.html.TITLE.tag
3880
web2py.gluon.html.TR.tag
3881
web2py.gluon.html.TT.tag
3882
web2py.gluon.html.UL.tag
3883
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-266', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'p'</tt> </tt>
4004
3884
<a name="L1269"></a><tt class="py-lineno">1269</tt> <tt class="py-line"> </tt>
4005
<a name="HR"></a><div id="HR-def"><a name="L1270"></a><tt class="py-lineno">1270</tt> <a class="py-toggle" href="#" id="HR-toggle" onclick="return toggle('HR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.HR-class.html">HR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4006
</div><div id="HR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HR-expanded"><a name="L1271"></a><tt class="py-lineno">1271</tt> <tt class="py-line"> </tt>
4007
<a name="L1272"></a><tt class="py-lineno">1272</tt> <tt class="py-line"> <tt id="link-281" class="py-name"><a title="web2py.gluon.html.A.tag
4008
web2py.gluon.html.B.tag
4009
web2py.gluon.html.BEAUTIFY.tag
4010
web2py.gluon.html.BODY.tag
4011
web2py.gluon.html.BR.tag
4012
web2py.gluon.html.BUTTON.tag
4013
web2py.gluon.html.CAT.tag
4014
web2py.gluon.html.CENTER.tag
4015
web2py.gluon.html.COL.tag
4016
web2py.gluon.html.COLGROUP.tag
4017
web2py.gluon.html.DIV.tag
4018
web2py.gluon.html.EM.tag
4019
web2py.gluon.html.EMBED.tag
4020
web2py.gluon.html.FIELDSET.tag
4021
web2py.gluon.html.FORM.tag
4022
web2py.gluon.html.H1.tag
4023
web2py.gluon.html.H2.tag
4024
web2py.gluon.html.H3.tag
4025
web2py.gluon.html.H4.tag
4026
web2py.gluon.html.H5.tag
4027
web2py.gluon.html.H6.tag
4028
web2py.gluon.html.HEAD.tag
4029
web2py.gluon.html.HR.tag
4030
web2py.gluon.html.HTML.tag
4031
web2py.gluon.html.I.tag
4032
web2py.gluon.html.IFRAME.tag
4033
web2py.gluon.html.IMG.tag
4034
web2py.gluon.html.INPUT.tag
4035
web2py.gluon.html.LABEL.tag
4036
web2py.gluon.html.LEGEND.tag
4037
web2py.gluon.html.LI.tag
4038
web2py.gluon.html.LINK.tag
4039
web2py.gluon.html.MENU.tag
4040
web2py.gluon.html.META.tag
4041
web2py.gluon.html.OBJECT.tag
4042
web2py.gluon.html.OL.tag
4043
web2py.gluon.html.OPTGROUP.tag
4044
web2py.gluon.html.OPTION.tag
4045
web2py.gluon.html.P.tag
4046
web2py.gluon.html.PRE.tag
4047
web2py.gluon.html.SCRIPT.tag
4048
web2py.gluon.html.SELECT.tag
4049
web2py.gluon.html.SPAN.tag
4050
web2py.gluon.html.STYLE.tag
4051
web2py.gluon.html.TABLE.tag
4052
web2py.gluon.html.TBODY.tag
4053
web2py.gluon.html.TD.tag
4054
web2py.gluon.html.TEXTAREA.tag
4055
web2py.gluon.html.TFOOT.tag
4056
web2py.gluon.html.TH.tag
4057
web2py.gluon.html.THEAD.tag
4058
web2py.gluon.html.TITLE.tag
4059
web2py.gluon.html.TR.tag
4060
web2py.gluon.html.TT.tag
4061
web2py.gluon.html.UL.tag
4062
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-281', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'hr/'</tt> </tt>
4063
</div><a name="L1273"></a><tt class="py-lineno">1273</tt> <tt class="py-line"> </tt>
4064
<a name="L1274"></a><tt class="py-lineno">1274</tt> <tt class="py-line"> </tt>
4065
<a name="A"></a><div id="A-def"><a name="L1275"></a><tt class="py-lineno">1275</tt> <a class="py-toggle" href="#" id="A-toggle" onclick="return toggle('A');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.A-class.html">A</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4066
</div><div id="A-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="A-expanded"><a name="L1276"></a><tt class="py-lineno">1276</tt> <tt class="py-line"> </tt>
4067
<a name="L1277"></a><tt class="py-lineno">1277</tt> <tt class="py-line"> <tt id="link-282" class="py-name"><a title="web2py.gluon.html.A.tag
4068
web2py.gluon.html.B.tag
4069
web2py.gluon.html.BEAUTIFY.tag
4070
web2py.gluon.html.BODY.tag
4071
web2py.gluon.html.BR.tag
4072
web2py.gluon.html.BUTTON.tag
4073
web2py.gluon.html.CAT.tag
4074
web2py.gluon.html.CENTER.tag
4075
web2py.gluon.html.COL.tag
4076
web2py.gluon.html.COLGROUP.tag
4077
web2py.gluon.html.DIV.tag
4078
web2py.gluon.html.EM.tag
4079
web2py.gluon.html.EMBED.tag
4080
web2py.gluon.html.FIELDSET.tag
4081
web2py.gluon.html.FORM.tag
4082
web2py.gluon.html.H1.tag
4083
web2py.gluon.html.H2.tag
4084
web2py.gluon.html.H3.tag
4085
web2py.gluon.html.H4.tag
4086
web2py.gluon.html.H5.tag
4087
web2py.gluon.html.H6.tag
4088
web2py.gluon.html.HEAD.tag
4089
web2py.gluon.html.HR.tag
4090
web2py.gluon.html.HTML.tag
4091
web2py.gluon.html.I.tag
4092
web2py.gluon.html.IFRAME.tag
4093
web2py.gluon.html.IMG.tag
4094
web2py.gluon.html.INPUT.tag
4095
web2py.gluon.html.LABEL.tag
4096
web2py.gluon.html.LEGEND.tag
4097
web2py.gluon.html.LI.tag
4098
web2py.gluon.html.LINK.tag
4099
web2py.gluon.html.MENU.tag
4100
web2py.gluon.html.META.tag
4101
web2py.gluon.html.OBJECT.tag
4102
web2py.gluon.html.OL.tag
4103
web2py.gluon.html.OPTGROUP.tag
4104
web2py.gluon.html.OPTION.tag
4105
web2py.gluon.html.P.tag
4106
web2py.gluon.html.PRE.tag
4107
web2py.gluon.html.SCRIPT.tag
4108
web2py.gluon.html.SELECT.tag
4109
web2py.gluon.html.SPAN.tag
4110
web2py.gluon.html.STYLE.tag
4111
web2py.gluon.html.TABLE.tag
4112
web2py.gluon.html.TBODY.tag
4113
web2py.gluon.html.TD.tag
4114
web2py.gluon.html.TEXTAREA.tag
4115
web2py.gluon.html.TFOOT.tag
4116
web2py.gluon.html.TH.tag
4117
web2py.gluon.html.THEAD.tag
4118
web2py.gluon.html.TITLE.tag
4119
web2py.gluon.html.TR.tag
4120
web2py.gluon.html.TT.tag
4121
web2py.gluon.html.UL.tag
4122
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-282', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'a'</tt> </tt>
4123
<a name="L1278"></a><tt class="py-lineno">1278</tt> <tt class="py-line"> </tt>
4124
<a name="A.xml"></a><div id="A.xml-def"><a name="L1279"></a><tt class="py-lineno">1279</tt> <a class="py-toggle" href="#" id="A.xml-toggle" onclick="return toggle('A.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.A-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4125
</div><div id="A.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="A.xml-expanded"><a name="L1280"></a><tt class="py-lineno">1280</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'callback'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
4126
<a name="L1281"></a><tt class="py-lineno">1281</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_onclick'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"ajax('%s',[],'%s');return false;"</tt> <tt class="py-op">%</tt> \ </tt>
4127
<a name="L1282"></a><tt class="py-lineno">1282</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'callback'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'target'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
4128
<a name="L1283"></a><tt class="py-lineno">1283</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_href'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_href'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'#null'</tt> </tt>
4129
<a name="L1284"></a><tt class="py-lineno">1284</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'cid'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
4130
<a name="L1285"></a><tt class="py-lineno">1285</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_onclick'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">'web2py_component("%s","%s");return false;'</tt> <tt class="py-op">%</tt> \ </tt>
4131
<a name="L1286"></a><tt class="py-lineno">1286</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_href'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'cid'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
4132
<a name="L1287"></a><tt class="py-lineno">1287</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-283" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
4133
web2py.gluon.dal.NoSQLAdapter.DIV
4134
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-283', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="web2py.gluon.dal.Rows.xml
4135
web2py.gluon.html.A.xml
4136
web2py.gluon.html.CODE.xml
4137
web2py.gluon.html.DIV.xml
4138
web2py.gluon.html.FORM.xml
4139
web2py.gluon.html.HTML.xml
4140
web2py.gluon.html.INPUT.xml
4141
web2py.gluon.html.MARKMIN.xml
4142
web2py.gluon.html.MENU.xml
4143
web2py.gluon.html.P.xml
4144
web2py.gluon.html.SCRIPT.xml
4145
web2py.gluon.html.STYLE.xml
4146
web2py.gluon.html.XHTML.xml
4147
web2py.gluon.html.XML.xml
4148
web2py.gluon.html.XmlComponent.xml
4149
web2py.gluon.languages.lazyT.xml
4150
web2py.gluon.serializers.xml
4151
web2py.gluon.tools.Recaptcha.xml
4152
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-284', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
4153
</div></div><a name="L1288"></a><tt class="py-lineno">1288</tt> <tt class="py-line"> </tt>
4154
<a name="L1289"></a><tt class="py-lineno">1289</tt> <tt class="py-line"> </tt>
4155
<a name="BUTTON"></a><div id="BUTTON-def"><a name="L1290"></a><tt class="py-lineno">1290</tt> <a class="py-toggle" href="#" id="BUTTON-toggle" onclick="return toggle('BUTTON');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.BUTTON-class.html">BUTTON</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4156
</div><div id="BUTTON-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BUTTON-expanded"><a name="L1291"></a><tt class="py-lineno">1291</tt> <tt class="py-line"> </tt>
4157
<a name="L1292"></a><tt class="py-lineno">1292</tt> <tt class="py-line"> <tt id="link-285" class="py-name"><a title="web2py.gluon.html.A.tag
4158
web2py.gluon.html.B.tag
4159
web2py.gluon.html.BEAUTIFY.tag
4160
web2py.gluon.html.BODY.tag
4161
web2py.gluon.html.BR.tag
4162
web2py.gluon.html.BUTTON.tag
4163
web2py.gluon.html.CAT.tag
4164
web2py.gluon.html.CENTER.tag
4165
web2py.gluon.html.COL.tag
4166
web2py.gluon.html.COLGROUP.tag
4167
web2py.gluon.html.DIV.tag
4168
web2py.gluon.html.EM.tag
4169
web2py.gluon.html.EMBED.tag
4170
web2py.gluon.html.FIELDSET.tag
4171
web2py.gluon.html.FORM.tag
4172
web2py.gluon.html.H1.tag
4173
web2py.gluon.html.H2.tag
4174
web2py.gluon.html.H3.tag
4175
web2py.gluon.html.H4.tag
4176
web2py.gluon.html.H5.tag
4177
web2py.gluon.html.H6.tag
4178
web2py.gluon.html.HEAD.tag
4179
web2py.gluon.html.HR.tag
4180
web2py.gluon.html.HTML.tag
4181
web2py.gluon.html.I.tag
4182
web2py.gluon.html.IFRAME.tag
4183
web2py.gluon.html.IMG.tag
4184
web2py.gluon.html.INPUT.tag
4185
web2py.gluon.html.LABEL.tag
4186
web2py.gluon.html.LEGEND.tag
4187
web2py.gluon.html.LI.tag
4188
web2py.gluon.html.LINK.tag
4189
web2py.gluon.html.MENU.tag
4190
web2py.gluon.html.META.tag
4191
web2py.gluon.html.OBJECT.tag
4192
web2py.gluon.html.OL.tag
4193
web2py.gluon.html.OPTGROUP.tag
4194
web2py.gluon.html.OPTION.tag
4195
web2py.gluon.html.P.tag
4196
web2py.gluon.html.PRE.tag
4197
web2py.gluon.html.SCRIPT.tag
4198
web2py.gluon.html.SELECT.tag
4199
web2py.gluon.html.SPAN.tag
4200
web2py.gluon.html.STYLE.tag
4201
web2py.gluon.html.TABLE.tag
4202
web2py.gluon.html.TBODY.tag
4203
web2py.gluon.html.TD.tag
4204
web2py.gluon.html.TEXTAREA.tag
4205
web2py.gluon.html.TFOOT.tag
4206
web2py.gluon.html.TH.tag
4207
web2py.gluon.html.THEAD.tag
4208
web2py.gluon.html.TITLE.tag
4209
web2py.gluon.html.TR.tag
4210
web2py.gluon.html.TT.tag
4211
web2py.gluon.html.UL.tag
4212
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-285', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'button'</tt> </tt>
4213
</div><a name="L1293"></a><tt class="py-lineno">1293</tt> <tt class="py-line"> </tt>
4214
<a name="L1294"></a><tt class="py-lineno">1294</tt> <tt class="py-line"> </tt>
4215
<a name="EM"></a><div id="EM-def"><a name="L1295"></a><tt class="py-lineno">1295</tt> <a class="py-toggle" href="#" id="EM-toggle" onclick="return toggle('EM');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.EM-class.html">EM</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4216
</div><div id="EM-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="EM-expanded"><a name="L1296"></a><tt class="py-lineno">1296</tt> <tt class="py-line"> </tt>
4217
<a name="L1297"></a><tt class="py-lineno">1297</tt> <tt class="py-line"> <tt id="link-286" class="py-name"><a title="web2py.gluon.html.A.tag
4218
web2py.gluon.html.B.tag
4219
web2py.gluon.html.BEAUTIFY.tag
4220
web2py.gluon.html.BODY.tag
4221
web2py.gluon.html.BR.tag
4222
web2py.gluon.html.BUTTON.tag
4223
web2py.gluon.html.CAT.tag
4224
web2py.gluon.html.CENTER.tag
4225
web2py.gluon.html.COL.tag
4226
web2py.gluon.html.COLGROUP.tag
4227
web2py.gluon.html.DIV.tag
4228
web2py.gluon.html.EM.tag
4229
web2py.gluon.html.EMBED.tag
4230
web2py.gluon.html.FIELDSET.tag
4231
web2py.gluon.html.FORM.tag
4232
web2py.gluon.html.H1.tag
4233
web2py.gluon.html.H2.tag
4234
web2py.gluon.html.H3.tag
4235
web2py.gluon.html.H4.tag
4236
web2py.gluon.html.H5.tag
4237
web2py.gluon.html.H6.tag
4238
web2py.gluon.html.HEAD.tag
4239
web2py.gluon.html.HR.tag
4240
web2py.gluon.html.HTML.tag
4241
web2py.gluon.html.I.tag
4242
web2py.gluon.html.IFRAME.tag
4243
web2py.gluon.html.IMG.tag
4244
web2py.gluon.html.INPUT.tag
4245
web2py.gluon.html.LABEL.tag
4246
web2py.gluon.html.LEGEND.tag
4247
web2py.gluon.html.LI.tag
4248
web2py.gluon.html.LINK.tag
4249
web2py.gluon.html.MENU.tag
4250
web2py.gluon.html.META.tag
4251
web2py.gluon.html.OBJECT.tag
4252
web2py.gluon.html.OL.tag
4253
web2py.gluon.html.OPTGROUP.tag
4254
web2py.gluon.html.OPTION.tag
4255
web2py.gluon.html.P.tag
4256
web2py.gluon.html.PRE.tag
4257
web2py.gluon.html.SCRIPT.tag
4258
web2py.gluon.html.SELECT.tag
4259
web2py.gluon.html.SPAN.tag
4260
web2py.gluon.html.STYLE.tag
4261
web2py.gluon.html.TABLE.tag
4262
web2py.gluon.html.TBODY.tag
4263
web2py.gluon.html.TD.tag
4264
web2py.gluon.html.TEXTAREA.tag
4265
web2py.gluon.html.TFOOT.tag
4266
web2py.gluon.html.TH.tag
4267
web2py.gluon.html.THEAD.tag
4268
web2py.gluon.html.TITLE.tag
4269
web2py.gluon.html.TR.tag
4270
web2py.gluon.html.TT.tag
4271
web2py.gluon.html.UL.tag
4272
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-286', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'em'</tt> </tt>
4273
</div><a name="L1298"></a><tt class="py-lineno">1298</tt> <tt class="py-line"> </tt>
4274
<a name="L1299"></a><tt class="py-lineno">1299</tt> <tt class="py-line"> </tt>
4275
<a name="EMBED"></a><div id="EMBED-def"><a name="L1300"></a><tt class="py-lineno">1300</tt> <a class="py-toggle" href="#" id="EMBED-toggle" onclick="return toggle('EMBED');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.EMBED-class.html">EMBED</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4276
</div><div id="EMBED-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="EMBED-expanded"><a name="L1301"></a><tt class="py-lineno">1301</tt> <tt class="py-line"> </tt>
4277
<a name="L1302"></a><tt class="py-lineno">1302</tt> <tt class="py-line"> <tt id="link-287" class="py-name"><a title="web2py.gluon.html.A.tag
4278
web2py.gluon.html.B.tag
4279
web2py.gluon.html.BEAUTIFY.tag
4280
web2py.gluon.html.BODY.tag
4281
web2py.gluon.html.BR.tag
4282
web2py.gluon.html.BUTTON.tag
4283
web2py.gluon.html.CAT.tag
4284
web2py.gluon.html.CENTER.tag
4285
web2py.gluon.html.COL.tag
4286
web2py.gluon.html.COLGROUP.tag
4287
web2py.gluon.html.DIV.tag
4288
web2py.gluon.html.EM.tag
4289
web2py.gluon.html.EMBED.tag
4290
web2py.gluon.html.FIELDSET.tag
4291
web2py.gluon.html.FORM.tag
4292
web2py.gluon.html.H1.tag
4293
web2py.gluon.html.H2.tag
4294
web2py.gluon.html.H3.tag
4295
web2py.gluon.html.H4.tag
4296
web2py.gluon.html.H5.tag
4297
web2py.gluon.html.H6.tag
4298
web2py.gluon.html.HEAD.tag
4299
web2py.gluon.html.HR.tag
4300
web2py.gluon.html.HTML.tag
4301
web2py.gluon.html.I.tag
4302
web2py.gluon.html.IFRAME.tag
4303
web2py.gluon.html.IMG.tag
4304
web2py.gluon.html.INPUT.tag
4305
web2py.gluon.html.LABEL.tag
4306
web2py.gluon.html.LEGEND.tag
4307
web2py.gluon.html.LI.tag
4308
web2py.gluon.html.LINK.tag
4309
web2py.gluon.html.MENU.tag
4310
web2py.gluon.html.META.tag
4311
web2py.gluon.html.OBJECT.tag
4312
web2py.gluon.html.OL.tag
4313
web2py.gluon.html.OPTGROUP.tag
4314
web2py.gluon.html.OPTION.tag
4315
web2py.gluon.html.P.tag
4316
web2py.gluon.html.PRE.tag
4317
web2py.gluon.html.SCRIPT.tag
4318
web2py.gluon.html.SELECT.tag
4319
web2py.gluon.html.SPAN.tag
4320
web2py.gluon.html.STYLE.tag
4321
web2py.gluon.html.TABLE.tag
4322
web2py.gluon.html.TBODY.tag
4323
web2py.gluon.html.TD.tag
4324
web2py.gluon.html.TEXTAREA.tag
4325
web2py.gluon.html.TFOOT.tag
4326
web2py.gluon.html.TH.tag
4327
web2py.gluon.html.THEAD.tag
4328
web2py.gluon.html.TITLE.tag
4329
web2py.gluon.html.TR.tag
4330
web2py.gluon.html.TT.tag
4331
web2py.gluon.html.UL.tag
4332
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-287', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'embed/'</tt> </tt>
4333
</div><a name="L1303"></a><tt class="py-lineno">1303</tt> <tt class="py-line"> </tt>
4334
<a name="L1304"></a><tt class="py-lineno">1304</tt> <tt class="py-line"> </tt>
4335
<a name="TT"></a><div id="TT-def"><a name="L1305"></a><tt class="py-lineno">1305</tt> <a class="py-toggle" href="#" id="TT-toggle" onclick="return toggle('TT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TT-class.html">TT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4336
</div><div id="TT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TT-expanded"><a name="L1306"></a><tt class="py-lineno">1306</tt> <tt class="py-line"> </tt>
4337
<a name="L1307"></a><tt class="py-lineno">1307</tt> <tt class="py-line"> <tt id="link-288" class="py-name"><a title="web2py.gluon.html.A.tag
4338
web2py.gluon.html.B.tag
4339
web2py.gluon.html.BEAUTIFY.tag
4340
web2py.gluon.html.BODY.tag
4341
web2py.gluon.html.BR.tag
4342
web2py.gluon.html.BUTTON.tag
4343
web2py.gluon.html.CAT.tag
4344
web2py.gluon.html.CENTER.tag
4345
web2py.gluon.html.COL.tag
4346
web2py.gluon.html.COLGROUP.tag
4347
web2py.gluon.html.DIV.tag
4348
web2py.gluon.html.EM.tag
4349
web2py.gluon.html.EMBED.tag
4350
web2py.gluon.html.FIELDSET.tag
4351
web2py.gluon.html.FORM.tag
4352
web2py.gluon.html.H1.tag
4353
web2py.gluon.html.H2.tag
4354
web2py.gluon.html.H3.tag
4355
web2py.gluon.html.H4.tag
4356
web2py.gluon.html.H5.tag
4357
web2py.gluon.html.H6.tag
4358
web2py.gluon.html.HEAD.tag
4359
web2py.gluon.html.HR.tag
4360
web2py.gluon.html.HTML.tag
4361
web2py.gluon.html.I.tag
4362
web2py.gluon.html.IFRAME.tag
4363
web2py.gluon.html.IMG.tag
4364
web2py.gluon.html.INPUT.tag
4365
web2py.gluon.html.LABEL.tag
4366
web2py.gluon.html.LEGEND.tag
4367
web2py.gluon.html.LI.tag
4368
web2py.gluon.html.LINK.tag
4369
web2py.gluon.html.MENU.tag
4370
web2py.gluon.html.META.tag
4371
web2py.gluon.html.OBJECT.tag
4372
web2py.gluon.html.OL.tag
4373
web2py.gluon.html.OPTGROUP.tag
4374
web2py.gluon.html.OPTION.tag
4375
web2py.gluon.html.P.tag
4376
web2py.gluon.html.PRE.tag
4377
web2py.gluon.html.SCRIPT.tag
4378
web2py.gluon.html.SELECT.tag
4379
web2py.gluon.html.SPAN.tag
4380
web2py.gluon.html.STYLE.tag
4381
web2py.gluon.html.TABLE.tag
4382
web2py.gluon.html.TBODY.tag
4383
web2py.gluon.html.TD.tag
4384
web2py.gluon.html.TEXTAREA.tag
4385
web2py.gluon.html.TFOOT.tag
4386
web2py.gluon.html.TH.tag
4387
web2py.gluon.html.THEAD.tag
4388
web2py.gluon.html.TITLE.tag
4389
web2py.gluon.html.TR.tag
4390
web2py.gluon.html.TT.tag
4391
web2py.gluon.html.UL.tag
4392
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-288', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tt'</tt> </tt>
4393
</div><a name="L1308"></a><tt class="py-lineno">1308</tt> <tt class="py-line"> </tt>
4394
<a name="L1309"></a><tt class="py-lineno">1309</tt> <tt class="py-line"> </tt>
4395
<a name="PRE"></a><div id="PRE-def"><a name="L1310"></a><tt class="py-lineno">1310</tt> <a class="py-toggle" href="#" id="PRE-toggle" onclick="return toggle('PRE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.PRE-class.html">PRE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4396
</div><div id="PRE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="PRE-expanded"><a name="L1311"></a><tt class="py-lineno">1311</tt> <tt class="py-line"> </tt>
4397
<a name="L1312"></a><tt class="py-lineno">1312</tt> <tt class="py-line"> <tt id="link-289" class="py-name"><a title="web2py.gluon.html.A.tag
4398
web2py.gluon.html.B.tag
4399
web2py.gluon.html.BEAUTIFY.tag
4400
web2py.gluon.html.BODY.tag
4401
web2py.gluon.html.BR.tag
4402
web2py.gluon.html.BUTTON.tag
4403
web2py.gluon.html.CAT.tag
4404
web2py.gluon.html.CENTER.tag
4405
web2py.gluon.html.COL.tag
4406
web2py.gluon.html.COLGROUP.tag
4407
web2py.gluon.html.DIV.tag
4408
web2py.gluon.html.EM.tag
4409
web2py.gluon.html.EMBED.tag
4410
web2py.gluon.html.FIELDSET.tag
4411
web2py.gluon.html.FORM.tag
4412
web2py.gluon.html.H1.tag
4413
web2py.gluon.html.H2.tag
4414
web2py.gluon.html.H3.tag
4415
web2py.gluon.html.H4.tag
4416
web2py.gluon.html.H5.tag
4417
web2py.gluon.html.H6.tag
4418
web2py.gluon.html.HEAD.tag
4419
web2py.gluon.html.HR.tag
4420
web2py.gluon.html.HTML.tag
4421
web2py.gluon.html.I.tag
4422
web2py.gluon.html.IFRAME.tag
4423
web2py.gluon.html.IMG.tag
4424
web2py.gluon.html.INPUT.tag
4425
web2py.gluon.html.LABEL.tag
4426
web2py.gluon.html.LEGEND.tag
4427
web2py.gluon.html.LI.tag
4428
web2py.gluon.html.LINK.tag
4429
web2py.gluon.html.MENU.tag
4430
web2py.gluon.html.META.tag
4431
web2py.gluon.html.OBJECT.tag
4432
web2py.gluon.html.OL.tag
4433
web2py.gluon.html.OPTGROUP.tag
4434
web2py.gluon.html.OPTION.tag
4435
web2py.gluon.html.P.tag
4436
web2py.gluon.html.PRE.tag
4437
web2py.gluon.html.SCRIPT.tag
4438
web2py.gluon.html.SELECT.tag
4439
web2py.gluon.html.SPAN.tag
4440
web2py.gluon.html.STYLE.tag
4441
web2py.gluon.html.TABLE.tag
4442
web2py.gluon.html.TBODY.tag
4443
web2py.gluon.html.TD.tag
4444
web2py.gluon.html.TEXTAREA.tag
4445
web2py.gluon.html.TFOOT.tag
4446
web2py.gluon.html.TH.tag
4447
web2py.gluon.html.THEAD.tag
4448
web2py.gluon.html.TITLE.tag
4449
web2py.gluon.html.TR.tag
4450
web2py.gluon.html.TT.tag
4451
web2py.gluon.html.UL.tag
4452
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-289', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'pre'</tt> </tt>
4453
</div><a name="L1313"></a><tt class="py-lineno">1313</tt> <tt class="py-line"> </tt>
4454
<a name="L1314"></a><tt class="py-lineno">1314</tt> <tt class="py-line"> </tt>
4455
<a name="CENTER"></a><div id="CENTER-def"><a name="L1315"></a><tt class="py-lineno">1315</tt> <a class="py-toggle" href="#" id="CENTER-toggle" onclick="return toggle('CENTER');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.CENTER-class.html">CENTER</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4456
</div><div id="CENTER-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CENTER-expanded"><a name="L1316"></a><tt class="py-lineno">1316</tt> <tt class="py-line"> </tt>
4457
<a name="L1317"></a><tt class="py-lineno">1317</tt> <tt class="py-line"> <tt id="link-290" class="py-name"><a title="web2py.gluon.html.A.tag
4458
web2py.gluon.html.B.tag
4459
web2py.gluon.html.BEAUTIFY.tag
4460
web2py.gluon.html.BODY.tag
4461
web2py.gluon.html.BR.tag
4462
web2py.gluon.html.BUTTON.tag
4463
web2py.gluon.html.CAT.tag
4464
web2py.gluon.html.CENTER.tag
4465
web2py.gluon.html.COL.tag
4466
web2py.gluon.html.COLGROUP.tag
4467
web2py.gluon.html.DIV.tag
4468
web2py.gluon.html.EM.tag
4469
web2py.gluon.html.EMBED.tag
4470
web2py.gluon.html.FIELDSET.tag
4471
web2py.gluon.html.FORM.tag
4472
web2py.gluon.html.H1.tag
4473
web2py.gluon.html.H2.tag
4474
web2py.gluon.html.H3.tag
4475
web2py.gluon.html.H4.tag
4476
web2py.gluon.html.H5.tag
4477
web2py.gluon.html.H6.tag
4478
web2py.gluon.html.HEAD.tag
4479
web2py.gluon.html.HR.tag
4480
web2py.gluon.html.HTML.tag
4481
web2py.gluon.html.I.tag
4482
web2py.gluon.html.IFRAME.tag
4483
web2py.gluon.html.IMG.tag
4484
web2py.gluon.html.INPUT.tag
4485
web2py.gluon.html.LABEL.tag
4486
web2py.gluon.html.LEGEND.tag
4487
web2py.gluon.html.LI.tag
4488
web2py.gluon.html.LINK.tag
4489
web2py.gluon.html.MENU.tag
4490
web2py.gluon.html.META.tag
4491
web2py.gluon.html.OBJECT.tag
4492
web2py.gluon.html.OL.tag
4493
web2py.gluon.html.OPTGROUP.tag
4494
web2py.gluon.html.OPTION.tag
4495
web2py.gluon.html.P.tag
4496
web2py.gluon.html.PRE.tag
4497
web2py.gluon.html.SCRIPT.tag
4498
web2py.gluon.html.SELECT.tag
4499
web2py.gluon.html.SPAN.tag
4500
web2py.gluon.html.STYLE.tag
4501
web2py.gluon.html.TABLE.tag
4502
web2py.gluon.html.TBODY.tag
4503
web2py.gluon.html.TD.tag
4504
web2py.gluon.html.TEXTAREA.tag
4505
web2py.gluon.html.TFOOT.tag
4506
web2py.gluon.html.TH.tag
4507
web2py.gluon.html.THEAD.tag
4508
web2py.gluon.html.TITLE.tag
4509
web2py.gluon.html.TR.tag
4510
web2py.gluon.html.TT.tag
4511
web2py.gluon.html.UL.tag
4512
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-290', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'center'</tt> </tt>
4513
</div><a name="L1318"></a><tt class="py-lineno">1318</tt> <tt class="py-line"> </tt>
4514
<a name="L1319"></a><tt class="py-lineno">1319</tt> <tt class="py-line"> </tt>
4515
<a name="CODE"></a><div id="CODE-def"><a name="L1320"></a><tt class="py-lineno">1320</tt> <a class="py-toggle" href="#" id="CODE-toggle" onclick="return toggle('CODE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.CODE-class.html">CODE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4516
</div><div id="CODE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CODE-expanded"><a name="L1321"></a><tt class="py-lineno">1321</tt> <tt class="py-line"> </tt>
4517
<a name="L1322"></a><tt class="py-lineno">1322</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
4518
<a name="L1323"></a><tt class="py-lineno">1323</tt> <tt class="py-line"><tt class="py-docstring"> displays code in HTML with syntax highlighting.</tt> </tt>
4519
<a name="L1324"></a><tt class="py-lineno">1324</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4520
<a name="L1325"></a><tt class="py-lineno">1325</tt> <tt class="py-line"><tt class="py-docstring"> :param attributes: optional attributes:</tt> </tt>
4521
<a name="L1326"></a><tt class="py-lineno">1326</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4522
<a name="L1327"></a><tt class="py-lineno">1327</tt> <tt class="py-line"><tt class="py-docstring"> - language: indicates the language, otherwise PYTHON is assumed</tt> </tt>
4523
<a name="L1328"></a><tt class="py-lineno">1328</tt> <tt class="py-line"><tt class="py-docstring"> - link: can provide a link</tt> </tt>
4524
<a name="L1329"></a><tt class="py-lineno">1329</tt> <tt class="py-line"><tt class="py-docstring"> - styles: for styles</tt> </tt>
4525
<a name="L1330"></a><tt class="py-lineno">1330</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4526
<a name="L1331"></a><tt class="py-lineno">1331</tt> <tt class="py-line"><tt class="py-docstring"> Example::</tt> </tt>
4527
<a name="L1332"></a><tt class="py-lineno">1332</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4528
<a name="L1333"></a><tt class="py-lineno">1333</tt> <tt class="py-line"><tt class="py-docstring"> {{=CODE(\"print 'hello world'\", language='python', link=None,</tt> </tt>
4529
<a name="L1334"></a><tt class="py-lineno">1334</tt> <tt class="py-line"><tt class="py-docstring"> counter=1, styles={}, highlight_line=None)}}</tt> </tt>
4530
<a name="L1335"></a><tt class="py-lineno">1335</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4531
<a name="L1336"></a><tt class="py-lineno">1336</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4532
<a name="L1337"></a><tt class="py-lineno">1337</tt> <tt class="py-line"><tt class="py-docstring"> supported languages are \"python\", \"html_plain\", \"c\", \"cpp\",</tt> </tt>
4533
<a name="L1338"></a><tt class="py-lineno">1338</tt> <tt class="py-line"><tt class="py-docstring"> \"web2py\", \"html\".</tt> </tt>
4534
<a name="L1339"></a><tt class="py-lineno">1339</tt> <tt class="py-line"><tt class="py-docstring"> The \"html\" language interprets {{ and }} tags as \"web2py\" code,</tt> </tt>
4535
<a name="L1340"></a><tt class="py-lineno">1340</tt> <tt class="py-line"><tt class="py-docstring"> \"html_plain\" doesn't.</tt> </tt>
4536
<a name="L1341"></a><tt class="py-lineno">1341</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4537
<a name="L1342"></a><tt class="py-lineno">1342</tt> <tt class="py-line"><tt class="py-docstring"> if a link='/examples/global/vars/' is provided web2py keywords are linked to</tt> </tt>
4538
<a name="L1343"></a><tt class="py-lineno">1343</tt> <tt class="py-line"><tt class="py-docstring"> the online docs.</tt> </tt>
4539
<a name="L1344"></a><tt class="py-lineno">1344</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4540
<a name="L1345"></a><tt class="py-lineno">1345</tt> <tt class="py-line"><tt class="py-docstring"> the counter is used for line numbering, counter can be None or a prompt</tt> </tt>
4541
<a name="L1346"></a><tt class="py-lineno">1346</tt> <tt class="py-line"><tt class="py-docstring"> string.</tt> </tt>
4542
<a name="L1347"></a><tt class="py-lineno">1347</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
4543
<a name="L1348"></a><tt class="py-lineno">1348</tt> <tt class="py-line"> </tt>
4544
<a name="CODE.xml"></a><div id="CODE.xml-def"><a name="L1349"></a><tt class="py-lineno">1349</tt> <a class="py-toggle" href="#" id="CODE.xml-toggle" onclick="return toggle('CODE.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.CODE-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4545
</div><div id="CODE.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CODE.xml-expanded"><a name="L1350"></a><tt class="py-lineno">1350</tt> <tt class="py-line"> <tt class="py-name">language</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'language'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'PYTHON'</tt> </tt>
4546
<a name="L1351"></a><tt class="py-lineno">1351</tt> <tt class="py-line"> <tt class="py-name">link</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'link'</tt><tt class="py-op">]</tt> </tt>
4547
<a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"> <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name" targets="Method web2py.gluon.rocket.Headers.get()=web2py.gluon.rocket.Headers-class.html#get"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-291', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'counter'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
4548
<a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"> <tt class="py-name">highlight_line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-292', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'highlight_line'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
4549
<a name="L1354"></a><tt class="py-lineno">1354</tt> <tt class="py-line"> <tt class="py-name">styles</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'styles'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
4550
<a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-293" class="py-name"><a title="web2py.gluon.highlight
3885
<a name="P.xml"></a><div id="P.xml-def"><a name="L1270"></a><tt class="py-lineno">1270</tt> <a class="py-toggle" href="#" id="P.xml-toggle" onclick="return toggle('P.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.P-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3886
</div><div id="P.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="P.xml-expanded"><a name="L1271"></a><tt class="py-lineno">1271</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt id="link-267" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
3887
web2py.gluon.dal.NoSQLAdapter.DIV
3888
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-267', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="web2py.gluon.dal.Rows.xml
3889
web2py.gluon.html.A.xml
3890
web2py.gluon.html.CODE.xml
3891
web2py.gluon.html.DIV.xml
3892
web2py.gluon.html.FORM.xml
3893
web2py.gluon.html.HTML.xml
3894
web2py.gluon.html.INPUT.xml
3895
web2py.gluon.html.MARKMIN.xml
3896
web2py.gluon.html.MENU.xml
3897
web2py.gluon.html.P.xml
3898
web2py.gluon.html.SCRIPT.xml
3899
web2py.gluon.html.STYLE.xml
3900
web2py.gluon.html.XHTML.xml
3901
web2py.gluon.html.XML.xml
3902
web2py.gluon.html.XmlComponent.xml
3903
web2py.gluon.languages.lazyT.xml
3904
web2py.gluon.serializers.xml
3905
web2py.gluon.tools.Recaptcha.xml
3906
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-268', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
3907
<a name="L1272"></a><tt class="py-lineno">1272</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'cr2br'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
3908
<a name="L1273"></a><tt class="py-lineno">1273</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">'<br />'</tt><tt class="py-op">)</tt> </tt>
3909
<a name="L1274"></a><tt class="py-lineno">1274</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
3910
</div></div><a name="L1275"></a><tt class="py-lineno">1275</tt> <tt class="py-line"> </tt>
3911
<a name="L1276"></a><tt class="py-lineno">1276</tt> <tt class="py-line"> </tt>
3912
<a name="B"></a><div id="B-def"><a name="L1277"></a><tt class="py-lineno">1277</tt> <a class="py-toggle" href="#" id="B-toggle" onclick="return toggle('B');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.B-class.html">B</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3913
</div><div id="B-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="B-expanded"><a name="L1278"></a><tt class="py-lineno">1278</tt> <tt class="py-line"> </tt>
3914
<a name="L1279"></a><tt class="py-lineno">1279</tt> <tt class="py-line"> <tt id="link-269" class="py-name"><a title="web2py.gluon.html.A.tag
3915
web2py.gluon.html.B.tag
3916
web2py.gluon.html.BEAUTIFY.tag
3917
web2py.gluon.html.BODY.tag
3918
web2py.gluon.html.BR.tag
3919
web2py.gluon.html.BUTTON.tag
3920
web2py.gluon.html.CAT.tag
3921
web2py.gluon.html.CENTER.tag
3922
web2py.gluon.html.COL.tag
3923
web2py.gluon.html.COLGROUP.tag
3924
web2py.gluon.html.DIV.tag
3925
web2py.gluon.html.EM.tag
3926
web2py.gluon.html.EMBED.tag
3927
web2py.gluon.html.FIELDSET.tag
3928
web2py.gluon.html.FORM.tag
3929
web2py.gluon.html.H1.tag
3930
web2py.gluon.html.H2.tag
3931
web2py.gluon.html.H3.tag
3932
web2py.gluon.html.H4.tag
3933
web2py.gluon.html.H5.tag
3934
web2py.gluon.html.H6.tag
3935
web2py.gluon.html.HEAD.tag
3936
web2py.gluon.html.HR.tag
3937
web2py.gluon.html.HTML.tag
3938
web2py.gluon.html.I.tag
3939
web2py.gluon.html.IFRAME.tag
3940
web2py.gluon.html.IMG.tag
3941
web2py.gluon.html.INPUT.tag
3942
web2py.gluon.html.LABEL.tag
3943
web2py.gluon.html.LEGEND.tag
3944
web2py.gluon.html.LI.tag
3945
web2py.gluon.html.LINK.tag
3946
web2py.gluon.html.MENU.tag
3947
web2py.gluon.html.META.tag
3948
web2py.gluon.html.OBJECT.tag
3949
web2py.gluon.html.OL.tag
3950
web2py.gluon.html.OPTGROUP.tag
3951
web2py.gluon.html.OPTION.tag
3952
web2py.gluon.html.P.tag
3953
web2py.gluon.html.PRE.tag
3954
web2py.gluon.html.SCRIPT.tag
3955
web2py.gluon.html.SELECT.tag
3956
web2py.gluon.html.SPAN.tag
3957
web2py.gluon.html.STYLE.tag
3958
web2py.gluon.html.TABLE.tag
3959
web2py.gluon.html.TBODY.tag
3960
web2py.gluon.html.TD.tag
3961
web2py.gluon.html.TEXTAREA.tag
3962
web2py.gluon.html.TFOOT.tag
3963
web2py.gluon.html.TH.tag
3964
web2py.gluon.html.THEAD.tag
3965
web2py.gluon.html.TITLE.tag
3966
web2py.gluon.html.TR.tag
3967
web2py.gluon.html.TT.tag
3968
web2py.gluon.html.UL.tag
3969
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-269', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'b'</tt> </tt>
3970
</div><a name="L1280"></a><tt class="py-lineno">1280</tt> <tt class="py-line"> </tt>
3971
<a name="L1281"></a><tt class="py-lineno">1281</tt> <tt class="py-line"> </tt>
3972
<a name="BR"></a><div id="BR-def"><a name="L1282"></a><tt class="py-lineno">1282</tt> <a class="py-toggle" href="#" id="BR-toggle" onclick="return toggle('BR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.BR-class.html">BR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
3973
</div><div id="BR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BR-expanded"><a name="L1283"></a><tt class="py-lineno">1283</tt> <tt class="py-line"> </tt>
3974
<a name="L1284"></a><tt class="py-lineno">1284</tt> <tt class="py-line"> <tt id="link-270" class="py-name"><a title="web2py.gluon.html.A.tag
3975
web2py.gluon.html.B.tag
3976
web2py.gluon.html.BEAUTIFY.tag
3977
web2py.gluon.html.BODY.tag
3978
web2py.gluon.html.BR.tag
3979
web2py.gluon.html.BUTTON.tag
3980
web2py.gluon.html.CAT.tag
3981
web2py.gluon.html.CENTER.tag
3982
web2py.gluon.html.COL.tag
3983
web2py.gluon.html.COLGROUP.tag
3984
web2py.gluon.html.DIV.tag
3985
web2py.gluon.html.EM.tag
3986
web2py.gluon.html.EMBED.tag
3987
web2py.gluon.html.FIELDSET.tag
3988
web2py.gluon.html.FORM.tag
3989
web2py.gluon.html.H1.tag
3990
web2py.gluon.html.H2.tag
3991
web2py.gluon.html.H3.tag
3992
web2py.gluon.html.H4.tag
3993
web2py.gluon.html.H5.tag
3994
web2py.gluon.html.H6.tag
3995
web2py.gluon.html.HEAD.tag
3996
web2py.gluon.html.HR.tag
3997
web2py.gluon.html.HTML.tag
3998
web2py.gluon.html.I.tag
3999
web2py.gluon.html.IFRAME.tag
4000
web2py.gluon.html.IMG.tag
4001
web2py.gluon.html.INPUT.tag
4002
web2py.gluon.html.LABEL.tag
4003
web2py.gluon.html.LEGEND.tag
4004
web2py.gluon.html.LI.tag
4005
web2py.gluon.html.LINK.tag
4006
web2py.gluon.html.MENU.tag
4007
web2py.gluon.html.META.tag
4008
web2py.gluon.html.OBJECT.tag
4009
web2py.gluon.html.OL.tag
4010
web2py.gluon.html.OPTGROUP.tag
4011
web2py.gluon.html.OPTION.tag
4012
web2py.gluon.html.P.tag
4013
web2py.gluon.html.PRE.tag
4014
web2py.gluon.html.SCRIPT.tag
4015
web2py.gluon.html.SELECT.tag
4016
web2py.gluon.html.SPAN.tag
4017
web2py.gluon.html.STYLE.tag
4018
web2py.gluon.html.TABLE.tag
4019
web2py.gluon.html.TBODY.tag
4020
web2py.gluon.html.TD.tag
4021
web2py.gluon.html.TEXTAREA.tag
4022
web2py.gluon.html.TFOOT.tag
4023
web2py.gluon.html.TH.tag
4024
web2py.gluon.html.THEAD.tag
4025
web2py.gluon.html.TITLE.tag
4026
web2py.gluon.html.TR.tag
4027
web2py.gluon.html.TT.tag
4028
web2py.gluon.html.UL.tag
4029
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-270', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'br/'</tt> </tt>
4030
</div><a name="L1285"></a><tt class="py-lineno">1285</tt> <tt class="py-line"> </tt>
4031
<a name="L1286"></a><tt class="py-lineno">1286</tt> <tt class="py-line"> </tt>
4032
<a name="HR"></a><div id="HR-def"><a name="L1287"></a><tt class="py-lineno">1287</tt> <a class="py-toggle" href="#" id="HR-toggle" onclick="return toggle('HR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.HR-class.html">HR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4033
</div><div id="HR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HR-expanded"><a name="L1288"></a><tt class="py-lineno">1288</tt> <tt class="py-line"> </tt>
4034
<a name="L1289"></a><tt class="py-lineno">1289</tt> <tt class="py-line"> <tt id="link-271" class="py-name"><a title="web2py.gluon.html.A.tag
4035
web2py.gluon.html.B.tag
4036
web2py.gluon.html.BEAUTIFY.tag
4037
web2py.gluon.html.BODY.tag
4038
web2py.gluon.html.BR.tag
4039
web2py.gluon.html.BUTTON.tag
4040
web2py.gluon.html.CAT.tag
4041
web2py.gluon.html.CENTER.tag
4042
web2py.gluon.html.COL.tag
4043
web2py.gluon.html.COLGROUP.tag
4044
web2py.gluon.html.DIV.tag
4045
web2py.gluon.html.EM.tag
4046
web2py.gluon.html.EMBED.tag
4047
web2py.gluon.html.FIELDSET.tag
4048
web2py.gluon.html.FORM.tag
4049
web2py.gluon.html.H1.tag
4050
web2py.gluon.html.H2.tag
4051
web2py.gluon.html.H3.tag
4052
web2py.gluon.html.H4.tag
4053
web2py.gluon.html.H5.tag
4054
web2py.gluon.html.H6.tag
4055
web2py.gluon.html.HEAD.tag
4056
web2py.gluon.html.HR.tag
4057
web2py.gluon.html.HTML.tag
4058
web2py.gluon.html.I.tag
4059
web2py.gluon.html.IFRAME.tag
4060
web2py.gluon.html.IMG.tag
4061
web2py.gluon.html.INPUT.tag
4062
web2py.gluon.html.LABEL.tag
4063
web2py.gluon.html.LEGEND.tag
4064
web2py.gluon.html.LI.tag
4065
web2py.gluon.html.LINK.tag
4066
web2py.gluon.html.MENU.tag
4067
web2py.gluon.html.META.tag
4068
web2py.gluon.html.OBJECT.tag
4069
web2py.gluon.html.OL.tag
4070
web2py.gluon.html.OPTGROUP.tag
4071
web2py.gluon.html.OPTION.tag
4072
web2py.gluon.html.P.tag
4073
web2py.gluon.html.PRE.tag
4074
web2py.gluon.html.SCRIPT.tag
4075
web2py.gluon.html.SELECT.tag
4076
web2py.gluon.html.SPAN.tag
4077
web2py.gluon.html.STYLE.tag
4078
web2py.gluon.html.TABLE.tag
4079
web2py.gluon.html.TBODY.tag
4080
web2py.gluon.html.TD.tag
4081
web2py.gluon.html.TEXTAREA.tag
4082
web2py.gluon.html.TFOOT.tag
4083
web2py.gluon.html.TH.tag
4084
web2py.gluon.html.THEAD.tag
4085
web2py.gluon.html.TITLE.tag
4086
web2py.gluon.html.TR.tag
4087
web2py.gluon.html.TT.tag
4088
web2py.gluon.html.UL.tag
4089
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-271', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'hr/'</tt> </tt>
4090
</div><a name="L1290"></a><tt class="py-lineno">1290</tt> <tt class="py-line"> </tt>
4091
<a name="L1291"></a><tt class="py-lineno">1291</tt> <tt class="py-line"> </tt>
4092
<a name="A"></a><div id="A-def"><a name="L1292"></a><tt class="py-lineno">1292</tt> <a class="py-toggle" href="#" id="A-toggle" onclick="return toggle('A');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.A-class.html">A</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4093
</div><div id="A-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="A-expanded"><a name="L1293"></a><tt class="py-lineno">1293</tt> <tt class="py-line"> </tt>
4094
<a name="L1294"></a><tt class="py-lineno">1294</tt> <tt class="py-line"> <tt id="link-272" class="py-name"><a title="web2py.gluon.html.A.tag
4095
web2py.gluon.html.B.tag
4096
web2py.gluon.html.BEAUTIFY.tag
4097
web2py.gluon.html.BODY.tag
4098
web2py.gluon.html.BR.tag
4099
web2py.gluon.html.BUTTON.tag
4100
web2py.gluon.html.CAT.tag
4101
web2py.gluon.html.CENTER.tag
4102
web2py.gluon.html.COL.tag
4103
web2py.gluon.html.COLGROUP.tag
4104
web2py.gluon.html.DIV.tag
4105
web2py.gluon.html.EM.tag
4106
web2py.gluon.html.EMBED.tag
4107
web2py.gluon.html.FIELDSET.tag
4108
web2py.gluon.html.FORM.tag
4109
web2py.gluon.html.H1.tag
4110
web2py.gluon.html.H2.tag
4111
web2py.gluon.html.H3.tag
4112
web2py.gluon.html.H4.tag
4113
web2py.gluon.html.H5.tag
4114
web2py.gluon.html.H6.tag
4115
web2py.gluon.html.HEAD.tag
4116
web2py.gluon.html.HR.tag
4117
web2py.gluon.html.HTML.tag
4118
web2py.gluon.html.I.tag
4119
web2py.gluon.html.IFRAME.tag
4120
web2py.gluon.html.IMG.tag
4121
web2py.gluon.html.INPUT.tag
4122
web2py.gluon.html.LABEL.tag
4123
web2py.gluon.html.LEGEND.tag
4124
web2py.gluon.html.LI.tag
4125
web2py.gluon.html.LINK.tag
4126
web2py.gluon.html.MENU.tag
4127
web2py.gluon.html.META.tag
4128
web2py.gluon.html.OBJECT.tag
4129
web2py.gluon.html.OL.tag
4130
web2py.gluon.html.OPTGROUP.tag
4131
web2py.gluon.html.OPTION.tag
4132
web2py.gluon.html.P.tag
4133
web2py.gluon.html.PRE.tag
4134
web2py.gluon.html.SCRIPT.tag
4135
web2py.gluon.html.SELECT.tag
4136
web2py.gluon.html.SPAN.tag
4137
web2py.gluon.html.STYLE.tag
4138
web2py.gluon.html.TABLE.tag
4139
web2py.gluon.html.TBODY.tag
4140
web2py.gluon.html.TD.tag
4141
web2py.gluon.html.TEXTAREA.tag
4142
web2py.gluon.html.TFOOT.tag
4143
web2py.gluon.html.TH.tag
4144
web2py.gluon.html.THEAD.tag
4145
web2py.gluon.html.TITLE.tag
4146
web2py.gluon.html.TR.tag
4147
web2py.gluon.html.TT.tag
4148
web2py.gluon.html.UL.tag
4149
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-272', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'a'</tt> </tt>
4150
<a name="L1295"></a><tt class="py-lineno">1295</tt> <tt class="py-line"> </tt>
4151
<a name="A.xml"></a><div id="A.xml-def"><a name="L1296"></a><tt class="py-lineno">1296</tt> <a class="py-toggle" href="#" id="A.xml-toggle" onclick="return toggle('A.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.A-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4152
</div><div id="A.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="A.xml-expanded"><a name="L1297"></a><tt class="py-lineno">1297</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'delete'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
4153
<a name="L1298"></a><tt class="py-lineno">1298</tt> <tt class="py-line"> <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-string">"jQuery(this).closest('%s').remove();"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'delete'</tt><tt class="py-op">]</tt> </tt>
4154
<a name="L1299"></a><tt class="py-lineno">1299</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
4155
<a name="L1300"></a><tt class="py-lineno">1300</tt> <tt class="py-line"> <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
4156
<a name="L1301"></a><tt class="py-lineno">1301</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'component'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
4157
<a name="L1302"></a><tt class="py-lineno">1302</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_onclick'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"web2py_component('%s','%s');%sreturn false;"</tt> <tt class="py-op">%</tt> \ </tt>
4158
<a name="L1303"></a><tt class="py-lineno">1303</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'component'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'target'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
4159
<a name="L1304"></a><tt class="py-lineno">1304</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_href'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_href'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'#null'</tt> </tt>
4160
<a name="L1305"></a><tt class="py-lineno">1305</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'callback'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
4161
<a name="L1306"></a><tt class="py-lineno">1306</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">:</tt> </tt>
4162
<a name="L1307"></a><tt class="py-lineno">1307</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_onclick'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"if(confirm(w2p_ajax_confirm_message||'Are you sure you want o delete this object?')){ajax('%s',[],'%s');%s};return false;"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'callback'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'target'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
4163
<a name="L1308"></a><tt class="py-lineno">1308</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
4164
<a name="L1309"></a><tt class="py-lineno">1309</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_onclick'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"ajax('%s',[],'%s');%sreturn false;"</tt> <tt class="py-op">%</tt> \ </tt>
4165
<a name="L1310"></a><tt class="py-lineno">1310</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'callback'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'target'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
4166
<a name="L1311"></a><tt class="py-lineno">1311</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_href'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_href'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'#null'</tt> </tt>
4167
<a name="L1312"></a><tt class="py-lineno">1312</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'cid'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
4168
<a name="L1313"></a><tt class="py-lineno">1313</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_onclick'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">'web2py_component("%s","%s");return false;'</tt> <tt class="py-op">%</tt> \ </tt>
4169
<a name="L1314"></a><tt class="py-lineno">1314</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_href'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'cid'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
4170
<a name="L1315"></a><tt class="py-lineno">1315</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-273" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
4171
web2py.gluon.dal.NoSQLAdapter.DIV
4172
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-273', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="web2py.gluon.dal.Rows.xml
4173
web2py.gluon.html.A.xml
4174
web2py.gluon.html.CODE.xml
4175
web2py.gluon.html.DIV.xml
4176
web2py.gluon.html.FORM.xml
4177
web2py.gluon.html.HTML.xml
4178
web2py.gluon.html.INPUT.xml
4179
web2py.gluon.html.MARKMIN.xml
4180
web2py.gluon.html.MENU.xml
4181
web2py.gluon.html.P.xml
4182
web2py.gluon.html.SCRIPT.xml
4183
web2py.gluon.html.STYLE.xml
4184
web2py.gluon.html.XHTML.xml
4185
web2py.gluon.html.XML.xml
4186
web2py.gluon.html.XmlComponent.xml
4187
web2py.gluon.languages.lazyT.xml
4188
web2py.gluon.serializers.xml
4189
web2py.gluon.tools.Recaptcha.xml
4190
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-274', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
4191
</div></div><a name="L1316"></a><tt class="py-lineno">1316</tt> <tt class="py-line"> </tt>
4192
<a name="L1317"></a><tt class="py-lineno">1317</tt> <tt class="py-line"> </tt>
4193
<a name="BUTTON"></a><div id="BUTTON-def"><a name="L1318"></a><tt class="py-lineno">1318</tt> <a class="py-toggle" href="#" id="BUTTON-toggle" onclick="return toggle('BUTTON');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.BUTTON-class.html">BUTTON</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4194
</div><div id="BUTTON-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BUTTON-expanded"><a name="L1319"></a><tt class="py-lineno">1319</tt> <tt class="py-line"> </tt>
4195
<a name="L1320"></a><tt class="py-lineno">1320</tt> <tt class="py-line"> <tt id="link-275" class="py-name"><a title="web2py.gluon.html.A.tag
4196
web2py.gluon.html.B.tag
4197
web2py.gluon.html.BEAUTIFY.tag
4198
web2py.gluon.html.BODY.tag
4199
web2py.gluon.html.BR.tag
4200
web2py.gluon.html.BUTTON.tag
4201
web2py.gluon.html.CAT.tag
4202
web2py.gluon.html.CENTER.tag
4203
web2py.gluon.html.COL.tag
4204
web2py.gluon.html.COLGROUP.tag
4205
web2py.gluon.html.DIV.tag
4206
web2py.gluon.html.EM.tag
4207
web2py.gluon.html.EMBED.tag
4208
web2py.gluon.html.FIELDSET.tag
4209
web2py.gluon.html.FORM.tag
4210
web2py.gluon.html.H1.tag
4211
web2py.gluon.html.H2.tag
4212
web2py.gluon.html.H3.tag
4213
web2py.gluon.html.H4.tag
4214
web2py.gluon.html.H5.tag
4215
web2py.gluon.html.H6.tag
4216
web2py.gluon.html.HEAD.tag
4217
web2py.gluon.html.HR.tag
4218
web2py.gluon.html.HTML.tag
4219
web2py.gluon.html.I.tag
4220
web2py.gluon.html.IFRAME.tag
4221
web2py.gluon.html.IMG.tag
4222
web2py.gluon.html.INPUT.tag
4223
web2py.gluon.html.LABEL.tag
4224
web2py.gluon.html.LEGEND.tag
4225
web2py.gluon.html.LI.tag
4226
web2py.gluon.html.LINK.tag
4227
web2py.gluon.html.MENU.tag
4228
web2py.gluon.html.META.tag
4229
web2py.gluon.html.OBJECT.tag
4230
web2py.gluon.html.OL.tag
4231
web2py.gluon.html.OPTGROUP.tag
4232
web2py.gluon.html.OPTION.tag
4233
web2py.gluon.html.P.tag
4234
web2py.gluon.html.PRE.tag
4235
web2py.gluon.html.SCRIPT.tag
4236
web2py.gluon.html.SELECT.tag
4237
web2py.gluon.html.SPAN.tag
4238
web2py.gluon.html.STYLE.tag
4239
web2py.gluon.html.TABLE.tag
4240
web2py.gluon.html.TBODY.tag
4241
web2py.gluon.html.TD.tag
4242
web2py.gluon.html.TEXTAREA.tag
4243
web2py.gluon.html.TFOOT.tag
4244
web2py.gluon.html.TH.tag
4245
web2py.gluon.html.THEAD.tag
4246
web2py.gluon.html.TITLE.tag
4247
web2py.gluon.html.TR.tag
4248
web2py.gluon.html.TT.tag
4249
web2py.gluon.html.UL.tag
4250
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-275', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'button'</tt> </tt>
4251
</div><a name="L1321"></a><tt class="py-lineno">1321</tt> <tt class="py-line"> </tt>
4252
<a name="L1322"></a><tt class="py-lineno">1322</tt> <tt class="py-line"> </tt>
4253
<a name="EM"></a><div id="EM-def"><a name="L1323"></a><tt class="py-lineno">1323</tt> <a class="py-toggle" href="#" id="EM-toggle" onclick="return toggle('EM');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.EM-class.html">EM</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4254
</div><div id="EM-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="EM-expanded"><a name="L1324"></a><tt class="py-lineno">1324</tt> <tt class="py-line"> </tt>
4255
<a name="L1325"></a><tt class="py-lineno">1325</tt> <tt class="py-line"> <tt id="link-276" class="py-name"><a title="web2py.gluon.html.A.tag
4256
web2py.gluon.html.B.tag
4257
web2py.gluon.html.BEAUTIFY.tag
4258
web2py.gluon.html.BODY.tag
4259
web2py.gluon.html.BR.tag
4260
web2py.gluon.html.BUTTON.tag
4261
web2py.gluon.html.CAT.tag
4262
web2py.gluon.html.CENTER.tag
4263
web2py.gluon.html.COL.tag
4264
web2py.gluon.html.COLGROUP.tag
4265
web2py.gluon.html.DIV.tag
4266
web2py.gluon.html.EM.tag
4267
web2py.gluon.html.EMBED.tag
4268
web2py.gluon.html.FIELDSET.tag
4269
web2py.gluon.html.FORM.tag
4270
web2py.gluon.html.H1.tag
4271
web2py.gluon.html.H2.tag
4272
web2py.gluon.html.H3.tag
4273
web2py.gluon.html.H4.tag
4274
web2py.gluon.html.H5.tag
4275
web2py.gluon.html.H6.tag
4276
web2py.gluon.html.HEAD.tag
4277
web2py.gluon.html.HR.tag
4278
web2py.gluon.html.HTML.tag
4279
web2py.gluon.html.I.tag
4280
web2py.gluon.html.IFRAME.tag
4281
web2py.gluon.html.IMG.tag
4282
web2py.gluon.html.INPUT.tag
4283
web2py.gluon.html.LABEL.tag
4284
web2py.gluon.html.LEGEND.tag
4285
web2py.gluon.html.LI.tag
4286
web2py.gluon.html.LINK.tag
4287
web2py.gluon.html.MENU.tag
4288
web2py.gluon.html.META.tag
4289
web2py.gluon.html.OBJECT.tag
4290
web2py.gluon.html.OL.tag
4291
web2py.gluon.html.OPTGROUP.tag
4292
web2py.gluon.html.OPTION.tag
4293
web2py.gluon.html.P.tag
4294
web2py.gluon.html.PRE.tag
4295
web2py.gluon.html.SCRIPT.tag
4296
web2py.gluon.html.SELECT.tag
4297
web2py.gluon.html.SPAN.tag
4298
web2py.gluon.html.STYLE.tag
4299
web2py.gluon.html.TABLE.tag
4300
web2py.gluon.html.TBODY.tag
4301
web2py.gluon.html.TD.tag
4302
web2py.gluon.html.TEXTAREA.tag
4303
web2py.gluon.html.TFOOT.tag
4304
web2py.gluon.html.TH.tag
4305
web2py.gluon.html.THEAD.tag
4306
web2py.gluon.html.TITLE.tag
4307
web2py.gluon.html.TR.tag
4308
web2py.gluon.html.TT.tag
4309
web2py.gluon.html.UL.tag
4310
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-276', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'em'</tt> </tt>
4311
</div><a name="L1326"></a><tt class="py-lineno">1326</tt> <tt class="py-line"> </tt>
4312
<a name="L1327"></a><tt class="py-lineno">1327</tt> <tt class="py-line"> </tt>
4313
<a name="EMBED"></a><div id="EMBED-def"><a name="L1328"></a><tt class="py-lineno">1328</tt> <a class="py-toggle" href="#" id="EMBED-toggle" onclick="return toggle('EMBED');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.EMBED-class.html">EMBED</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4314
</div><div id="EMBED-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="EMBED-expanded"><a name="L1329"></a><tt class="py-lineno">1329</tt> <tt class="py-line"> </tt>
4315
<a name="L1330"></a><tt class="py-lineno">1330</tt> <tt class="py-line"> <tt id="link-277" class="py-name"><a title="web2py.gluon.html.A.tag
4316
web2py.gluon.html.B.tag
4317
web2py.gluon.html.BEAUTIFY.tag
4318
web2py.gluon.html.BODY.tag
4319
web2py.gluon.html.BR.tag
4320
web2py.gluon.html.BUTTON.tag
4321
web2py.gluon.html.CAT.tag
4322
web2py.gluon.html.CENTER.tag
4323
web2py.gluon.html.COL.tag
4324
web2py.gluon.html.COLGROUP.tag
4325
web2py.gluon.html.DIV.tag
4326
web2py.gluon.html.EM.tag
4327
web2py.gluon.html.EMBED.tag
4328
web2py.gluon.html.FIELDSET.tag
4329
web2py.gluon.html.FORM.tag
4330
web2py.gluon.html.H1.tag
4331
web2py.gluon.html.H2.tag
4332
web2py.gluon.html.H3.tag
4333
web2py.gluon.html.H4.tag
4334
web2py.gluon.html.H5.tag
4335
web2py.gluon.html.H6.tag
4336
web2py.gluon.html.HEAD.tag
4337
web2py.gluon.html.HR.tag
4338
web2py.gluon.html.HTML.tag
4339
web2py.gluon.html.I.tag
4340
web2py.gluon.html.IFRAME.tag
4341
web2py.gluon.html.IMG.tag
4342
web2py.gluon.html.INPUT.tag
4343
web2py.gluon.html.LABEL.tag
4344
web2py.gluon.html.LEGEND.tag
4345
web2py.gluon.html.LI.tag
4346
web2py.gluon.html.LINK.tag
4347
web2py.gluon.html.MENU.tag
4348
web2py.gluon.html.META.tag
4349
web2py.gluon.html.OBJECT.tag
4350
web2py.gluon.html.OL.tag
4351
web2py.gluon.html.OPTGROUP.tag
4352
web2py.gluon.html.OPTION.tag
4353
web2py.gluon.html.P.tag
4354
web2py.gluon.html.PRE.tag
4355
web2py.gluon.html.SCRIPT.tag
4356
web2py.gluon.html.SELECT.tag
4357
web2py.gluon.html.SPAN.tag
4358
web2py.gluon.html.STYLE.tag
4359
web2py.gluon.html.TABLE.tag
4360
web2py.gluon.html.TBODY.tag
4361
web2py.gluon.html.TD.tag
4362
web2py.gluon.html.TEXTAREA.tag
4363
web2py.gluon.html.TFOOT.tag
4364
web2py.gluon.html.TH.tag
4365
web2py.gluon.html.THEAD.tag
4366
web2py.gluon.html.TITLE.tag
4367
web2py.gluon.html.TR.tag
4368
web2py.gluon.html.TT.tag
4369
web2py.gluon.html.UL.tag
4370
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-277', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'embed/'</tt> </tt>
4371
</div><a name="L1331"></a><tt class="py-lineno">1331</tt> <tt class="py-line"> </tt>
4372
<a name="L1332"></a><tt class="py-lineno">1332</tt> <tt class="py-line"> </tt>
4373
<a name="TT"></a><div id="TT-def"><a name="L1333"></a><tt class="py-lineno">1333</tt> <a class="py-toggle" href="#" id="TT-toggle" onclick="return toggle('TT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TT-class.html">TT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4374
</div><div id="TT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TT-expanded"><a name="L1334"></a><tt class="py-lineno">1334</tt> <tt class="py-line"> </tt>
4375
<a name="L1335"></a><tt class="py-lineno">1335</tt> <tt class="py-line"> <tt id="link-278" class="py-name"><a title="web2py.gluon.html.A.tag
4376
web2py.gluon.html.B.tag
4377
web2py.gluon.html.BEAUTIFY.tag
4378
web2py.gluon.html.BODY.tag
4379
web2py.gluon.html.BR.tag
4380
web2py.gluon.html.BUTTON.tag
4381
web2py.gluon.html.CAT.tag
4382
web2py.gluon.html.CENTER.tag
4383
web2py.gluon.html.COL.tag
4384
web2py.gluon.html.COLGROUP.tag
4385
web2py.gluon.html.DIV.tag
4386
web2py.gluon.html.EM.tag
4387
web2py.gluon.html.EMBED.tag
4388
web2py.gluon.html.FIELDSET.tag
4389
web2py.gluon.html.FORM.tag
4390
web2py.gluon.html.H1.tag
4391
web2py.gluon.html.H2.tag
4392
web2py.gluon.html.H3.tag
4393
web2py.gluon.html.H4.tag
4394
web2py.gluon.html.H5.tag
4395
web2py.gluon.html.H6.tag
4396
web2py.gluon.html.HEAD.tag
4397
web2py.gluon.html.HR.tag
4398
web2py.gluon.html.HTML.tag
4399
web2py.gluon.html.I.tag
4400
web2py.gluon.html.IFRAME.tag
4401
web2py.gluon.html.IMG.tag
4402
web2py.gluon.html.INPUT.tag
4403
web2py.gluon.html.LABEL.tag
4404
web2py.gluon.html.LEGEND.tag
4405
web2py.gluon.html.LI.tag
4406
web2py.gluon.html.LINK.tag
4407
web2py.gluon.html.MENU.tag
4408
web2py.gluon.html.META.tag
4409
web2py.gluon.html.OBJECT.tag
4410
web2py.gluon.html.OL.tag
4411
web2py.gluon.html.OPTGROUP.tag
4412
web2py.gluon.html.OPTION.tag
4413
web2py.gluon.html.P.tag
4414
web2py.gluon.html.PRE.tag
4415
web2py.gluon.html.SCRIPT.tag
4416
web2py.gluon.html.SELECT.tag
4417
web2py.gluon.html.SPAN.tag
4418
web2py.gluon.html.STYLE.tag
4419
web2py.gluon.html.TABLE.tag
4420
web2py.gluon.html.TBODY.tag
4421
web2py.gluon.html.TD.tag
4422
web2py.gluon.html.TEXTAREA.tag
4423
web2py.gluon.html.TFOOT.tag
4424
web2py.gluon.html.TH.tag
4425
web2py.gluon.html.THEAD.tag
4426
web2py.gluon.html.TITLE.tag
4427
web2py.gluon.html.TR.tag
4428
web2py.gluon.html.TT.tag
4429
web2py.gluon.html.UL.tag
4430
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-278', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tt'</tt> </tt>
4431
</div><a name="L1336"></a><tt class="py-lineno">1336</tt> <tt class="py-line"> </tt>
4432
<a name="L1337"></a><tt class="py-lineno">1337</tt> <tt class="py-line"> </tt>
4433
<a name="PRE"></a><div id="PRE-def"><a name="L1338"></a><tt class="py-lineno">1338</tt> <a class="py-toggle" href="#" id="PRE-toggle" onclick="return toggle('PRE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.PRE-class.html">PRE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4434
</div><div id="PRE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="PRE-expanded"><a name="L1339"></a><tt class="py-lineno">1339</tt> <tt class="py-line"> </tt>
4435
<a name="L1340"></a><tt class="py-lineno">1340</tt> <tt class="py-line"> <tt id="link-279" class="py-name"><a title="web2py.gluon.html.A.tag
4436
web2py.gluon.html.B.tag
4437
web2py.gluon.html.BEAUTIFY.tag
4438
web2py.gluon.html.BODY.tag
4439
web2py.gluon.html.BR.tag
4440
web2py.gluon.html.BUTTON.tag
4441
web2py.gluon.html.CAT.tag
4442
web2py.gluon.html.CENTER.tag
4443
web2py.gluon.html.COL.tag
4444
web2py.gluon.html.COLGROUP.tag
4445
web2py.gluon.html.DIV.tag
4446
web2py.gluon.html.EM.tag
4447
web2py.gluon.html.EMBED.tag
4448
web2py.gluon.html.FIELDSET.tag
4449
web2py.gluon.html.FORM.tag
4450
web2py.gluon.html.H1.tag
4451
web2py.gluon.html.H2.tag
4452
web2py.gluon.html.H3.tag
4453
web2py.gluon.html.H4.tag
4454
web2py.gluon.html.H5.tag
4455
web2py.gluon.html.H6.tag
4456
web2py.gluon.html.HEAD.tag
4457
web2py.gluon.html.HR.tag
4458
web2py.gluon.html.HTML.tag
4459
web2py.gluon.html.I.tag
4460
web2py.gluon.html.IFRAME.tag
4461
web2py.gluon.html.IMG.tag
4462
web2py.gluon.html.INPUT.tag
4463
web2py.gluon.html.LABEL.tag
4464
web2py.gluon.html.LEGEND.tag
4465
web2py.gluon.html.LI.tag
4466
web2py.gluon.html.LINK.tag
4467
web2py.gluon.html.MENU.tag
4468
web2py.gluon.html.META.tag
4469
web2py.gluon.html.OBJECT.tag
4470
web2py.gluon.html.OL.tag
4471
web2py.gluon.html.OPTGROUP.tag
4472
web2py.gluon.html.OPTION.tag
4473
web2py.gluon.html.P.tag
4474
web2py.gluon.html.PRE.tag
4475
web2py.gluon.html.SCRIPT.tag
4476
web2py.gluon.html.SELECT.tag
4477
web2py.gluon.html.SPAN.tag
4478
web2py.gluon.html.STYLE.tag
4479
web2py.gluon.html.TABLE.tag
4480
web2py.gluon.html.TBODY.tag
4481
web2py.gluon.html.TD.tag
4482
web2py.gluon.html.TEXTAREA.tag
4483
web2py.gluon.html.TFOOT.tag
4484
web2py.gluon.html.TH.tag
4485
web2py.gluon.html.THEAD.tag
4486
web2py.gluon.html.TITLE.tag
4487
web2py.gluon.html.TR.tag
4488
web2py.gluon.html.TT.tag
4489
web2py.gluon.html.UL.tag
4490
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-279', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'pre'</tt> </tt>
4491
</div><a name="L1341"></a><tt class="py-lineno">1341</tt> <tt class="py-line"> </tt>
4492
<a name="L1342"></a><tt class="py-lineno">1342</tt> <tt class="py-line"> </tt>
4493
<a name="CENTER"></a><div id="CENTER-def"><a name="L1343"></a><tt class="py-lineno">1343</tt> <a class="py-toggle" href="#" id="CENTER-toggle" onclick="return toggle('CENTER');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.CENTER-class.html">CENTER</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4494
</div><div id="CENTER-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CENTER-expanded"><a name="L1344"></a><tt class="py-lineno">1344</tt> <tt class="py-line"> </tt>
4495
<a name="L1345"></a><tt class="py-lineno">1345</tt> <tt class="py-line"> <tt id="link-280" class="py-name"><a title="web2py.gluon.html.A.tag
4496
web2py.gluon.html.B.tag
4497
web2py.gluon.html.BEAUTIFY.tag
4498
web2py.gluon.html.BODY.tag
4499
web2py.gluon.html.BR.tag
4500
web2py.gluon.html.BUTTON.tag
4501
web2py.gluon.html.CAT.tag
4502
web2py.gluon.html.CENTER.tag
4503
web2py.gluon.html.COL.tag
4504
web2py.gluon.html.COLGROUP.tag
4505
web2py.gluon.html.DIV.tag
4506
web2py.gluon.html.EM.tag
4507
web2py.gluon.html.EMBED.tag
4508
web2py.gluon.html.FIELDSET.tag
4509
web2py.gluon.html.FORM.tag
4510
web2py.gluon.html.H1.tag
4511
web2py.gluon.html.H2.tag
4512
web2py.gluon.html.H3.tag
4513
web2py.gluon.html.H4.tag
4514
web2py.gluon.html.H5.tag
4515
web2py.gluon.html.H6.tag
4516
web2py.gluon.html.HEAD.tag
4517
web2py.gluon.html.HR.tag
4518
web2py.gluon.html.HTML.tag
4519
web2py.gluon.html.I.tag
4520
web2py.gluon.html.IFRAME.tag
4521
web2py.gluon.html.IMG.tag
4522
web2py.gluon.html.INPUT.tag
4523
web2py.gluon.html.LABEL.tag
4524
web2py.gluon.html.LEGEND.tag
4525
web2py.gluon.html.LI.tag
4526
web2py.gluon.html.LINK.tag
4527
web2py.gluon.html.MENU.tag
4528
web2py.gluon.html.META.tag
4529
web2py.gluon.html.OBJECT.tag
4530
web2py.gluon.html.OL.tag
4531
web2py.gluon.html.OPTGROUP.tag
4532
web2py.gluon.html.OPTION.tag
4533
web2py.gluon.html.P.tag
4534
web2py.gluon.html.PRE.tag
4535
web2py.gluon.html.SCRIPT.tag
4536
web2py.gluon.html.SELECT.tag
4537
web2py.gluon.html.SPAN.tag
4538
web2py.gluon.html.STYLE.tag
4539
web2py.gluon.html.TABLE.tag
4540
web2py.gluon.html.TBODY.tag
4541
web2py.gluon.html.TD.tag
4542
web2py.gluon.html.TEXTAREA.tag
4543
web2py.gluon.html.TFOOT.tag
4544
web2py.gluon.html.TH.tag
4545
web2py.gluon.html.THEAD.tag
4546
web2py.gluon.html.TITLE.tag
4547
web2py.gluon.html.TR.tag
4548
web2py.gluon.html.TT.tag
4549
web2py.gluon.html.UL.tag
4550
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-280', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'center'</tt> </tt>
4551
</div><a name="L1346"></a><tt class="py-lineno">1346</tt> <tt class="py-line"> </tt>
4552
<a name="L1347"></a><tt class="py-lineno">1347</tt> <tt class="py-line"> </tt>
4553
<a name="CODE"></a><div id="CODE-def"><a name="L1348"></a><tt class="py-lineno">1348</tt> <a class="py-toggle" href="#" id="CODE-toggle" onclick="return toggle('CODE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.CODE-class.html">CODE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4554
</div><div id="CODE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CODE-expanded"><a name="L1349"></a><tt class="py-lineno">1349</tt> <tt class="py-line"> </tt>
4555
<a name="L1350"></a><tt class="py-lineno">1350</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
4556
<a name="L1351"></a><tt class="py-lineno">1351</tt> <tt class="py-line"><tt class="py-docstring"> displays code in HTML with syntax highlighting.</tt> </tt>
4557
<a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4558
<a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"><tt class="py-docstring"> :param attributes: optional attributes:</tt> </tt>
4559
<a name="L1354"></a><tt class="py-lineno">1354</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4560
<a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"><tt class="py-docstring"> - language: indicates the language, otherwise PYTHON is assumed</tt> </tt>
4561
<a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"><tt class="py-docstring"> - link: can provide a link</tt> </tt>
4562
<a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"><tt class="py-docstring"> - styles: for styles</tt> </tt>
4563
<a name="L1358"></a><tt class="py-lineno">1358</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4564
<a name="L1359"></a><tt class="py-lineno">1359</tt> <tt class="py-line"><tt class="py-docstring"> Example::</tt> </tt>
4565
<a name="L1360"></a><tt class="py-lineno">1360</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4566
<a name="L1361"></a><tt class="py-lineno">1361</tt> <tt class="py-line"><tt class="py-docstring"> {{=CODE(\"print 'hello world'\", language='python', link=None,</tt> </tt>
4567
<a name="L1362"></a><tt class="py-lineno">1362</tt> <tt class="py-line"><tt class="py-docstring"> counter=1, styles={}, highlight_line=None)}}</tt> </tt>
4568
<a name="L1363"></a><tt class="py-lineno">1363</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4569
<a name="L1364"></a><tt class="py-lineno">1364</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4570
<a name="L1365"></a><tt class="py-lineno">1365</tt> <tt class="py-line"><tt class="py-docstring"> supported languages are \"python\", \"html_plain\", \"c\", \"cpp\",</tt> </tt>
4571
<a name="L1366"></a><tt class="py-lineno">1366</tt> <tt class="py-line"><tt class="py-docstring"> \"web2py\", \"html\".</tt> </tt>
4572
<a name="L1367"></a><tt class="py-lineno">1367</tt> <tt class="py-line"><tt class="py-docstring"> The \"html\" language interprets {{ and }} tags as \"web2py\" code,</tt> </tt>
4573
<a name="L1368"></a><tt class="py-lineno">1368</tt> <tt class="py-line"><tt class="py-docstring"> \"html_plain\" doesn't.</tt> </tt>
4574
<a name="L1369"></a><tt class="py-lineno">1369</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4575
<a name="L1370"></a><tt class="py-lineno">1370</tt> <tt class="py-line"><tt class="py-docstring"> if a link='/examples/global/vars/' is provided web2py keywords are linked to</tt> </tt>
4576
<a name="L1371"></a><tt class="py-lineno">1371</tt> <tt class="py-line"><tt class="py-docstring"> the online docs.</tt> </tt>
4577
<a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4578
<a name="L1373"></a><tt class="py-lineno">1373</tt> <tt class="py-line"><tt class="py-docstring"> the counter is used for line numbering, counter can be None or a prompt</tt> </tt>
4579
<a name="L1374"></a><tt class="py-lineno">1374</tt> <tt class="py-line"><tt class="py-docstring"> string.</tt> </tt>
4580
<a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
4581
<a name="L1376"></a><tt class="py-lineno">1376</tt> <tt class="py-line"> </tt>
4582
<a name="CODE.xml"></a><div id="CODE.xml-def"><a name="L1377"></a><tt class="py-lineno">1377</tt> <a class="py-toggle" href="#" id="CODE.xml-toggle" onclick="return toggle('CODE.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.CODE-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4583
</div><div id="CODE.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CODE.xml-expanded"><a name="L1378"></a><tt class="py-lineno">1378</tt> <tt class="py-line"> <tt class="py-name">language</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'language'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'PYTHON'</tt> </tt>
4584
<a name="L1379"></a><tt class="py-lineno">1379</tt> <tt class="py-line"> <tt class="py-name">link</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'link'</tt><tt class="py-op">]</tt> </tt>
4585
<a name="L1380"></a><tt class="py-lineno">1380</tt> <tt class="py-line"> <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name" targets="Method web2py.gluon.dal.Reference.get()=web2py.gluon.dal.Reference-class.html#get"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-281', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'counter'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
4586
<a name="L1381"></a><tt class="py-lineno">1381</tt> <tt class="py-line"> <tt class="py-name">highlight_line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-282', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'highlight_line'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
4587
<a name="L1382"></a><tt class="py-lineno">1382</tt> <tt class="py-line"> <tt class="py-name">styles</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'styles'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
4588
<a name="L1383"></a><tt class="py-lineno">1383</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-283" class="py-name"><a title="web2py.gluon.highlight
4551
4589
web2py.gluon.highlight.Highlighter.highlight
4552
web2py.gluon.highlight.highlight" class="py-name" href="#" onclick="return doclink('link-293', 'highlight', 'link-7');">highlight</a></tt><tt class="py-op">(</tt> </tt>
4553
<a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"> <tt id="link-294" class="py-name"><a title="web2py.gluon.html.join" class="py-name" href="#" onclick="return doclink('link-294', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
4554
<a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"> <tt class="py-name">language</tt><tt class="py-op">=</tt><tt class="py-name">language</tt><tt class="py-op">,</tt> </tt>
4555
<a name="L1358"></a><tt class="py-lineno">1358</tt> <tt class="py-line"> <tt class="py-name">link</tt><tt class="py-op">=</tt><tt class="py-name">link</tt><tt class="py-op">,</tt> </tt>
4556
<a name="L1359"></a><tt class="py-lineno">1359</tt> <tt class="py-line"> <tt class="py-name">counter</tt><tt class="py-op">=</tt><tt class="py-name">counter</tt><tt class="py-op">,</tt> </tt>
4557
<a name="L1360"></a><tt class="py-lineno">1360</tt> <tt class="py-line"> <tt class="py-name">styles</tt><tt class="py-op">=</tt><tt class="py-name">styles</tt><tt class="py-op">,</tt> </tt>
4558
<a name="L1361"></a><tt class="py-lineno">1361</tt> <tt class="py-line"> <tt class="py-name">attributes</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">,</tt> </tt>
4559
<a name="L1362"></a><tt class="py-lineno">1362</tt> <tt class="py-line"> <tt class="py-name">highlight_line</tt><tt class="py-op">=</tt><tt class="py-name">highlight_line</tt><tt class="py-op">,</tt> </tt>
4560
<a name="L1363"></a><tt class="py-lineno">1363</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
4561
</div></div><a name="L1364"></a><tt class="py-lineno">1364</tt> <tt class="py-line"> </tt>
4562
<a name="L1365"></a><tt class="py-lineno">1365</tt> <tt class="py-line"> </tt>
4563
<a name="LABEL"></a><div id="LABEL-def"><a name="L1366"></a><tt class="py-lineno">1366</tt> <a class="py-toggle" href="#" id="LABEL-toggle" onclick="return toggle('LABEL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.LABEL-class.html">LABEL</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4564
</div><div id="LABEL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LABEL-expanded"><a name="L1367"></a><tt class="py-lineno">1367</tt> <tt class="py-line"> </tt>
4565
<a name="L1368"></a><tt class="py-lineno">1368</tt> <tt class="py-line"> <tt id="link-295" class="py-name"><a title="web2py.gluon.html.A.tag
4566
web2py.gluon.html.B.tag
4567
web2py.gluon.html.BEAUTIFY.tag
4568
web2py.gluon.html.BODY.tag
4569
web2py.gluon.html.BR.tag
4570
web2py.gluon.html.BUTTON.tag
4571
web2py.gluon.html.CAT.tag
4572
web2py.gluon.html.CENTER.tag
4573
web2py.gluon.html.COL.tag
4574
web2py.gluon.html.COLGROUP.tag
4575
web2py.gluon.html.DIV.tag
4576
web2py.gluon.html.EM.tag
4577
web2py.gluon.html.EMBED.tag
4578
web2py.gluon.html.FIELDSET.tag
4579
web2py.gluon.html.FORM.tag
4580
web2py.gluon.html.H1.tag
4581
web2py.gluon.html.H2.tag
4582
web2py.gluon.html.H3.tag
4583
web2py.gluon.html.H4.tag
4584
web2py.gluon.html.H5.tag
4585
web2py.gluon.html.H6.tag
4586
web2py.gluon.html.HEAD.tag
4587
web2py.gluon.html.HR.tag
4588
web2py.gluon.html.HTML.tag
4589
web2py.gluon.html.I.tag
4590
web2py.gluon.html.IFRAME.tag
4591
web2py.gluon.html.IMG.tag
4592
web2py.gluon.html.INPUT.tag
4593
web2py.gluon.html.LABEL.tag
4594
web2py.gluon.html.LEGEND.tag
4595
web2py.gluon.html.LI.tag
4596
web2py.gluon.html.LINK.tag
4597
web2py.gluon.html.MENU.tag
4598
web2py.gluon.html.META.tag
4599
web2py.gluon.html.OBJECT.tag
4600
web2py.gluon.html.OL.tag
4601
web2py.gluon.html.OPTGROUP.tag
4602
web2py.gluon.html.OPTION.tag
4603
web2py.gluon.html.P.tag
4604
web2py.gluon.html.PRE.tag
4605
web2py.gluon.html.SCRIPT.tag
4606
web2py.gluon.html.SELECT.tag
4607
web2py.gluon.html.SPAN.tag
4608
web2py.gluon.html.STYLE.tag
4609
web2py.gluon.html.TABLE.tag
4610
web2py.gluon.html.TBODY.tag
4611
web2py.gluon.html.TD.tag
4612
web2py.gluon.html.TEXTAREA.tag
4613
web2py.gluon.html.TFOOT.tag
4614
web2py.gluon.html.TH.tag
4615
web2py.gluon.html.THEAD.tag
4616
web2py.gluon.html.TITLE.tag
4617
web2py.gluon.html.TR.tag
4618
web2py.gluon.html.TT.tag
4619
web2py.gluon.html.UL.tag
4620
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-295', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'label'</tt> </tt>
4621
</div><a name="L1369"></a><tt class="py-lineno">1369</tt> <tt class="py-line"> </tt>
4622
<a name="L1370"></a><tt class="py-lineno">1370</tt> <tt class="py-line"> </tt>
4623
<a name="LI"></a><div id="LI-def"><a name="L1371"></a><tt class="py-lineno">1371</tt> <a class="py-toggle" href="#" id="LI-toggle" onclick="return toggle('LI');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.LI-class.html">LI</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4624
</div><div id="LI-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LI-expanded"><a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"> </tt>
4625
<a name="L1373"></a><tt class="py-lineno">1373</tt> <tt class="py-line"> <tt id="link-296" class="py-name"><a title="web2py.gluon.html.A.tag
4626
web2py.gluon.html.B.tag
4627
web2py.gluon.html.BEAUTIFY.tag
4628
web2py.gluon.html.BODY.tag
4629
web2py.gluon.html.BR.tag
4630
web2py.gluon.html.BUTTON.tag
4631
web2py.gluon.html.CAT.tag
4632
web2py.gluon.html.CENTER.tag
4633
web2py.gluon.html.COL.tag
4634
web2py.gluon.html.COLGROUP.tag
4635
web2py.gluon.html.DIV.tag
4636
web2py.gluon.html.EM.tag
4637
web2py.gluon.html.EMBED.tag
4638
web2py.gluon.html.FIELDSET.tag
4639
web2py.gluon.html.FORM.tag
4640
web2py.gluon.html.H1.tag
4641
web2py.gluon.html.H2.tag
4642
web2py.gluon.html.H3.tag
4643
web2py.gluon.html.H4.tag
4644
web2py.gluon.html.H5.tag
4645
web2py.gluon.html.H6.tag
4646
web2py.gluon.html.HEAD.tag
4647
web2py.gluon.html.HR.tag
4648
web2py.gluon.html.HTML.tag
4649
web2py.gluon.html.I.tag
4650
web2py.gluon.html.IFRAME.tag
4651
web2py.gluon.html.IMG.tag
4652
web2py.gluon.html.INPUT.tag
4653
web2py.gluon.html.LABEL.tag
4654
web2py.gluon.html.LEGEND.tag
4655
web2py.gluon.html.LI.tag
4656
web2py.gluon.html.LINK.tag
4657
web2py.gluon.html.MENU.tag
4658
web2py.gluon.html.META.tag
4659
web2py.gluon.html.OBJECT.tag
4660
web2py.gluon.html.OL.tag
4661
web2py.gluon.html.OPTGROUP.tag
4662
web2py.gluon.html.OPTION.tag
4663
web2py.gluon.html.P.tag
4664
web2py.gluon.html.PRE.tag
4665
web2py.gluon.html.SCRIPT.tag
4666
web2py.gluon.html.SELECT.tag
4667
web2py.gluon.html.SPAN.tag
4668
web2py.gluon.html.STYLE.tag
4669
web2py.gluon.html.TABLE.tag
4670
web2py.gluon.html.TBODY.tag
4671
web2py.gluon.html.TD.tag
4672
web2py.gluon.html.TEXTAREA.tag
4673
web2py.gluon.html.TFOOT.tag
4674
web2py.gluon.html.TH.tag
4675
web2py.gluon.html.THEAD.tag
4676
web2py.gluon.html.TITLE.tag
4677
web2py.gluon.html.TR.tag
4678
web2py.gluon.html.TT.tag
4679
web2py.gluon.html.UL.tag
4680
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-296', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'li'</tt> </tt>
4681
</div><a name="L1374"></a><tt class="py-lineno">1374</tt> <tt class="py-line"> </tt>
4682
<a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"> </tt>
4683
<a name="UL"></a><div id="UL-def"><a name="L1376"></a><tt class="py-lineno">1376</tt> <a class="py-toggle" href="#" id="UL-toggle" onclick="return toggle('UL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.UL-class.html">UL</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4684
</div><div id="UL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="UL-expanded"><a name="L1377"></a><tt class="py-lineno">1377</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
4685
<a name="L1378"></a><tt class="py-lineno">1378</tt> <tt class="py-line"><tt class="py-docstring"> UL Component.</tt> </tt>
4686
<a name="L1379"></a><tt class="py-lineno">1379</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4687
<a name="L1380"></a><tt class="py-lineno">1380</tt> <tt class="py-line"><tt class="py-docstring"> If subcomponents are not LI-components they will be wrapped in a LI</tt> </tt>
4688
<a name="L1381"></a><tt class="py-lineno">1381</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4689
<a name="L1382"></a><tt class="py-lineno">1382</tt> <tt class="py-line"><tt class="py-docstring"> see also :class:`DIV`</tt> </tt>
4690
<a name="L1383"></a><tt class="py-lineno">1383</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
4691
<a name="L1384"></a><tt class="py-lineno">1384</tt> <tt class="py-line"> </tt>
4692
<a name="L1385"></a><tt class="py-lineno">1385</tt> <tt class="py-line"> <tt id="link-297" class="py-name"><a title="web2py.gluon.html.A.tag
4693
web2py.gluon.html.B.tag
4694
web2py.gluon.html.BEAUTIFY.tag
4695
web2py.gluon.html.BODY.tag
4696
web2py.gluon.html.BR.tag
4697
web2py.gluon.html.BUTTON.tag
4698
web2py.gluon.html.CAT.tag
4699
web2py.gluon.html.CENTER.tag
4700
web2py.gluon.html.COL.tag
4701
web2py.gluon.html.COLGROUP.tag
4702
web2py.gluon.html.DIV.tag
4703
web2py.gluon.html.EM.tag
4704
web2py.gluon.html.EMBED.tag
4705
web2py.gluon.html.FIELDSET.tag
4706
web2py.gluon.html.FORM.tag
4707
web2py.gluon.html.H1.tag
4708
web2py.gluon.html.H2.tag
4709
web2py.gluon.html.H3.tag
4710
web2py.gluon.html.H4.tag
4711
web2py.gluon.html.H5.tag
4712
web2py.gluon.html.H6.tag
4713
web2py.gluon.html.HEAD.tag
4714
web2py.gluon.html.HR.tag
4715
web2py.gluon.html.HTML.tag
4716
web2py.gluon.html.I.tag
4717
web2py.gluon.html.IFRAME.tag
4718
web2py.gluon.html.IMG.tag
4719
web2py.gluon.html.INPUT.tag
4720
web2py.gluon.html.LABEL.tag
4721
web2py.gluon.html.LEGEND.tag
4722
web2py.gluon.html.LI.tag
4723
web2py.gluon.html.LINK.tag
4724
web2py.gluon.html.MENU.tag
4725
web2py.gluon.html.META.tag
4726
web2py.gluon.html.OBJECT.tag
4727
web2py.gluon.html.OL.tag
4728
web2py.gluon.html.OPTGROUP.tag
4729
web2py.gluon.html.OPTION.tag
4730
web2py.gluon.html.P.tag
4731
web2py.gluon.html.PRE.tag
4732
web2py.gluon.html.SCRIPT.tag
4733
web2py.gluon.html.SELECT.tag
4734
web2py.gluon.html.SPAN.tag
4735
web2py.gluon.html.STYLE.tag
4736
web2py.gluon.html.TABLE.tag
4737
web2py.gluon.html.TBODY.tag
4738
web2py.gluon.html.TD.tag
4739
web2py.gluon.html.TEXTAREA.tag
4740
web2py.gluon.html.TFOOT.tag
4741
web2py.gluon.html.TH.tag
4742
web2py.gluon.html.THEAD.tag
4743
web2py.gluon.html.TITLE.tag
4744
web2py.gluon.html.TR.tag
4745
web2py.gluon.html.TT.tag
4746
web2py.gluon.html.UL.tag
4747
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-297', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'ul'</tt> </tt>
4748
<a name="L1386"></a><tt class="py-lineno">1386</tt> <tt class="py-line"> </tt>
4749
<a name="UL._fixup"></a><div id="UL._fixup-def"><a name="L1387"></a><tt class="py-lineno">1387</tt> <a class="py-toggle" href="#" id="UL._fixup-toggle" onclick="return toggle('UL._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.UL-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4750
</div><div id="UL._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="UL._fixup-expanded"><a name="L1388"></a><tt class="py-lineno">1388</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name" targets="Method web2py.gluon.html.DIV._wrap_components()=web2py.gluon.html.DIV-class.html#_wrap_components"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-298', '_wrap_components', 'link-298');">_wrap_components</a></tt><tt class="py-op">(</tt><tt id="link-299" class="py-name" targets="Class web2py.gluon.html.LI=web2py.gluon.html.LI-class.html"><a title="web2py.gluon.html.LI" class="py-name" href="#" onclick="return doclink('link-299', 'LI', 'link-299');">LI</a></tt><tt class="py-op">,</tt> <tt id="link-300" class="py-name"><a title="web2py.gluon.html.LI" class="py-name" href="#" onclick="return doclink('link-300', 'LI', 'link-299');">LI</a></tt><tt class="py-op">)</tt> </tt>
4751
</div></div><a name="L1389"></a><tt class="py-lineno">1389</tt> <tt class="py-line"> </tt>
4752
<a name="L1390"></a><tt class="py-lineno">1390</tt> <tt class="py-line"> </tt>
4753
<a name="OL"></a><div id="OL-def"><a name="L1391"></a><tt class="py-lineno">1391</tt> <a class="py-toggle" href="#" id="OL-toggle" onclick="return toggle('OL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.OL-class.html">OL</a><tt class="py-op">(</tt><tt class="py-base-class">UL</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4754
</div><div id="OL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OL-expanded"><a name="L1392"></a><tt class="py-lineno">1392</tt> <tt class="py-line"> </tt>
4755
<a name="L1393"></a><tt class="py-lineno">1393</tt> <tt class="py-line"> <tt id="link-301" class="py-name"><a title="web2py.gluon.html.A.tag
4756
web2py.gluon.html.B.tag
4757
web2py.gluon.html.BEAUTIFY.tag
4758
web2py.gluon.html.BODY.tag
4759
web2py.gluon.html.BR.tag
4760
web2py.gluon.html.BUTTON.tag
4761
web2py.gluon.html.CAT.tag
4762
web2py.gluon.html.CENTER.tag
4763
web2py.gluon.html.COL.tag
4764
web2py.gluon.html.COLGROUP.tag
4765
web2py.gluon.html.DIV.tag
4766
web2py.gluon.html.EM.tag
4767
web2py.gluon.html.EMBED.tag
4768
web2py.gluon.html.FIELDSET.tag
4769
web2py.gluon.html.FORM.tag
4770
web2py.gluon.html.H1.tag
4771
web2py.gluon.html.H2.tag
4772
web2py.gluon.html.H3.tag
4773
web2py.gluon.html.H4.tag
4774
web2py.gluon.html.H5.tag
4775
web2py.gluon.html.H6.tag
4776
web2py.gluon.html.HEAD.tag
4777
web2py.gluon.html.HR.tag
4778
web2py.gluon.html.HTML.tag
4779
web2py.gluon.html.I.tag
4780
web2py.gluon.html.IFRAME.tag
4781
web2py.gluon.html.IMG.tag
4782
web2py.gluon.html.INPUT.tag
4783
web2py.gluon.html.LABEL.tag
4784
web2py.gluon.html.LEGEND.tag
4785
web2py.gluon.html.LI.tag
4786
web2py.gluon.html.LINK.tag
4787
web2py.gluon.html.MENU.tag
4788
web2py.gluon.html.META.tag
4789
web2py.gluon.html.OBJECT.tag
4790
web2py.gluon.html.OL.tag
4791
web2py.gluon.html.OPTGROUP.tag
4792
web2py.gluon.html.OPTION.tag
4793
web2py.gluon.html.P.tag
4794
web2py.gluon.html.PRE.tag
4795
web2py.gluon.html.SCRIPT.tag
4796
web2py.gluon.html.SELECT.tag
4797
web2py.gluon.html.SPAN.tag
4798
web2py.gluon.html.STYLE.tag
4799
web2py.gluon.html.TABLE.tag
4800
web2py.gluon.html.TBODY.tag
4801
web2py.gluon.html.TD.tag
4802
web2py.gluon.html.TEXTAREA.tag
4803
web2py.gluon.html.TFOOT.tag
4804
web2py.gluon.html.TH.tag
4805
web2py.gluon.html.THEAD.tag
4806
web2py.gluon.html.TITLE.tag
4807
web2py.gluon.html.TR.tag
4808
web2py.gluon.html.TT.tag
4809
web2py.gluon.html.UL.tag
4810
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-301', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'ol'</tt> </tt>
4811
</div><a name="L1394"></a><tt class="py-lineno">1394</tt> <tt class="py-line"> </tt>
4812
<a name="L1395"></a><tt class="py-lineno">1395</tt> <tt class="py-line"> </tt>
4813
<a name="TD"></a><div id="TD-def"><a name="L1396"></a><tt class="py-lineno">1396</tt> <a class="py-toggle" href="#" id="TD-toggle" onclick="return toggle('TD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TD-class.html">TD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4814
</div><div id="TD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TD-expanded"><a name="L1397"></a><tt class="py-lineno">1397</tt> <tt class="py-line"> </tt>
4815
<a name="L1398"></a><tt class="py-lineno">1398</tt> <tt class="py-line"> <tt id="link-302" class="py-name"><a title="web2py.gluon.html.A.tag
4816
web2py.gluon.html.B.tag
4817
web2py.gluon.html.BEAUTIFY.tag
4818
web2py.gluon.html.BODY.tag
4819
web2py.gluon.html.BR.tag
4820
web2py.gluon.html.BUTTON.tag
4821
web2py.gluon.html.CAT.tag
4822
web2py.gluon.html.CENTER.tag
4823
web2py.gluon.html.COL.tag
4824
web2py.gluon.html.COLGROUP.tag
4825
web2py.gluon.html.DIV.tag
4826
web2py.gluon.html.EM.tag
4827
web2py.gluon.html.EMBED.tag
4828
web2py.gluon.html.FIELDSET.tag
4829
web2py.gluon.html.FORM.tag
4830
web2py.gluon.html.H1.tag
4831
web2py.gluon.html.H2.tag
4832
web2py.gluon.html.H3.tag
4833
web2py.gluon.html.H4.tag
4834
web2py.gluon.html.H5.tag
4835
web2py.gluon.html.H6.tag
4836
web2py.gluon.html.HEAD.tag
4837
web2py.gluon.html.HR.tag
4838
web2py.gluon.html.HTML.tag
4839
web2py.gluon.html.I.tag
4840
web2py.gluon.html.IFRAME.tag
4841
web2py.gluon.html.IMG.tag
4842
web2py.gluon.html.INPUT.tag
4843
web2py.gluon.html.LABEL.tag
4844
web2py.gluon.html.LEGEND.tag
4845
web2py.gluon.html.LI.tag
4846
web2py.gluon.html.LINK.tag
4847
web2py.gluon.html.MENU.tag
4848
web2py.gluon.html.META.tag
4849
web2py.gluon.html.OBJECT.tag
4850
web2py.gluon.html.OL.tag
4851
web2py.gluon.html.OPTGROUP.tag
4852
web2py.gluon.html.OPTION.tag
4853
web2py.gluon.html.P.tag
4854
web2py.gluon.html.PRE.tag
4855
web2py.gluon.html.SCRIPT.tag
4856
web2py.gluon.html.SELECT.tag
4857
web2py.gluon.html.SPAN.tag
4858
web2py.gluon.html.STYLE.tag
4859
web2py.gluon.html.TABLE.tag
4860
web2py.gluon.html.TBODY.tag
4861
web2py.gluon.html.TD.tag
4862
web2py.gluon.html.TEXTAREA.tag
4863
web2py.gluon.html.TFOOT.tag
4864
web2py.gluon.html.TH.tag
4865
web2py.gluon.html.THEAD.tag
4866
web2py.gluon.html.TITLE.tag
4867
web2py.gluon.html.TR.tag
4868
web2py.gluon.html.TT.tag
4869
web2py.gluon.html.UL.tag
4870
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-302', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'td'</tt> </tt>
4871
</div><a name="L1399"></a><tt class="py-lineno">1399</tt> <tt class="py-line"> </tt>
4872
<a name="L1400"></a><tt class="py-lineno">1400</tt> <tt class="py-line"> </tt>
4873
<a name="TH"></a><div id="TH-def"><a name="L1401"></a><tt class="py-lineno">1401</tt> <a class="py-toggle" href="#" id="TH-toggle" onclick="return toggle('TH');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TH-class.html">TH</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4874
</div><div id="TH-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TH-expanded"><a name="L1402"></a><tt class="py-lineno">1402</tt> <tt class="py-line"> </tt>
4875
<a name="L1403"></a><tt class="py-lineno">1403</tt> <tt class="py-line"> <tt id="link-303" class="py-name"><a title="web2py.gluon.html.A.tag
4876
web2py.gluon.html.B.tag
4877
web2py.gluon.html.BEAUTIFY.tag
4878
web2py.gluon.html.BODY.tag
4879
web2py.gluon.html.BR.tag
4880
web2py.gluon.html.BUTTON.tag
4881
web2py.gluon.html.CAT.tag
4882
web2py.gluon.html.CENTER.tag
4883
web2py.gluon.html.COL.tag
4884
web2py.gluon.html.COLGROUP.tag
4885
web2py.gluon.html.DIV.tag
4886
web2py.gluon.html.EM.tag
4887
web2py.gluon.html.EMBED.tag
4888
web2py.gluon.html.FIELDSET.tag
4889
web2py.gluon.html.FORM.tag
4890
web2py.gluon.html.H1.tag
4891
web2py.gluon.html.H2.tag
4892
web2py.gluon.html.H3.tag
4893
web2py.gluon.html.H4.tag
4894
web2py.gluon.html.H5.tag
4895
web2py.gluon.html.H6.tag
4896
web2py.gluon.html.HEAD.tag
4897
web2py.gluon.html.HR.tag
4898
web2py.gluon.html.HTML.tag
4899
web2py.gluon.html.I.tag
4900
web2py.gluon.html.IFRAME.tag
4901
web2py.gluon.html.IMG.tag
4902
web2py.gluon.html.INPUT.tag
4903
web2py.gluon.html.LABEL.tag
4904
web2py.gluon.html.LEGEND.tag
4905
web2py.gluon.html.LI.tag
4906
web2py.gluon.html.LINK.tag
4907
web2py.gluon.html.MENU.tag
4908
web2py.gluon.html.META.tag
4909
web2py.gluon.html.OBJECT.tag
4910
web2py.gluon.html.OL.tag
4911
web2py.gluon.html.OPTGROUP.tag
4912
web2py.gluon.html.OPTION.tag
4913
web2py.gluon.html.P.tag
4914
web2py.gluon.html.PRE.tag
4915
web2py.gluon.html.SCRIPT.tag
4916
web2py.gluon.html.SELECT.tag
4917
web2py.gluon.html.SPAN.tag
4918
web2py.gluon.html.STYLE.tag
4919
web2py.gluon.html.TABLE.tag
4920
web2py.gluon.html.TBODY.tag
4921
web2py.gluon.html.TD.tag
4922
web2py.gluon.html.TEXTAREA.tag
4923
web2py.gluon.html.TFOOT.tag
4924
web2py.gluon.html.TH.tag
4925
web2py.gluon.html.THEAD.tag
4926
web2py.gluon.html.TITLE.tag
4927
web2py.gluon.html.TR.tag
4928
web2py.gluon.html.TT.tag
4929
web2py.gluon.html.UL.tag
4930
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-303', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'th'</tt> </tt>
4931
</div><a name="L1404"></a><tt class="py-lineno">1404</tt> <tt class="py-line"> </tt>
4932
<a name="L1405"></a><tt class="py-lineno">1405</tt> <tt class="py-line"> </tt>
4933
<a name="TR"></a><div id="TR-def"><a name="L1406"></a><tt class="py-lineno">1406</tt> <a class="py-toggle" href="#" id="TR-toggle" onclick="return toggle('TR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TR-class.html">TR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4934
</div><div id="TR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TR-expanded"><a name="L1407"></a><tt class="py-lineno">1407</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
4935
<a name="L1408"></a><tt class="py-lineno">1408</tt> <tt class="py-line"><tt class="py-docstring"> TR Component.</tt> </tt>
4590
web2py.gluon.highlight.highlight" class="py-name" href="#" onclick="return doclink('link-283', 'highlight', 'link-7');">highlight</a></tt><tt class="py-op">(</tt> </tt>
4591
<a name="L1384"></a><tt class="py-lineno">1384</tt> <tt class="py-line"> <tt id="link-284" class="py-name"><a title="web2py.gluon.html.join
4592
web2py.gluon.rocket.Listener.join" class="py-name" href="#" onclick="return doclink('link-284', 'join', 'link-13');">join</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
4593
<a name="L1385"></a><tt class="py-lineno">1385</tt> <tt class="py-line"> <tt class="py-name">language</tt><tt class="py-op">=</tt><tt class="py-name">language</tt><tt class="py-op">,</tt> </tt>
4594
<a name="L1386"></a><tt class="py-lineno">1386</tt> <tt class="py-line"> <tt class="py-name">link</tt><tt class="py-op">=</tt><tt class="py-name">link</tt><tt class="py-op">,</tt> </tt>
4595
<a name="L1387"></a><tt class="py-lineno">1387</tt> <tt class="py-line"> <tt class="py-name">counter</tt><tt class="py-op">=</tt><tt class="py-name">counter</tt><tt class="py-op">,</tt> </tt>
4596
<a name="L1388"></a><tt class="py-lineno">1388</tt> <tt class="py-line"> <tt class="py-name">styles</tt><tt class="py-op">=</tt><tt class="py-name">styles</tt><tt class="py-op">,</tt> </tt>
4597
<a name="L1389"></a><tt class="py-lineno">1389</tt> <tt class="py-line"> <tt class="py-name">attributes</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">,</tt> </tt>
4598
<a name="L1390"></a><tt class="py-lineno">1390</tt> <tt class="py-line"> <tt class="py-name">highlight_line</tt><tt class="py-op">=</tt><tt class="py-name">highlight_line</tt><tt class="py-op">,</tt> </tt>
4599
<a name="L1391"></a><tt class="py-lineno">1391</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
4600
</div></div><a name="L1392"></a><tt class="py-lineno">1392</tt> <tt class="py-line"> </tt>
4601
<a name="L1393"></a><tt class="py-lineno">1393</tt> <tt class="py-line"> </tt>
4602
<a name="LABEL"></a><div id="LABEL-def"><a name="L1394"></a><tt class="py-lineno">1394</tt> <a class="py-toggle" href="#" id="LABEL-toggle" onclick="return toggle('LABEL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.LABEL-class.html">LABEL</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4603
</div><div id="LABEL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LABEL-expanded"><a name="L1395"></a><tt class="py-lineno">1395</tt> <tt class="py-line"> </tt>
4604
<a name="L1396"></a><tt class="py-lineno">1396</tt> <tt class="py-line"> <tt id="link-285" class="py-name"><a title="web2py.gluon.html.A.tag
4605
web2py.gluon.html.B.tag
4606
web2py.gluon.html.BEAUTIFY.tag
4607
web2py.gluon.html.BODY.tag
4608
web2py.gluon.html.BR.tag
4609
web2py.gluon.html.BUTTON.tag
4610
web2py.gluon.html.CAT.tag
4611
web2py.gluon.html.CENTER.tag
4612
web2py.gluon.html.COL.tag
4613
web2py.gluon.html.COLGROUP.tag
4614
web2py.gluon.html.DIV.tag
4615
web2py.gluon.html.EM.tag
4616
web2py.gluon.html.EMBED.tag
4617
web2py.gluon.html.FIELDSET.tag
4618
web2py.gluon.html.FORM.tag
4619
web2py.gluon.html.H1.tag
4620
web2py.gluon.html.H2.tag
4621
web2py.gluon.html.H3.tag
4622
web2py.gluon.html.H4.tag
4623
web2py.gluon.html.H5.tag
4624
web2py.gluon.html.H6.tag
4625
web2py.gluon.html.HEAD.tag
4626
web2py.gluon.html.HR.tag
4627
web2py.gluon.html.HTML.tag
4628
web2py.gluon.html.I.tag
4629
web2py.gluon.html.IFRAME.tag
4630
web2py.gluon.html.IMG.tag
4631
web2py.gluon.html.INPUT.tag
4632
web2py.gluon.html.LABEL.tag
4633
web2py.gluon.html.LEGEND.tag
4634
web2py.gluon.html.LI.tag
4635
web2py.gluon.html.LINK.tag
4636
web2py.gluon.html.MENU.tag
4637
web2py.gluon.html.META.tag
4638
web2py.gluon.html.OBJECT.tag
4639
web2py.gluon.html.OL.tag
4640
web2py.gluon.html.OPTGROUP.tag
4641
web2py.gluon.html.OPTION.tag
4642
web2py.gluon.html.P.tag
4643
web2py.gluon.html.PRE.tag
4644
web2py.gluon.html.SCRIPT.tag
4645
web2py.gluon.html.SELECT.tag
4646
web2py.gluon.html.SPAN.tag
4647
web2py.gluon.html.STYLE.tag
4648
web2py.gluon.html.TABLE.tag
4649
web2py.gluon.html.TBODY.tag
4650
web2py.gluon.html.TD.tag
4651
web2py.gluon.html.TEXTAREA.tag
4652
web2py.gluon.html.TFOOT.tag
4653
web2py.gluon.html.TH.tag
4654
web2py.gluon.html.THEAD.tag
4655
web2py.gluon.html.TITLE.tag
4656
web2py.gluon.html.TR.tag
4657
web2py.gluon.html.TT.tag
4658
web2py.gluon.html.UL.tag
4659
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-285', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'label'</tt> </tt>
4660
</div><a name="L1397"></a><tt class="py-lineno">1397</tt> <tt class="py-line"> </tt>
4661
<a name="L1398"></a><tt class="py-lineno">1398</tt> <tt class="py-line"> </tt>
4662
<a name="LI"></a><div id="LI-def"><a name="L1399"></a><tt class="py-lineno">1399</tt> <a class="py-toggle" href="#" id="LI-toggle" onclick="return toggle('LI');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.LI-class.html">LI</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4663
</div><div id="LI-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LI-expanded"><a name="L1400"></a><tt class="py-lineno">1400</tt> <tt class="py-line"> </tt>
4664
<a name="L1401"></a><tt class="py-lineno">1401</tt> <tt class="py-line"> <tt id="link-286" class="py-name"><a title="web2py.gluon.html.A.tag
4665
web2py.gluon.html.B.tag
4666
web2py.gluon.html.BEAUTIFY.tag
4667
web2py.gluon.html.BODY.tag
4668
web2py.gluon.html.BR.tag
4669
web2py.gluon.html.BUTTON.tag
4670
web2py.gluon.html.CAT.tag
4671
web2py.gluon.html.CENTER.tag
4672
web2py.gluon.html.COL.tag
4673
web2py.gluon.html.COLGROUP.tag
4674
web2py.gluon.html.DIV.tag
4675
web2py.gluon.html.EM.tag
4676
web2py.gluon.html.EMBED.tag
4677
web2py.gluon.html.FIELDSET.tag
4678
web2py.gluon.html.FORM.tag
4679
web2py.gluon.html.H1.tag
4680
web2py.gluon.html.H2.tag
4681
web2py.gluon.html.H3.tag
4682
web2py.gluon.html.H4.tag
4683
web2py.gluon.html.H5.tag
4684
web2py.gluon.html.H6.tag
4685
web2py.gluon.html.HEAD.tag
4686
web2py.gluon.html.HR.tag
4687
web2py.gluon.html.HTML.tag
4688
web2py.gluon.html.I.tag
4689
web2py.gluon.html.IFRAME.tag
4690
web2py.gluon.html.IMG.tag
4691
web2py.gluon.html.INPUT.tag
4692
web2py.gluon.html.LABEL.tag
4693
web2py.gluon.html.LEGEND.tag
4694
web2py.gluon.html.LI.tag
4695
web2py.gluon.html.LINK.tag
4696
web2py.gluon.html.MENU.tag
4697
web2py.gluon.html.META.tag
4698
web2py.gluon.html.OBJECT.tag
4699
web2py.gluon.html.OL.tag
4700
web2py.gluon.html.OPTGROUP.tag
4701
web2py.gluon.html.OPTION.tag
4702
web2py.gluon.html.P.tag
4703
web2py.gluon.html.PRE.tag
4704
web2py.gluon.html.SCRIPT.tag
4705
web2py.gluon.html.SELECT.tag
4706
web2py.gluon.html.SPAN.tag
4707
web2py.gluon.html.STYLE.tag
4708
web2py.gluon.html.TABLE.tag
4709
web2py.gluon.html.TBODY.tag
4710
web2py.gluon.html.TD.tag
4711
web2py.gluon.html.TEXTAREA.tag
4712
web2py.gluon.html.TFOOT.tag
4713
web2py.gluon.html.TH.tag
4714
web2py.gluon.html.THEAD.tag
4715
web2py.gluon.html.TITLE.tag
4716
web2py.gluon.html.TR.tag
4717
web2py.gluon.html.TT.tag
4718
web2py.gluon.html.UL.tag
4719
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-286', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'li'</tt> </tt>
4720
</div><a name="L1402"></a><tt class="py-lineno">1402</tt> <tt class="py-line"> </tt>
4721
<a name="L1403"></a><tt class="py-lineno">1403</tt> <tt class="py-line"> </tt>
4722
<a name="UL"></a><div id="UL-def"><a name="L1404"></a><tt class="py-lineno">1404</tt> <a class="py-toggle" href="#" id="UL-toggle" onclick="return toggle('UL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.UL-class.html">UL</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4723
</div><div id="UL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="UL-expanded"><a name="L1405"></a><tt class="py-lineno">1405</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
4724
<a name="L1406"></a><tt class="py-lineno">1406</tt> <tt class="py-line"><tt class="py-docstring"> UL Component.</tt> </tt>
4725
<a name="L1407"></a><tt class="py-lineno">1407</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4726
<a name="L1408"></a><tt class="py-lineno">1408</tt> <tt class="py-line"><tt class="py-docstring"> If subcomponents are not LI-components they will be wrapped in a LI</tt> </tt>
4936
4727
<a name="L1409"></a><tt class="py-lineno">1409</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4937
<a name="L1410"></a><tt class="py-lineno">1410</tt> <tt class="py-line"><tt class="py-docstring"> If subcomponents are not TD/TH-components they will be wrapped in a TD</tt> </tt>
4938
<a name="L1411"></a><tt class="py-lineno">1411</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4939
<a name="L1412"></a><tt class="py-lineno">1412</tt> <tt class="py-line"><tt class="py-docstring"> see also :class:`DIV`</tt> </tt>
4940
<a name="L1413"></a><tt class="py-lineno">1413</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
4728
<a name="L1410"></a><tt class="py-lineno">1410</tt> <tt class="py-line"><tt class="py-docstring"> see also :class:`DIV`</tt> </tt>
4729
<a name="L1411"></a><tt class="py-lineno">1411</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
4730
<a name="L1412"></a><tt class="py-lineno">1412</tt> <tt class="py-line"> </tt>
4731
<a name="L1413"></a><tt class="py-lineno">1413</tt> <tt class="py-line"> <tt id="link-287" class="py-name"><a title="web2py.gluon.html.A.tag
4732
web2py.gluon.html.B.tag
4733
web2py.gluon.html.BEAUTIFY.tag
4734
web2py.gluon.html.BODY.tag
4735
web2py.gluon.html.BR.tag
4736
web2py.gluon.html.BUTTON.tag
4737
web2py.gluon.html.CAT.tag
4738
web2py.gluon.html.CENTER.tag
4739
web2py.gluon.html.COL.tag
4740
web2py.gluon.html.COLGROUP.tag
4741
web2py.gluon.html.DIV.tag
4742
web2py.gluon.html.EM.tag
4743
web2py.gluon.html.EMBED.tag
4744
web2py.gluon.html.FIELDSET.tag
4745
web2py.gluon.html.FORM.tag
4746
web2py.gluon.html.H1.tag
4747
web2py.gluon.html.H2.tag
4748
web2py.gluon.html.H3.tag
4749
web2py.gluon.html.H4.tag
4750
web2py.gluon.html.H5.tag
4751
web2py.gluon.html.H6.tag
4752
web2py.gluon.html.HEAD.tag
4753
web2py.gluon.html.HR.tag
4754
web2py.gluon.html.HTML.tag
4755
web2py.gluon.html.I.tag
4756
web2py.gluon.html.IFRAME.tag
4757
web2py.gluon.html.IMG.tag
4758
web2py.gluon.html.INPUT.tag
4759
web2py.gluon.html.LABEL.tag
4760
web2py.gluon.html.LEGEND.tag
4761
web2py.gluon.html.LI.tag
4762
web2py.gluon.html.LINK.tag
4763
web2py.gluon.html.MENU.tag
4764
web2py.gluon.html.META.tag
4765
web2py.gluon.html.OBJECT.tag
4766
web2py.gluon.html.OL.tag
4767
web2py.gluon.html.OPTGROUP.tag
4768
web2py.gluon.html.OPTION.tag
4769
web2py.gluon.html.P.tag
4770
web2py.gluon.html.PRE.tag
4771
web2py.gluon.html.SCRIPT.tag
4772
web2py.gluon.html.SELECT.tag
4773
web2py.gluon.html.SPAN.tag
4774
web2py.gluon.html.STYLE.tag
4775
web2py.gluon.html.TABLE.tag
4776
web2py.gluon.html.TBODY.tag
4777
web2py.gluon.html.TD.tag
4778
web2py.gluon.html.TEXTAREA.tag
4779
web2py.gluon.html.TFOOT.tag
4780
web2py.gluon.html.TH.tag
4781
web2py.gluon.html.THEAD.tag
4782
web2py.gluon.html.TITLE.tag
4783
web2py.gluon.html.TR.tag
4784
web2py.gluon.html.TT.tag
4785
web2py.gluon.html.UL.tag
4786
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-287', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'ul'</tt> </tt>
4941
4787
<a name="L1414"></a><tt class="py-lineno">1414</tt> <tt class="py-line"> </tt>
4942
<a name="L1415"></a><tt class="py-lineno">1415</tt> <tt class="py-line"> <tt id="link-304" class="py-name"><a title="web2py.gluon.html.A.tag
4943
web2py.gluon.html.B.tag
4944
web2py.gluon.html.BEAUTIFY.tag
4945
web2py.gluon.html.BODY.tag
4946
web2py.gluon.html.BR.tag
4947
web2py.gluon.html.BUTTON.tag
4948
web2py.gluon.html.CAT.tag
4949
web2py.gluon.html.CENTER.tag
4950
web2py.gluon.html.COL.tag
4951
web2py.gluon.html.COLGROUP.tag
4952
web2py.gluon.html.DIV.tag
4953
web2py.gluon.html.EM.tag
4954
web2py.gluon.html.EMBED.tag
4955
web2py.gluon.html.FIELDSET.tag
4956
web2py.gluon.html.FORM.tag
4957
web2py.gluon.html.H1.tag
4958
web2py.gluon.html.H2.tag
4959
web2py.gluon.html.H3.tag
4960
web2py.gluon.html.H4.tag
4961
web2py.gluon.html.H5.tag
4962
web2py.gluon.html.H6.tag
4963
web2py.gluon.html.HEAD.tag
4964
web2py.gluon.html.HR.tag
4965
web2py.gluon.html.HTML.tag
4966
web2py.gluon.html.I.tag
4967
web2py.gluon.html.IFRAME.tag
4968
web2py.gluon.html.IMG.tag
4969
web2py.gluon.html.INPUT.tag
4970
web2py.gluon.html.LABEL.tag
4971
web2py.gluon.html.LEGEND.tag
4972
web2py.gluon.html.LI.tag
4973
web2py.gluon.html.LINK.tag
4974
web2py.gluon.html.MENU.tag
4975
web2py.gluon.html.META.tag
4976
web2py.gluon.html.OBJECT.tag
4977
web2py.gluon.html.OL.tag
4978
web2py.gluon.html.OPTGROUP.tag
4979
web2py.gluon.html.OPTION.tag
4980
web2py.gluon.html.P.tag
4981
web2py.gluon.html.PRE.tag
4982
web2py.gluon.html.SCRIPT.tag
4983
web2py.gluon.html.SELECT.tag
4984
web2py.gluon.html.SPAN.tag
4985
web2py.gluon.html.STYLE.tag
4986
web2py.gluon.html.TABLE.tag
4987
web2py.gluon.html.TBODY.tag
4988
web2py.gluon.html.TD.tag
4989
web2py.gluon.html.TEXTAREA.tag
4990
web2py.gluon.html.TFOOT.tag
4991
web2py.gluon.html.TH.tag
4992
web2py.gluon.html.THEAD.tag
4993
web2py.gluon.html.TITLE.tag
4994
web2py.gluon.html.TR.tag
4995
web2py.gluon.html.TT.tag
4996
web2py.gluon.html.UL.tag
4997
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-304', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tr'</tt> </tt>
4998
<a name="L1416"></a><tt class="py-lineno">1416</tt> <tt class="py-line"> </tt>
4999
<a name="TR._fixup"></a><div id="TR._fixup-def"><a name="L1417"></a><tt class="py-lineno">1417</tt> <a class="py-toggle" href="#" id="TR._fixup-toggle" onclick="return toggle('TR._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TR-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5000
</div><div id="TR._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TR._fixup-expanded"><a name="L1418"></a><tt class="py-lineno">1418</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-305', '_wrap_components', 'link-298');">_wrap_components</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-306" class="py-name" targets="Class web2py.gluon.html.TD=web2py.gluon.html.TD-class.html"><a title="web2py.gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-306', 'TD', 'link-306');">TD</a></tt><tt class="py-op">,</tt> <tt id="link-307" class="py-name" targets="Class web2py.gluon.html.TH=web2py.gluon.html.TH-class.html"><a title="web2py.gluon.html.TH" class="py-name" href="#" onclick="return doclink('link-307', 'TH', 'link-307');">TH</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-308" class="py-name"><a title="web2py.gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-308', 'TD', 'link-306');">TD</a></tt><tt class="py-op">)</tt> </tt>
5001
</div></div><a name="L1419"></a><tt class="py-lineno">1419</tt> <tt class="py-line"> </tt>
5002
<a name="THEAD"></a><div id="THEAD-def"><a name="L1420"></a><tt class="py-lineno">1420</tt> <a class="py-toggle" href="#" id="THEAD-toggle" onclick="return toggle('THEAD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.THEAD-class.html">THEAD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5003
</div><div id="THEAD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="THEAD-expanded"><a name="L1421"></a><tt class="py-lineno">1421</tt> <tt class="py-line"> </tt>
5004
<a name="L1422"></a><tt class="py-lineno">1422</tt> <tt class="py-line"> <tt id="link-309" class="py-name"><a title="web2py.gluon.html.A.tag
5005
web2py.gluon.html.B.tag
5006
web2py.gluon.html.BEAUTIFY.tag
5007
web2py.gluon.html.BODY.tag
5008
web2py.gluon.html.BR.tag
5009
web2py.gluon.html.BUTTON.tag
5010
web2py.gluon.html.CAT.tag
5011
web2py.gluon.html.CENTER.tag
5012
web2py.gluon.html.COL.tag
5013
web2py.gluon.html.COLGROUP.tag
5014
web2py.gluon.html.DIV.tag
5015
web2py.gluon.html.EM.tag
5016
web2py.gluon.html.EMBED.tag
5017
web2py.gluon.html.FIELDSET.tag
5018
web2py.gluon.html.FORM.tag
5019
web2py.gluon.html.H1.tag
5020
web2py.gluon.html.H2.tag
5021
web2py.gluon.html.H3.tag
5022
web2py.gluon.html.H4.tag
5023
web2py.gluon.html.H5.tag
5024
web2py.gluon.html.H6.tag
5025
web2py.gluon.html.HEAD.tag
5026
web2py.gluon.html.HR.tag
5027
web2py.gluon.html.HTML.tag
5028
web2py.gluon.html.I.tag
5029
web2py.gluon.html.IFRAME.tag
5030
web2py.gluon.html.IMG.tag
5031
web2py.gluon.html.INPUT.tag
5032
web2py.gluon.html.LABEL.tag
5033
web2py.gluon.html.LEGEND.tag
5034
web2py.gluon.html.LI.tag
5035
web2py.gluon.html.LINK.tag
5036
web2py.gluon.html.MENU.tag
5037
web2py.gluon.html.META.tag
5038
web2py.gluon.html.OBJECT.tag
5039
web2py.gluon.html.OL.tag
5040
web2py.gluon.html.OPTGROUP.tag
5041
web2py.gluon.html.OPTION.tag
5042
web2py.gluon.html.P.tag
5043
web2py.gluon.html.PRE.tag
5044
web2py.gluon.html.SCRIPT.tag
5045
web2py.gluon.html.SELECT.tag
5046
web2py.gluon.html.SPAN.tag
5047
web2py.gluon.html.STYLE.tag
5048
web2py.gluon.html.TABLE.tag
5049
web2py.gluon.html.TBODY.tag
5050
web2py.gluon.html.TD.tag
5051
web2py.gluon.html.TEXTAREA.tag
5052
web2py.gluon.html.TFOOT.tag
5053
web2py.gluon.html.TH.tag
5054
web2py.gluon.html.THEAD.tag
5055
web2py.gluon.html.TITLE.tag
5056
web2py.gluon.html.TR.tag
5057
web2py.gluon.html.TT.tag
5058
web2py.gluon.html.UL.tag
5059
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-309', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'thead'</tt> </tt>
4788
<a name="UL._fixup"></a><div id="UL._fixup-def"><a name="L1415"></a><tt class="py-lineno">1415</tt> <a class="py-toggle" href="#" id="UL._fixup-toggle" onclick="return toggle('UL._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.UL-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4789
</div><div id="UL._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="UL._fixup-expanded"><a name="L1416"></a><tt class="py-lineno">1416</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name" targets="Method web2py.gluon.html.DIV._wrap_components()=web2py.gluon.html.DIV-class.html#_wrap_components"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-288', '_wrap_components', 'link-288');">_wrap_components</a></tt><tt class="py-op">(</tt><tt id="link-289" class="py-name" targets="Class web2py.gluon.html.LI=web2py.gluon.html.LI-class.html"><a title="web2py.gluon.html.LI" class="py-name" href="#" onclick="return doclink('link-289', 'LI', 'link-289');">LI</a></tt><tt class="py-op">,</tt> <tt id="link-290" class="py-name"><a title="web2py.gluon.html.LI" class="py-name" href="#" onclick="return doclink('link-290', 'LI', 'link-289');">LI</a></tt><tt class="py-op">)</tt> </tt>
4790
</div></div><a name="L1417"></a><tt class="py-lineno">1417</tt> <tt class="py-line"> </tt>
4791
<a name="L1418"></a><tt class="py-lineno">1418</tt> <tt class="py-line"> </tt>
4792
<a name="OL"></a><div id="OL-def"><a name="L1419"></a><tt class="py-lineno">1419</tt> <a class="py-toggle" href="#" id="OL-toggle" onclick="return toggle('OL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.OL-class.html">OL</a><tt class="py-op">(</tt><tt class="py-base-class">UL</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4793
</div><div id="OL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OL-expanded"><a name="L1420"></a><tt class="py-lineno">1420</tt> <tt class="py-line"> </tt>
4794
<a name="L1421"></a><tt class="py-lineno">1421</tt> <tt class="py-line"> <tt id="link-291" class="py-name"><a title="web2py.gluon.html.A.tag
4795
web2py.gluon.html.B.tag
4796
web2py.gluon.html.BEAUTIFY.tag
4797
web2py.gluon.html.BODY.tag
4798
web2py.gluon.html.BR.tag
4799
web2py.gluon.html.BUTTON.tag
4800
web2py.gluon.html.CAT.tag
4801
web2py.gluon.html.CENTER.tag
4802
web2py.gluon.html.COL.tag
4803
web2py.gluon.html.COLGROUP.tag
4804
web2py.gluon.html.DIV.tag
4805
web2py.gluon.html.EM.tag
4806
web2py.gluon.html.EMBED.tag
4807
web2py.gluon.html.FIELDSET.tag
4808
web2py.gluon.html.FORM.tag
4809
web2py.gluon.html.H1.tag
4810
web2py.gluon.html.H2.tag
4811
web2py.gluon.html.H3.tag
4812
web2py.gluon.html.H4.tag
4813
web2py.gluon.html.H5.tag
4814
web2py.gluon.html.H6.tag
4815
web2py.gluon.html.HEAD.tag
4816
web2py.gluon.html.HR.tag
4817
web2py.gluon.html.HTML.tag
4818
web2py.gluon.html.I.tag
4819
web2py.gluon.html.IFRAME.tag
4820
web2py.gluon.html.IMG.tag
4821
web2py.gluon.html.INPUT.tag
4822
web2py.gluon.html.LABEL.tag
4823
web2py.gluon.html.LEGEND.tag
4824
web2py.gluon.html.LI.tag
4825
web2py.gluon.html.LINK.tag
4826
web2py.gluon.html.MENU.tag
4827
web2py.gluon.html.META.tag
4828
web2py.gluon.html.OBJECT.tag
4829
web2py.gluon.html.OL.tag
4830
web2py.gluon.html.OPTGROUP.tag
4831
web2py.gluon.html.OPTION.tag
4832
web2py.gluon.html.P.tag
4833
web2py.gluon.html.PRE.tag
4834
web2py.gluon.html.SCRIPT.tag
4835
web2py.gluon.html.SELECT.tag
4836
web2py.gluon.html.SPAN.tag
4837
web2py.gluon.html.STYLE.tag
4838
web2py.gluon.html.TABLE.tag
4839
web2py.gluon.html.TBODY.tag
4840
web2py.gluon.html.TD.tag
4841
web2py.gluon.html.TEXTAREA.tag
4842
web2py.gluon.html.TFOOT.tag
4843
web2py.gluon.html.TH.tag
4844
web2py.gluon.html.THEAD.tag
4845
web2py.gluon.html.TITLE.tag
4846
web2py.gluon.html.TR.tag
4847
web2py.gluon.html.TT.tag
4848
web2py.gluon.html.UL.tag
4849
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-291', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'ol'</tt> </tt>
4850
</div><a name="L1422"></a><tt class="py-lineno">1422</tt> <tt class="py-line"> </tt>
5060
4851
<a name="L1423"></a><tt class="py-lineno">1423</tt> <tt class="py-line"> </tt>
5061
<a name="THEAD._fixup"></a><div id="THEAD._fixup-def"><a name="L1424"></a><tt class="py-lineno">1424</tt> <a class="py-toggle" href="#" id="THEAD._fixup-toggle" onclick="return toggle('THEAD._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.THEAD-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5062
</div><div id="THEAD._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="THEAD._fixup-expanded"><a name="L1425"></a><tt class="py-lineno">1425</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-310', '_wrap_components', 'link-298');">_wrap_components</a></tt><tt class="py-op">(</tt><tt id="link-311" class="py-name" targets="Class web2py.gluon.html.TR=web2py.gluon.html.TR-class.html"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-311', 'TR', 'link-311');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-312" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-312', 'TR', 'link-311');">TR</a></tt><tt class="py-op">)</tt> </tt>
5063
</div></div><a name="L1426"></a><tt class="py-lineno">1426</tt> <tt class="py-line"> </tt>
5064
<a name="L1427"></a><tt class="py-lineno">1427</tt> <tt class="py-line"> </tt>
5065
<a name="TBODY"></a><div id="TBODY-def"><a name="L1428"></a><tt class="py-lineno">1428</tt> <a class="py-toggle" href="#" id="TBODY-toggle" onclick="return toggle('TBODY');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TBODY-class.html">TBODY</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5066
</div><div id="TBODY-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TBODY-expanded"><a name="L1429"></a><tt class="py-lineno">1429</tt> <tt class="py-line"> </tt>
5067
<a name="L1430"></a><tt class="py-lineno">1430</tt> <tt class="py-line"> <tt id="link-313" class="py-name"><a title="web2py.gluon.html.A.tag
5068
web2py.gluon.html.B.tag
5069
web2py.gluon.html.BEAUTIFY.tag
5070
web2py.gluon.html.BODY.tag
5071
web2py.gluon.html.BR.tag
5072
web2py.gluon.html.BUTTON.tag
5073
web2py.gluon.html.CAT.tag
5074
web2py.gluon.html.CENTER.tag
5075
web2py.gluon.html.COL.tag
5076
web2py.gluon.html.COLGROUP.tag
5077
web2py.gluon.html.DIV.tag
5078
web2py.gluon.html.EM.tag
5079
web2py.gluon.html.EMBED.tag
5080
web2py.gluon.html.FIELDSET.tag
5081
web2py.gluon.html.FORM.tag
5082
web2py.gluon.html.H1.tag
5083
web2py.gluon.html.H2.tag
5084
web2py.gluon.html.H3.tag
5085
web2py.gluon.html.H4.tag
5086
web2py.gluon.html.H5.tag
5087
web2py.gluon.html.H6.tag
5088
web2py.gluon.html.HEAD.tag
5089
web2py.gluon.html.HR.tag
5090
web2py.gluon.html.HTML.tag
5091
web2py.gluon.html.I.tag
5092
web2py.gluon.html.IFRAME.tag
5093
web2py.gluon.html.IMG.tag
5094
web2py.gluon.html.INPUT.tag
5095
web2py.gluon.html.LABEL.tag
5096
web2py.gluon.html.LEGEND.tag
5097
web2py.gluon.html.LI.tag
5098
web2py.gluon.html.LINK.tag
5099
web2py.gluon.html.MENU.tag
5100
web2py.gluon.html.META.tag
5101
web2py.gluon.html.OBJECT.tag
5102
web2py.gluon.html.OL.tag
5103
web2py.gluon.html.OPTGROUP.tag
5104
web2py.gluon.html.OPTION.tag
5105
web2py.gluon.html.P.tag
5106
web2py.gluon.html.PRE.tag
5107
web2py.gluon.html.SCRIPT.tag
5108
web2py.gluon.html.SELECT.tag
5109
web2py.gluon.html.SPAN.tag
5110
web2py.gluon.html.STYLE.tag
5111
web2py.gluon.html.TABLE.tag
5112
web2py.gluon.html.TBODY.tag
5113
web2py.gluon.html.TD.tag
5114
web2py.gluon.html.TEXTAREA.tag
5115
web2py.gluon.html.TFOOT.tag
5116
web2py.gluon.html.TH.tag
5117
web2py.gluon.html.THEAD.tag
5118
web2py.gluon.html.TITLE.tag
5119
web2py.gluon.html.TR.tag
5120
web2py.gluon.html.TT.tag
5121
web2py.gluon.html.UL.tag
5122
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-313', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tbody'</tt> </tt>
5123
<a name="L1431"></a><tt class="py-lineno">1431</tt> <tt class="py-line"> </tt>
5124
<a name="TBODY._fixup"></a><div id="TBODY._fixup-def"><a name="L1432"></a><tt class="py-lineno">1432</tt> <a class="py-toggle" href="#" id="TBODY._fixup-toggle" onclick="return toggle('TBODY._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TBODY-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5125
</div><div id="TBODY._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TBODY._fixup-expanded"><a name="L1433"></a><tt class="py-lineno">1433</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-314', '_wrap_components', 'link-298');">_wrap_components</a></tt><tt class="py-op">(</tt><tt id="link-315" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-315', 'TR', 'link-311');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-316" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-316', 'TR', 'link-311');">TR</a></tt><tt class="py-op">)</tt> </tt>
5126
</div></div><a name="L1434"></a><tt class="py-lineno">1434</tt> <tt class="py-line"> </tt>
5127
<a name="L1435"></a><tt class="py-lineno">1435</tt> <tt class="py-line"> </tt>
5128
<a name="TFOOT"></a><div id="TFOOT-def"><a name="L1436"></a><tt class="py-lineno">1436</tt> <a class="py-toggle" href="#" id="TFOOT-toggle" onclick="return toggle('TFOOT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TFOOT-class.html">TFOOT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5129
</div><div id="TFOOT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TFOOT-expanded"><a name="L1437"></a><tt class="py-lineno">1437</tt> <tt class="py-line"> </tt>
5130
<a name="L1438"></a><tt class="py-lineno">1438</tt> <tt class="py-line"> <tt id="link-317" class="py-name"><a title="web2py.gluon.html.A.tag
5131
web2py.gluon.html.B.tag
5132
web2py.gluon.html.BEAUTIFY.tag
5133
web2py.gluon.html.BODY.tag
5134
web2py.gluon.html.BR.tag
5135
web2py.gluon.html.BUTTON.tag
5136
web2py.gluon.html.CAT.tag
5137
web2py.gluon.html.CENTER.tag
5138
web2py.gluon.html.COL.tag
5139
web2py.gluon.html.COLGROUP.tag
5140
web2py.gluon.html.DIV.tag
5141
web2py.gluon.html.EM.tag
5142
web2py.gluon.html.EMBED.tag
5143
web2py.gluon.html.FIELDSET.tag
5144
web2py.gluon.html.FORM.tag
5145
web2py.gluon.html.H1.tag
5146
web2py.gluon.html.H2.tag
5147
web2py.gluon.html.H3.tag
5148
web2py.gluon.html.H4.tag
5149
web2py.gluon.html.H5.tag
5150
web2py.gluon.html.H6.tag
5151
web2py.gluon.html.HEAD.tag
5152
web2py.gluon.html.HR.tag
5153
web2py.gluon.html.HTML.tag
5154
web2py.gluon.html.I.tag
5155
web2py.gluon.html.IFRAME.tag
5156
web2py.gluon.html.IMG.tag
5157
web2py.gluon.html.INPUT.tag
5158
web2py.gluon.html.LABEL.tag
5159
web2py.gluon.html.LEGEND.tag
5160
web2py.gluon.html.LI.tag
5161
web2py.gluon.html.LINK.tag
5162
web2py.gluon.html.MENU.tag
5163
web2py.gluon.html.META.tag
5164
web2py.gluon.html.OBJECT.tag
5165
web2py.gluon.html.OL.tag
5166
web2py.gluon.html.OPTGROUP.tag
5167
web2py.gluon.html.OPTION.tag
5168
web2py.gluon.html.P.tag
5169
web2py.gluon.html.PRE.tag
5170
web2py.gluon.html.SCRIPT.tag
5171
web2py.gluon.html.SELECT.tag
5172
web2py.gluon.html.SPAN.tag
5173
web2py.gluon.html.STYLE.tag
5174
web2py.gluon.html.TABLE.tag
5175
web2py.gluon.html.TBODY.tag
5176
web2py.gluon.html.TD.tag
5177
web2py.gluon.html.TEXTAREA.tag
5178
web2py.gluon.html.TFOOT.tag
5179
web2py.gluon.html.TH.tag
5180
web2py.gluon.html.THEAD.tag
5181
web2py.gluon.html.TITLE.tag
5182
web2py.gluon.html.TR.tag
5183
web2py.gluon.html.TT.tag
5184
web2py.gluon.html.UL.tag
5185
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-317', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tfoot'</tt> </tt>
5186
<a name="L1439"></a><tt class="py-lineno">1439</tt> <tt class="py-line"> </tt>
5187
<a name="TFOOT._fixup"></a><div id="TFOOT._fixup-def"><a name="L1440"></a><tt class="py-lineno">1440</tt> <a class="py-toggle" href="#" id="TFOOT._fixup-toggle" onclick="return toggle('TFOOT._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TFOOT-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5188
</div><div id="TFOOT._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TFOOT._fixup-expanded"><a name="L1441"></a><tt class="py-lineno">1441</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-318', '_wrap_components', 'link-298');">_wrap_components</a></tt><tt class="py-op">(</tt><tt id="link-319" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-319', 'TR', 'link-311');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-320" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-320', 'TR', 'link-311');">TR</a></tt><tt class="py-op">)</tt> </tt>
5189
</div></div><a name="L1442"></a><tt class="py-lineno">1442</tt> <tt class="py-line"> </tt>
5190
<a name="L1443"></a><tt class="py-lineno">1443</tt> <tt class="py-line"> </tt>
5191
<a name="COL"></a><div id="COL-def"><a name="L1444"></a><tt class="py-lineno">1444</tt> <a class="py-toggle" href="#" id="COL-toggle" onclick="return toggle('COL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.COL-class.html">COL</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5192
</div><div id="COL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="COL-expanded"><a name="L1445"></a><tt class="py-lineno">1445</tt> <tt class="py-line"> </tt>
5193
<a name="L1446"></a><tt class="py-lineno">1446</tt> <tt class="py-line"> <tt id="link-321" class="py-name"><a title="web2py.gluon.html.A.tag
5194
web2py.gluon.html.B.tag
5195
web2py.gluon.html.BEAUTIFY.tag
5196
web2py.gluon.html.BODY.tag
5197
web2py.gluon.html.BR.tag
5198
web2py.gluon.html.BUTTON.tag
5199
web2py.gluon.html.CAT.tag
5200
web2py.gluon.html.CENTER.tag
5201
web2py.gluon.html.COL.tag
5202
web2py.gluon.html.COLGROUP.tag
5203
web2py.gluon.html.DIV.tag
5204
web2py.gluon.html.EM.tag
5205
web2py.gluon.html.EMBED.tag
5206
web2py.gluon.html.FIELDSET.tag
5207
web2py.gluon.html.FORM.tag
5208
web2py.gluon.html.H1.tag
5209
web2py.gluon.html.H2.tag
5210
web2py.gluon.html.H3.tag
5211
web2py.gluon.html.H4.tag
5212
web2py.gluon.html.H5.tag
5213
web2py.gluon.html.H6.tag
5214
web2py.gluon.html.HEAD.tag
5215
web2py.gluon.html.HR.tag
5216
web2py.gluon.html.HTML.tag
5217
web2py.gluon.html.I.tag
5218
web2py.gluon.html.IFRAME.tag
5219
web2py.gluon.html.IMG.tag
5220
web2py.gluon.html.INPUT.tag
5221
web2py.gluon.html.LABEL.tag
5222
web2py.gluon.html.LEGEND.tag
5223
web2py.gluon.html.LI.tag
5224
web2py.gluon.html.LINK.tag
5225
web2py.gluon.html.MENU.tag
5226
web2py.gluon.html.META.tag
5227
web2py.gluon.html.OBJECT.tag
5228
web2py.gluon.html.OL.tag
5229
web2py.gluon.html.OPTGROUP.tag
5230
web2py.gluon.html.OPTION.tag
5231
web2py.gluon.html.P.tag
5232
web2py.gluon.html.PRE.tag
5233
web2py.gluon.html.SCRIPT.tag
5234
web2py.gluon.html.SELECT.tag
5235
web2py.gluon.html.SPAN.tag
5236
web2py.gluon.html.STYLE.tag
5237
web2py.gluon.html.TABLE.tag
5238
web2py.gluon.html.TBODY.tag
5239
web2py.gluon.html.TD.tag
5240
web2py.gluon.html.TEXTAREA.tag
5241
web2py.gluon.html.TFOOT.tag
5242
web2py.gluon.html.TH.tag
5243
web2py.gluon.html.THEAD.tag
5244
web2py.gluon.html.TITLE.tag
5245
web2py.gluon.html.TR.tag
5246
web2py.gluon.html.TT.tag
5247
web2py.gluon.html.UL.tag
5248
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-321', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'col'</tt> </tt>
5249
</div><a name="L1447"></a><tt class="py-lineno">1447</tt> <tt class="py-line"> </tt>
5250
<a name="L1448"></a><tt class="py-lineno">1448</tt> <tt class="py-line"> </tt>
5251
<a name="COLGROUP"></a><div id="COLGROUP-def"><a name="L1449"></a><tt class="py-lineno">1449</tt> <a class="py-toggle" href="#" id="COLGROUP-toggle" onclick="return toggle('COLGROUP');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.COLGROUP-class.html">COLGROUP</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5252
</div><div id="COLGROUP-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="COLGROUP-expanded"><a name="L1450"></a><tt class="py-lineno">1450</tt> <tt class="py-line"> </tt>
5253
<a name="L1451"></a><tt class="py-lineno">1451</tt> <tt class="py-line"> <tt id="link-322" class="py-name"><a title="web2py.gluon.html.A.tag
5254
web2py.gluon.html.B.tag
5255
web2py.gluon.html.BEAUTIFY.tag
5256
web2py.gluon.html.BODY.tag
5257
web2py.gluon.html.BR.tag
5258
web2py.gluon.html.BUTTON.tag
5259
web2py.gluon.html.CAT.tag
5260
web2py.gluon.html.CENTER.tag
5261
web2py.gluon.html.COL.tag
5262
web2py.gluon.html.COLGROUP.tag
5263
web2py.gluon.html.DIV.tag
5264
web2py.gluon.html.EM.tag
5265
web2py.gluon.html.EMBED.tag
5266
web2py.gluon.html.FIELDSET.tag
5267
web2py.gluon.html.FORM.tag
5268
web2py.gluon.html.H1.tag
5269
web2py.gluon.html.H2.tag
5270
web2py.gluon.html.H3.tag
5271
web2py.gluon.html.H4.tag
5272
web2py.gluon.html.H5.tag
5273
web2py.gluon.html.H6.tag
5274
web2py.gluon.html.HEAD.tag
5275
web2py.gluon.html.HR.tag
5276
web2py.gluon.html.HTML.tag
5277
web2py.gluon.html.I.tag
5278
web2py.gluon.html.IFRAME.tag
5279
web2py.gluon.html.IMG.tag
5280
web2py.gluon.html.INPUT.tag
5281
web2py.gluon.html.LABEL.tag
5282
web2py.gluon.html.LEGEND.tag
5283
web2py.gluon.html.LI.tag
5284
web2py.gluon.html.LINK.tag
5285
web2py.gluon.html.MENU.tag
5286
web2py.gluon.html.META.tag
5287
web2py.gluon.html.OBJECT.tag
5288
web2py.gluon.html.OL.tag
5289
web2py.gluon.html.OPTGROUP.tag
5290
web2py.gluon.html.OPTION.tag
5291
web2py.gluon.html.P.tag
5292
web2py.gluon.html.PRE.tag
5293
web2py.gluon.html.SCRIPT.tag
5294
web2py.gluon.html.SELECT.tag
5295
web2py.gluon.html.SPAN.tag
5296
web2py.gluon.html.STYLE.tag
5297
web2py.gluon.html.TABLE.tag
5298
web2py.gluon.html.TBODY.tag
5299
web2py.gluon.html.TD.tag
5300
web2py.gluon.html.TEXTAREA.tag
5301
web2py.gluon.html.TFOOT.tag
5302
web2py.gluon.html.TH.tag
5303
web2py.gluon.html.THEAD.tag
5304
web2py.gluon.html.TITLE.tag
5305
web2py.gluon.html.TR.tag
5306
web2py.gluon.html.TT.tag
5307
web2py.gluon.html.UL.tag
5308
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-322', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'colgroup'</tt> </tt>
5309
</div><a name="L1452"></a><tt class="py-lineno">1452</tt> <tt class="py-line"> </tt>
5310
<a name="L1453"></a><tt class="py-lineno">1453</tt> <tt class="py-line"> </tt>
5311
<a name="TABLE"></a><div id="TABLE-def"><a name="L1454"></a><tt class="py-lineno">1454</tt> <a class="py-toggle" href="#" id="TABLE-toggle" onclick="return toggle('TABLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TABLE-class.html">TABLE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5312
</div><div id="TABLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TABLE-expanded"><a name="L1455"></a><tt class="py-lineno">1455</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
5313
<a name="L1456"></a><tt class="py-lineno">1456</tt> <tt class="py-line"><tt class="py-docstring"> TABLE Component.</tt> </tt>
5314
<a name="L1457"></a><tt class="py-lineno">1457</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5315
<a name="L1458"></a><tt class="py-lineno">1458</tt> <tt class="py-line"><tt class="py-docstring"> If subcomponents are not TR/TBODY/THEAD/TFOOT-components</tt> </tt>
5316
<a name="L1459"></a><tt class="py-lineno">1459</tt> <tt class="py-line"><tt class="py-docstring"> they will be wrapped in a TR</tt> </tt>
5317
<a name="L1460"></a><tt class="py-lineno">1460</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5318
<a name="L1461"></a><tt class="py-lineno">1461</tt> <tt class="py-line"><tt class="py-docstring"> see also :class:`DIV`</tt> </tt>
5319
<a name="L1462"></a><tt class="py-lineno">1462</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
4852
<a name="TD"></a><div id="TD-def"><a name="L1424"></a><tt class="py-lineno">1424</tt> <a class="py-toggle" href="#" id="TD-toggle" onclick="return toggle('TD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TD-class.html">TD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4853
</div><div id="TD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TD-expanded"><a name="L1425"></a><tt class="py-lineno">1425</tt> <tt class="py-line"> </tt>
4854
<a name="L1426"></a><tt class="py-lineno">1426</tt> <tt class="py-line"> <tt id="link-292" class="py-name"><a title="web2py.gluon.html.A.tag
4855
web2py.gluon.html.B.tag
4856
web2py.gluon.html.BEAUTIFY.tag
4857
web2py.gluon.html.BODY.tag
4858
web2py.gluon.html.BR.tag
4859
web2py.gluon.html.BUTTON.tag
4860
web2py.gluon.html.CAT.tag
4861
web2py.gluon.html.CENTER.tag
4862
web2py.gluon.html.COL.tag
4863
web2py.gluon.html.COLGROUP.tag
4864
web2py.gluon.html.DIV.tag
4865
web2py.gluon.html.EM.tag
4866
web2py.gluon.html.EMBED.tag
4867
web2py.gluon.html.FIELDSET.tag
4868
web2py.gluon.html.FORM.tag
4869
web2py.gluon.html.H1.tag
4870
web2py.gluon.html.H2.tag
4871
web2py.gluon.html.H3.tag
4872
web2py.gluon.html.H4.tag
4873
web2py.gluon.html.H5.tag
4874
web2py.gluon.html.H6.tag
4875
web2py.gluon.html.HEAD.tag
4876
web2py.gluon.html.HR.tag
4877
web2py.gluon.html.HTML.tag
4878
web2py.gluon.html.I.tag
4879
web2py.gluon.html.IFRAME.tag
4880
web2py.gluon.html.IMG.tag
4881
web2py.gluon.html.INPUT.tag
4882
web2py.gluon.html.LABEL.tag
4883
web2py.gluon.html.LEGEND.tag
4884
web2py.gluon.html.LI.tag
4885
web2py.gluon.html.LINK.tag
4886
web2py.gluon.html.MENU.tag
4887
web2py.gluon.html.META.tag
4888
web2py.gluon.html.OBJECT.tag
4889
web2py.gluon.html.OL.tag
4890
web2py.gluon.html.OPTGROUP.tag
4891
web2py.gluon.html.OPTION.tag
4892
web2py.gluon.html.P.tag
4893
web2py.gluon.html.PRE.tag
4894
web2py.gluon.html.SCRIPT.tag
4895
web2py.gluon.html.SELECT.tag
4896
web2py.gluon.html.SPAN.tag
4897
web2py.gluon.html.STYLE.tag
4898
web2py.gluon.html.TABLE.tag
4899
web2py.gluon.html.TBODY.tag
4900
web2py.gluon.html.TD.tag
4901
web2py.gluon.html.TEXTAREA.tag
4902
web2py.gluon.html.TFOOT.tag
4903
web2py.gluon.html.TH.tag
4904
web2py.gluon.html.THEAD.tag
4905
web2py.gluon.html.TITLE.tag
4906
web2py.gluon.html.TR.tag
4907
web2py.gluon.html.TT.tag
4908
web2py.gluon.html.UL.tag
4909
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-292', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'td'</tt> </tt>
4910
</div><a name="L1427"></a><tt class="py-lineno">1427</tt> <tt class="py-line"> </tt>
4911
<a name="L1428"></a><tt class="py-lineno">1428</tt> <tt class="py-line"> </tt>
4912
<a name="TH"></a><div id="TH-def"><a name="L1429"></a><tt class="py-lineno">1429</tt> <a class="py-toggle" href="#" id="TH-toggle" onclick="return toggle('TH');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TH-class.html">TH</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4913
</div><div id="TH-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TH-expanded"><a name="L1430"></a><tt class="py-lineno">1430</tt> <tt class="py-line"> </tt>
4914
<a name="L1431"></a><tt class="py-lineno">1431</tt> <tt class="py-line"> <tt id="link-293" class="py-name"><a title="web2py.gluon.html.A.tag
4915
web2py.gluon.html.B.tag
4916
web2py.gluon.html.BEAUTIFY.tag
4917
web2py.gluon.html.BODY.tag
4918
web2py.gluon.html.BR.tag
4919
web2py.gluon.html.BUTTON.tag
4920
web2py.gluon.html.CAT.tag
4921
web2py.gluon.html.CENTER.tag
4922
web2py.gluon.html.COL.tag
4923
web2py.gluon.html.COLGROUP.tag
4924
web2py.gluon.html.DIV.tag
4925
web2py.gluon.html.EM.tag
4926
web2py.gluon.html.EMBED.tag
4927
web2py.gluon.html.FIELDSET.tag
4928
web2py.gluon.html.FORM.tag
4929
web2py.gluon.html.H1.tag
4930
web2py.gluon.html.H2.tag
4931
web2py.gluon.html.H3.tag
4932
web2py.gluon.html.H4.tag
4933
web2py.gluon.html.H5.tag
4934
web2py.gluon.html.H6.tag
4935
web2py.gluon.html.HEAD.tag
4936
web2py.gluon.html.HR.tag
4937
web2py.gluon.html.HTML.tag
4938
web2py.gluon.html.I.tag
4939
web2py.gluon.html.IFRAME.tag
4940
web2py.gluon.html.IMG.tag
4941
web2py.gluon.html.INPUT.tag
4942
web2py.gluon.html.LABEL.tag
4943
web2py.gluon.html.LEGEND.tag
4944
web2py.gluon.html.LI.tag
4945
web2py.gluon.html.LINK.tag
4946
web2py.gluon.html.MENU.tag
4947
web2py.gluon.html.META.tag
4948
web2py.gluon.html.OBJECT.tag
4949
web2py.gluon.html.OL.tag
4950
web2py.gluon.html.OPTGROUP.tag
4951
web2py.gluon.html.OPTION.tag
4952
web2py.gluon.html.P.tag
4953
web2py.gluon.html.PRE.tag
4954
web2py.gluon.html.SCRIPT.tag
4955
web2py.gluon.html.SELECT.tag
4956
web2py.gluon.html.SPAN.tag
4957
web2py.gluon.html.STYLE.tag
4958
web2py.gluon.html.TABLE.tag
4959
web2py.gluon.html.TBODY.tag
4960
web2py.gluon.html.TD.tag
4961
web2py.gluon.html.TEXTAREA.tag
4962
web2py.gluon.html.TFOOT.tag
4963
web2py.gluon.html.TH.tag
4964
web2py.gluon.html.THEAD.tag
4965
web2py.gluon.html.TITLE.tag
4966
web2py.gluon.html.TR.tag
4967
web2py.gluon.html.TT.tag
4968
web2py.gluon.html.UL.tag
4969
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-293', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'th'</tt> </tt>
4970
</div><a name="L1432"></a><tt class="py-lineno">1432</tt> <tt class="py-line"> </tt>
4971
<a name="L1433"></a><tt class="py-lineno">1433</tt> <tt class="py-line"> </tt>
4972
<a name="TR"></a><div id="TR-def"><a name="L1434"></a><tt class="py-lineno">1434</tt> <a class="py-toggle" href="#" id="TR-toggle" onclick="return toggle('TR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TR-class.html">TR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
4973
</div><div id="TR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TR-expanded"><a name="L1435"></a><tt class="py-lineno">1435</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
4974
<a name="L1436"></a><tt class="py-lineno">1436</tt> <tt class="py-line"><tt class="py-docstring"> TR Component.</tt> </tt>
4975
<a name="L1437"></a><tt class="py-lineno">1437</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4976
<a name="L1438"></a><tt class="py-lineno">1438</tt> <tt class="py-line"><tt class="py-docstring"> If subcomponents are not TD/TH-components they will be wrapped in a TD</tt> </tt>
4977
<a name="L1439"></a><tt class="py-lineno">1439</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
4978
<a name="L1440"></a><tt class="py-lineno">1440</tt> <tt class="py-line"><tt class="py-docstring"> see also :class:`DIV`</tt> </tt>
4979
<a name="L1441"></a><tt class="py-lineno">1441</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
4980
<a name="L1442"></a><tt class="py-lineno">1442</tt> <tt class="py-line"> </tt>
4981
<a name="L1443"></a><tt class="py-lineno">1443</tt> <tt class="py-line"> <tt id="link-294" class="py-name"><a title="web2py.gluon.html.A.tag
4982
web2py.gluon.html.B.tag
4983
web2py.gluon.html.BEAUTIFY.tag
4984
web2py.gluon.html.BODY.tag
4985
web2py.gluon.html.BR.tag
4986
web2py.gluon.html.BUTTON.tag
4987
web2py.gluon.html.CAT.tag
4988
web2py.gluon.html.CENTER.tag
4989
web2py.gluon.html.COL.tag
4990
web2py.gluon.html.COLGROUP.tag
4991
web2py.gluon.html.DIV.tag
4992
web2py.gluon.html.EM.tag
4993
web2py.gluon.html.EMBED.tag
4994
web2py.gluon.html.FIELDSET.tag
4995
web2py.gluon.html.FORM.tag
4996
web2py.gluon.html.H1.tag
4997
web2py.gluon.html.H2.tag
4998
web2py.gluon.html.H3.tag
4999
web2py.gluon.html.H4.tag
5000
web2py.gluon.html.H5.tag
5001
web2py.gluon.html.H6.tag
5002
web2py.gluon.html.HEAD.tag
5003
web2py.gluon.html.HR.tag
5004
web2py.gluon.html.HTML.tag
5005
web2py.gluon.html.I.tag
5006
web2py.gluon.html.IFRAME.tag
5007
web2py.gluon.html.IMG.tag
5008
web2py.gluon.html.INPUT.tag
5009
web2py.gluon.html.LABEL.tag
5010
web2py.gluon.html.LEGEND.tag
5011
web2py.gluon.html.LI.tag
5012
web2py.gluon.html.LINK.tag
5013
web2py.gluon.html.MENU.tag
5014
web2py.gluon.html.META.tag
5015
web2py.gluon.html.OBJECT.tag
5016
web2py.gluon.html.OL.tag
5017
web2py.gluon.html.OPTGROUP.tag
5018
web2py.gluon.html.OPTION.tag
5019
web2py.gluon.html.P.tag
5020
web2py.gluon.html.PRE.tag
5021
web2py.gluon.html.SCRIPT.tag
5022
web2py.gluon.html.SELECT.tag
5023
web2py.gluon.html.SPAN.tag
5024
web2py.gluon.html.STYLE.tag
5025
web2py.gluon.html.TABLE.tag
5026
web2py.gluon.html.TBODY.tag
5027
web2py.gluon.html.TD.tag
5028
web2py.gluon.html.TEXTAREA.tag
5029
web2py.gluon.html.TFOOT.tag
5030
web2py.gluon.html.TH.tag
5031
web2py.gluon.html.THEAD.tag
5032
web2py.gluon.html.TITLE.tag
5033
web2py.gluon.html.TR.tag
5034
web2py.gluon.html.TT.tag
5035
web2py.gluon.html.UL.tag
5036
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-294', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tr'</tt> </tt>
5037
<a name="L1444"></a><tt class="py-lineno">1444</tt> <tt class="py-line"> </tt>
5038
<a name="TR._fixup"></a><div id="TR._fixup-def"><a name="L1445"></a><tt class="py-lineno">1445</tt> <a class="py-toggle" href="#" id="TR._fixup-toggle" onclick="return toggle('TR._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TR-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5039
</div><div id="TR._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TR._fixup-expanded"><a name="L1446"></a><tt class="py-lineno">1446</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-295', '_wrap_components', 'link-288');">_wrap_components</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-296" class="py-name" targets="Class web2py.gluon.html.TD=web2py.gluon.html.TD-class.html"><a title="web2py.gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-296', 'TD', 'link-296');">TD</a></tt><tt class="py-op">,</tt> <tt id="link-297" class="py-name" targets="Class web2py.gluon.html.TH=web2py.gluon.html.TH-class.html"><a title="web2py.gluon.html.TH" class="py-name" href="#" onclick="return doclink('link-297', 'TH', 'link-297');">TH</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-298" class="py-name"><a title="web2py.gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-298', 'TD', 'link-296');">TD</a></tt><tt class="py-op">)</tt> </tt>
5040
</div></div><a name="L1447"></a><tt class="py-lineno">1447</tt> <tt class="py-line"> </tt>
5041
<a name="THEAD"></a><div id="THEAD-def"><a name="L1448"></a><tt class="py-lineno">1448</tt> <a class="py-toggle" href="#" id="THEAD-toggle" onclick="return toggle('THEAD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.THEAD-class.html">THEAD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5042
</div><div id="THEAD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="THEAD-expanded"><a name="L1449"></a><tt class="py-lineno">1449</tt> <tt class="py-line"> </tt>
5043
<a name="L1450"></a><tt class="py-lineno">1450</tt> <tt class="py-line"> <tt id="link-299" class="py-name"><a title="web2py.gluon.html.A.tag
5044
web2py.gluon.html.B.tag
5045
web2py.gluon.html.BEAUTIFY.tag
5046
web2py.gluon.html.BODY.tag
5047
web2py.gluon.html.BR.tag
5048
web2py.gluon.html.BUTTON.tag
5049
web2py.gluon.html.CAT.tag
5050
web2py.gluon.html.CENTER.tag
5051
web2py.gluon.html.COL.tag
5052
web2py.gluon.html.COLGROUP.tag
5053
web2py.gluon.html.DIV.tag
5054
web2py.gluon.html.EM.tag
5055
web2py.gluon.html.EMBED.tag
5056
web2py.gluon.html.FIELDSET.tag
5057
web2py.gluon.html.FORM.tag
5058
web2py.gluon.html.H1.tag
5059
web2py.gluon.html.H2.tag
5060
web2py.gluon.html.H3.tag
5061
web2py.gluon.html.H4.tag
5062
web2py.gluon.html.H5.tag
5063
web2py.gluon.html.H6.tag
5064
web2py.gluon.html.HEAD.tag
5065
web2py.gluon.html.HR.tag
5066
web2py.gluon.html.HTML.tag
5067
web2py.gluon.html.I.tag
5068
web2py.gluon.html.IFRAME.tag
5069
web2py.gluon.html.IMG.tag
5070
web2py.gluon.html.INPUT.tag
5071
web2py.gluon.html.LABEL.tag
5072
web2py.gluon.html.LEGEND.tag
5073
web2py.gluon.html.LI.tag
5074
web2py.gluon.html.LINK.tag
5075
web2py.gluon.html.MENU.tag
5076
web2py.gluon.html.META.tag
5077
web2py.gluon.html.OBJECT.tag
5078
web2py.gluon.html.OL.tag
5079
web2py.gluon.html.OPTGROUP.tag
5080
web2py.gluon.html.OPTION.tag
5081
web2py.gluon.html.P.tag
5082
web2py.gluon.html.PRE.tag
5083
web2py.gluon.html.SCRIPT.tag
5084
web2py.gluon.html.SELECT.tag
5085
web2py.gluon.html.SPAN.tag
5086
web2py.gluon.html.STYLE.tag
5087
web2py.gluon.html.TABLE.tag
5088
web2py.gluon.html.TBODY.tag
5089
web2py.gluon.html.TD.tag
5090
web2py.gluon.html.TEXTAREA.tag
5091
web2py.gluon.html.TFOOT.tag
5092
web2py.gluon.html.TH.tag
5093
web2py.gluon.html.THEAD.tag
5094
web2py.gluon.html.TITLE.tag
5095
web2py.gluon.html.TR.tag
5096
web2py.gluon.html.TT.tag
5097
web2py.gluon.html.UL.tag
5098
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-299', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'thead'</tt> </tt>
5099
<a name="L1451"></a><tt class="py-lineno">1451</tt> <tt class="py-line"> </tt>
5100
<a name="THEAD._fixup"></a><div id="THEAD._fixup-def"><a name="L1452"></a><tt class="py-lineno">1452</tt> <a class="py-toggle" href="#" id="THEAD._fixup-toggle" onclick="return toggle('THEAD._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.THEAD-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5101
</div><div id="THEAD._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="THEAD._fixup-expanded"><a name="L1453"></a><tt class="py-lineno">1453</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-300', '_wrap_components', 'link-288');">_wrap_components</a></tt><tt class="py-op">(</tt><tt id="link-301" class="py-name" targets="Class web2py.gluon.html.TR=web2py.gluon.html.TR-class.html"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-301', 'TR', 'link-301');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-302" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-302', 'TR', 'link-301');">TR</a></tt><tt class="py-op">)</tt> </tt>
5102
</div></div><a name="L1454"></a><tt class="py-lineno">1454</tt> <tt class="py-line"> </tt>
5103
<a name="L1455"></a><tt class="py-lineno">1455</tt> <tt class="py-line"> </tt>
5104
<a name="TBODY"></a><div id="TBODY-def"><a name="L1456"></a><tt class="py-lineno">1456</tt> <a class="py-toggle" href="#" id="TBODY-toggle" onclick="return toggle('TBODY');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TBODY-class.html">TBODY</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5105
</div><div id="TBODY-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TBODY-expanded"><a name="L1457"></a><tt class="py-lineno">1457</tt> <tt class="py-line"> </tt>
5106
<a name="L1458"></a><tt class="py-lineno">1458</tt> <tt class="py-line"> <tt id="link-303" class="py-name"><a title="web2py.gluon.html.A.tag
5107
web2py.gluon.html.B.tag
5108
web2py.gluon.html.BEAUTIFY.tag
5109
web2py.gluon.html.BODY.tag
5110
web2py.gluon.html.BR.tag
5111
web2py.gluon.html.BUTTON.tag
5112
web2py.gluon.html.CAT.tag
5113
web2py.gluon.html.CENTER.tag
5114
web2py.gluon.html.COL.tag
5115
web2py.gluon.html.COLGROUP.tag
5116
web2py.gluon.html.DIV.tag
5117
web2py.gluon.html.EM.tag
5118
web2py.gluon.html.EMBED.tag
5119
web2py.gluon.html.FIELDSET.tag
5120
web2py.gluon.html.FORM.tag
5121
web2py.gluon.html.H1.tag
5122
web2py.gluon.html.H2.tag
5123
web2py.gluon.html.H3.tag
5124
web2py.gluon.html.H4.tag
5125
web2py.gluon.html.H5.tag
5126
web2py.gluon.html.H6.tag
5127
web2py.gluon.html.HEAD.tag
5128
web2py.gluon.html.HR.tag
5129
web2py.gluon.html.HTML.tag
5130
web2py.gluon.html.I.tag
5131
web2py.gluon.html.IFRAME.tag
5132
web2py.gluon.html.IMG.tag
5133
web2py.gluon.html.INPUT.tag
5134
web2py.gluon.html.LABEL.tag
5135
web2py.gluon.html.LEGEND.tag
5136
web2py.gluon.html.LI.tag
5137
web2py.gluon.html.LINK.tag
5138
web2py.gluon.html.MENU.tag
5139
web2py.gluon.html.META.tag
5140
web2py.gluon.html.OBJECT.tag
5141
web2py.gluon.html.OL.tag
5142
web2py.gluon.html.OPTGROUP.tag
5143
web2py.gluon.html.OPTION.tag
5144
web2py.gluon.html.P.tag
5145
web2py.gluon.html.PRE.tag
5146
web2py.gluon.html.SCRIPT.tag
5147
web2py.gluon.html.SELECT.tag
5148
web2py.gluon.html.SPAN.tag
5149
web2py.gluon.html.STYLE.tag
5150
web2py.gluon.html.TABLE.tag
5151
web2py.gluon.html.TBODY.tag
5152
web2py.gluon.html.TD.tag
5153
web2py.gluon.html.TEXTAREA.tag
5154
web2py.gluon.html.TFOOT.tag
5155
web2py.gluon.html.TH.tag
5156
web2py.gluon.html.THEAD.tag
5157
web2py.gluon.html.TITLE.tag
5158
web2py.gluon.html.TR.tag
5159
web2py.gluon.html.TT.tag
5160
web2py.gluon.html.UL.tag
5161
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-303', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tbody'</tt> </tt>
5162
<a name="L1459"></a><tt class="py-lineno">1459</tt> <tt class="py-line"> </tt>
5163
<a name="TBODY._fixup"></a><div id="TBODY._fixup-def"><a name="L1460"></a><tt class="py-lineno">1460</tt> <a class="py-toggle" href="#" id="TBODY._fixup-toggle" onclick="return toggle('TBODY._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TBODY-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5164
</div><div id="TBODY._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TBODY._fixup-expanded"><a name="L1461"></a><tt class="py-lineno">1461</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-304', '_wrap_components', 'link-288');">_wrap_components</a></tt><tt class="py-op">(</tt><tt id="link-305" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-305', 'TR', 'link-301');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-306" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-306', 'TR', 'link-301');">TR</a></tt><tt class="py-op">)</tt> </tt>
5165
</div></div><a name="L1462"></a><tt class="py-lineno">1462</tt> <tt class="py-line"> </tt>
5320
5166
<a name="L1463"></a><tt class="py-lineno">1463</tt> <tt class="py-line"> </tt>
5321
<a name="L1464"></a><tt class="py-lineno">1464</tt> <tt class="py-line"> <tt id="link-323" class="py-name"><a title="web2py.gluon.html.A.tag
5322
web2py.gluon.html.B.tag
5323
web2py.gluon.html.BEAUTIFY.tag
5324
web2py.gluon.html.BODY.tag
5325
web2py.gluon.html.BR.tag
5326
web2py.gluon.html.BUTTON.tag
5327
web2py.gluon.html.CAT.tag
5328
web2py.gluon.html.CENTER.tag
5329
web2py.gluon.html.COL.tag
5330
web2py.gluon.html.COLGROUP.tag
5331
web2py.gluon.html.DIV.tag
5332
web2py.gluon.html.EM.tag
5333
web2py.gluon.html.EMBED.tag
5334
web2py.gluon.html.FIELDSET.tag
5335
web2py.gluon.html.FORM.tag
5336
web2py.gluon.html.H1.tag
5337
web2py.gluon.html.H2.tag
5338
web2py.gluon.html.H3.tag
5339
web2py.gluon.html.H4.tag
5340
web2py.gluon.html.H5.tag
5341
web2py.gluon.html.H6.tag
5342
web2py.gluon.html.HEAD.tag
5343
web2py.gluon.html.HR.tag
5344
web2py.gluon.html.HTML.tag
5345
web2py.gluon.html.I.tag
5346
web2py.gluon.html.IFRAME.tag
5347
web2py.gluon.html.IMG.tag
5348
web2py.gluon.html.INPUT.tag
5349
web2py.gluon.html.LABEL.tag
5350
web2py.gluon.html.LEGEND.tag
5351
web2py.gluon.html.LI.tag
5352
web2py.gluon.html.LINK.tag
5353
web2py.gluon.html.MENU.tag
5354
web2py.gluon.html.META.tag
5355
web2py.gluon.html.OBJECT.tag
5356
web2py.gluon.html.OL.tag
5357
web2py.gluon.html.OPTGROUP.tag
5358
web2py.gluon.html.OPTION.tag
5359
web2py.gluon.html.P.tag
5360
web2py.gluon.html.PRE.tag
5361
web2py.gluon.html.SCRIPT.tag
5362
web2py.gluon.html.SELECT.tag
5363
web2py.gluon.html.SPAN.tag
5364
web2py.gluon.html.STYLE.tag
5365
web2py.gluon.html.TABLE.tag
5366
web2py.gluon.html.TBODY.tag
5367
web2py.gluon.html.TD.tag
5368
web2py.gluon.html.TEXTAREA.tag
5369
web2py.gluon.html.TFOOT.tag
5370
web2py.gluon.html.TH.tag
5371
web2py.gluon.html.THEAD.tag
5372
web2py.gluon.html.TITLE.tag
5373
web2py.gluon.html.TR.tag
5374
web2py.gluon.html.TT.tag
5375
web2py.gluon.html.UL.tag
5376
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-323', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'table'</tt> </tt>
5377
<a name="L1465"></a><tt class="py-lineno">1465</tt> <tt class="py-line"> </tt>
5378
<a name="TABLE._fixup"></a><div id="TABLE._fixup-def"><a name="L1466"></a><tt class="py-lineno">1466</tt> <a class="py-toggle" href="#" id="TABLE._fixup-toggle" onclick="return toggle('TABLE._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TABLE-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5379
</div><div id="TABLE._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TABLE._fixup-expanded"><a name="L1467"></a><tt class="py-lineno">1467</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-324', '_wrap_components', 'link-298');">_wrap_components</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-325" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-325', 'TR', 'link-311');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-326" class="py-name" targets="Class web2py.gluon.html.TBODY=web2py.gluon.html.TBODY-class.html"><a title="web2py.gluon.html.TBODY" class="py-name" href="#" onclick="return doclink('link-326', 'TBODY', 'link-326');">TBODY</a></tt><tt class="py-op">,</tt> <tt id="link-327" class="py-name" targets="Class web2py.gluon.html.THEAD=web2py.gluon.html.THEAD-class.html"><a title="web2py.gluon.html.THEAD" class="py-name" href="#" onclick="return doclink('link-327', 'THEAD', 'link-327');">THEAD</a></tt><tt class="py-op">,</tt> <tt id="link-328" class="py-name" targets="Class web2py.gluon.html.TFOOT=web2py.gluon.html.TFOOT-class.html"><a title="web2py.gluon.html.TFOOT" class="py-name" href="#" onclick="return doclink('link-328', 'TFOOT', 'link-328');">TFOOT</a></tt><tt class="py-op">,</tt> <tt id="link-329" class="py-name" targets="Class web2py.gluon.html.COL=web2py.gluon.html.COL-class.html"><a title="web2py.gluon.html.COL" class="py-name" href="#" onclick="return doclink('link-329', 'COL', 'link-329');">COL</a></tt><tt class="py-op">,</tt> <tt id="link-330" class="py-name" targets="Class web2py.gluon.html.COLGROUP=web2py.gluon.html.COLGROUP-class.html"><a title="web2py.gluon.html.COLGROUP" class="py-name" href="#" onclick="return doclink('link-330', 'COLGROUP', 'link-330');">COLGROUP</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-331" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-331', 'TR', 'link-311');">TR</a></tt><tt class="py-op">)</tt> </tt>
5380
</div></div><a name="L1468"></a><tt class="py-lineno">1468</tt> <tt class="py-line"> </tt>
5381
<a name="I"></a><div id="I-def"><a name="L1469"></a><tt class="py-lineno">1469</tt> <a class="py-toggle" href="#" id="I-toggle" onclick="return toggle('I');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.I-class.html">I</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5382
</div><div id="I-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="I-expanded"><a name="L1470"></a><tt class="py-lineno">1470</tt> <tt class="py-line"> </tt>
5383
<a name="L1471"></a><tt class="py-lineno">1471</tt> <tt class="py-line"> <tt id="link-332" class="py-name"><a title="web2py.gluon.html.A.tag
5384
web2py.gluon.html.B.tag
5385
web2py.gluon.html.BEAUTIFY.tag
5386
web2py.gluon.html.BODY.tag
5387
web2py.gluon.html.BR.tag
5388
web2py.gluon.html.BUTTON.tag
5389
web2py.gluon.html.CAT.tag
5390
web2py.gluon.html.CENTER.tag
5391
web2py.gluon.html.COL.tag
5392
web2py.gluon.html.COLGROUP.tag
5393
web2py.gluon.html.DIV.tag
5394
web2py.gluon.html.EM.tag
5395
web2py.gluon.html.EMBED.tag
5396
web2py.gluon.html.FIELDSET.tag
5397
web2py.gluon.html.FORM.tag
5398
web2py.gluon.html.H1.tag
5399
web2py.gluon.html.H2.tag
5400
web2py.gluon.html.H3.tag
5401
web2py.gluon.html.H4.tag
5402
web2py.gluon.html.H5.tag
5403
web2py.gluon.html.H6.tag
5404
web2py.gluon.html.HEAD.tag
5405
web2py.gluon.html.HR.tag
5406
web2py.gluon.html.HTML.tag
5407
web2py.gluon.html.I.tag
5408
web2py.gluon.html.IFRAME.tag
5409
web2py.gluon.html.IMG.tag
5410
web2py.gluon.html.INPUT.tag
5411
web2py.gluon.html.LABEL.tag
5412
web2py.gluon.html.LEGEND.tag
5413
web2py.gluon.html.LI.tag
5414
web2py.gluon.html.LINK.tag
5415
web2py.gluon.html.MENU.tag
5416
web2py.gluon.html.META.tag
5417
web2py.gluon.html.OBJECT.tag
5418
web2py.gluon.html.OL.tag
5419
web2py.gluon.html.OPTGROUP.tag
5420
web2py.gluon.html.OPTION.tag
5421
web2py.gluon.html.P.tag
5422
web2py.gluon.html.PRE.tag
5423
web2py.gluon.html.SCRIPT.tag
5424
web2py.gluon.html.SELECT.tag
5425
web2py.gluon.html.SPAN.tag
5426
web2py.gluon.html.STYLE.tag
5427
web2py.gluon.html.TABLE.tag
5428
web2py.gluon.html.TBODY.tag
5429
web2py.gluon.html.TD.tag
5430
web2py.gluon.html.TEXTAREA.tag
5431
web2py.gluon.html.TFOOT.tag
5432
web2py.gluon.html.TH.tag
5433
web2py.gluon.html.THEAD.tag
5434
web2py.gluon.html.TITLE.tag
5435
web2py.gluon.html.TR.tag
5436
web2py.gluon.html.TT.tag
5437
web2py.gluon.html.UL.tag
5438
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-332', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'i'</tt> </tt>
5439
</div><a name="L1472"></a><tt class="py-lineno">1472</tt> <tt class="py-line"> </tt>
5440
<a name="IFRAME"></a><div id="IFRAME-def"><a name="L1473"></a><tt class="py-lineno">1473</tt> <a class="py-toggle" href="#" id="IFRAME-toggle" onclick="return toggle('IFRAME');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.IFRAME-class.html">IFRAME</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5441
</div><div id="IFRAME-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="IFRAME-expanded"><a name="L1474"></a><tt class="py-lineno">1474</tt> <tt class="py-line"> </tt>
5442
<a name="L1475"></a><tt class="py-lineno">1475</tt> <tt class="py-line"> <tt id="link-333" class="py-name"><a title="web2py.gluon.html.A.tag
5443
web2py.gluon.html.B.tag
5444
web2py.gluon.html.BEAUTIFY.tag
5445
web2py.gluon.html.BODY.tag
5446
web2py.gluon.html.BR.tag
5447
web2py.gluon.html.BUTTON.tag
5448
web2py.gluon.html.CAT.tag
5449
web2py.gluon.html.CENTER.tag
5450
web2py.gluon.html.COL.tag
5451
web2py.gluon.html.COLGROUP.tag
5452
web2py.gluon.html.DIV.tag
5453
web2py.gluon.html.EM.tag
5454
web2py.gluon.html.EMBED.tag
5455
web2py.gluon.html.FIELDSET.tag
5456
web2py.gluon.html.FORM.tag
5457
web2py.gluon.html.H1.tag
5458
web2py.gluon.html.H2.tag
5459
web2py.gluon.html.H3.tag
5460
web2py.gluon.html.H4.tag
5461
web2py.gluon.html.H5.tag
5462
web2py.gluon.html.H6.tag
5463
web2py.gluon.html.HEAD.tag
5464
web2py.gluon.html.HR.tag
5465
web2py.gluon.html.HTML.tag
5466
web2py.gluon.html.I.tag
5467
web2py.gluon.html.IFRAME.tag
5468
web2py.gluon.html.IMG.tag
5469
web2py.gluon.html.INPUT.tag
5470
web2py.gluon.html.LABEL.tag
5471
web2py.gluon.html.LEGEND.tag
5472
web2py.gluon.html.LI.tag
5473
web2py.gluon.html.LINK.tag
5474
web2py.gluon.html.MENU.tag
5475
web2py.gluon.html.META.tag
5476
web2py.gluon.html.OBJECT.tag
5477
web2py.gluon.html.OL.tag
5478
web2py.gluon.html.OPTGROUP.tag
5479
web2py.gluon.html.OPTION.tag
5480
web2py.gluon.html.P.tag
5481
web2py.gluon.html.PRE.tag
5482
web2py.gluon.html.SCRIPT.tag
5483
web2py.gluon.html.SELECT.tag
5484
web2py.gluon.html.SPAN.tag
5485
web2py.gluon.html.STYLE.tag
5486
web2py.gluon.html.TABLE.tag
5487
web2py.gluon.html.TBODY.tag
5488
web2py.gluon.html.TD.tag
5489
web2py.gluon.html.TEXTAREA.tag
5490
web2py.gluon.html.TFOOT.tag
5491
web2py.gluon.html.TH.tag
5492
web2py.gluon.html.THEAD.tag
5493
web2py.gluon.html.TITLE.tag
5494
web2py.gluon.html.TR.tag
5495
web2py.gluon.html.TT.tag
5496
web2py.gluon.html.UL.tag
5497
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-333', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'iframe'</tt> </tt>
5498
</div><a name="L1476"></a><tt class="py-lineno">1476</tt> <tt class="py-line"> </tt>
5499
<a name="L1477"></a><tt class="py-lineno">1477</tt> <tt class="py-line"> </tt>
5500
<a name="INPUT"></a><div id="INPUT-def"><a name="L1478"></a><tt class="py-lineno">1478</tt> <a class="py-toggle" href="#" id="INPUT-toggle" onclick="return toggle('INPUT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.INPUT-class.html">INPUT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5501
</div><div id="INPUT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="INPUT-expanded"><a name="L1479"></a><tt class="py-lineno">1479</tt> <tt class="py-line"> </tt>
5502
<a name="L1480"></a><tt class="py-lineno">1480</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
5503
<a name="L1481"></a><tt class="py-lineno">1481</tt> <tt class="py-line"><tt class="py-docstring"> INPUT Component</tt> </tt>
5504
<a name="L1482"></a><tt class="py-lineno">1482</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5505
<a name="L1483"></a><tt class="py-lineno">1483</tt> <tt class="py-line"><tt class="py-docstring"> examples::</tt> </tt>
5506
<a name="L1484"></a><tt class="py-lineno">1484</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5507
<a name="L1485"></a><tt class="py-lineno">1485</tt> <tt class="py-line"><tt class="py-docstring"> >>> INPUT(_type='text', _name='name', value='Max').xml()</tt> </tt>
5508
<a name="L1486"></a><tt class="py-lineno">1486</tt> <tt class="py-line"><tt class="py-docstring"> '<input name=\"name\" type=\"text\" value=\"Max\" />'</tt> </tt>
5509
<a name="L1487"></a><tt class="py-lineno">1487</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5510
<a name="L1488"></a><tt class="py-lineno">1488</tt> <tt class="py-line"><tt class="py-docstring"> >>> INPUT(_type='checkbox', _name='checkbox', value='on').xml()</tt> </tt>
5511
<a name="L1489"></a><tt class="py-lineno">1489</tt> <tt class="py-line"><tt class="py-docstring"> '<input checked=\"checked\" name=\"checkbox\" type=\"checkbox\" value=\"on\" />'</tt> </tt>
5512
<a name="L1490"></a><tt class="py-lineno">1490</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5513
<a name="L1491"></a><tt class="py-lineno">1491</tt> <tt class="py-line"><tt class="py-docstring"> >>> INPUT(_type='radio', _name='radio', _value='yes', value='yes').xml()</tt> </tt>
5514
<a name="L1492"></a><tt class="py-lineno">1492</tt> <tt class="py-line"><tt class="py-docstring"> '<input checked=\"checked\" name=\"radio\" type=\"radio\" value=\"yes\" />'</tt> </tt>
5515
<a name="L1493"></a><tt class="py-lineno">1493</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5516
<a name="L1494"></a><tt class="py-lineno">1494</tt> <tt class="py-line"><tt class="py-docstring"> >>> INPUT(_type='radio', _name='radio', _value='no', value='yes').xml()</tt> </tt>
5517
<a name="L1495"></a><tt class="py-lineno">1495</tt> <tt class="py-line"><tt class="py-docstring"> '<input name=\"radio\" type=\"radio\" value=\"no\" />'</tt> </tt>
5518
<a name="L1496"></a><tt class="py-lineno">1496</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5519
<a name="L1497"></a><tt class="py-lineno">1497</tt> <tt class="py-line"><tt class="py-docstring"> the input helper takes two special attributes value= and requires=.</tt> </tt>
5520
<a name="L1498"></a><tt class="py-lineno">1498</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5521
<a name="L1499"></a><tt class="py-lineno">1499</tt> <tt class="py-line"><tt class="py-docstring"> :param value: used to pass the initial value for the input field.</tt> </tt>
5522
<a name="L1500"></a><tt class="py-lineno">1500</tt> <tt class="py-line"><tt class="py-docstring"> value differs from _value because it works for checkboxes, radio,</tt> </tt>
5523
<a name="L1501"></a><tt class="py-lineno">1501</tt> <tt class="py-line"><tt class="py-docstring"> textarea and select/option too.</tt> </tt>
5524
<a name="L1502"></a><tt class="py-lineno">1502</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5525
<a name="L1503"></a><tt class="py-lineno">1503</tt> <tt class="py-line"><tt class="py-docstring"> - for a checkbox value should be '' or 'on'.</tt> </tt>
5526
<a name="L1504"></a><tt class="py-lineno">1504</tt> <tt class="py-line"><tt class="py-docstring"> - for a radio or select/option value should be the _value</tt> </tt>
5527
<a name="L1505"></a><tt class="py-lineno">1505</tt> <tt class="py-line"><tt class="py-docstring"> of the checked/selected item.</tt> </tt>
5528
<a name="L1506"></a><tt class="py-lineno">1506</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5529
<a name="L1507"></a><tt class="py-lineno">1507</tt> <tt class="py-line"><tt class="py-docstring"> :param requires: should be None, or a validator or a list of validators</tt> </tt>
5530
<a name="L1508"></a><tt class="py-lineno">1508</tt> <tt class="py-line"><tt class="py-docstring"> for the value of the field.</tt> </tt>
5531
<a name="L1509"></a><tt class="py-lineno">1509</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
5532
<a name="L1510"></a><tt class="py-lineno">1510</tt> <tt class="py-line"> </tt>
5533
<a name="L1511"></a><tt class="py-lineno">1511</tt> <tt class="py-line"> <tt id="link-334" class="py-name"><a title="web2py.gluon.html.A.tag
5534
web2py.gluon.html.B.tag
5535
web2py.gluon.html.BEAUTIFY.tag
5536
web2py.gluon.html.BODY.tag
5537
web2py.gluon.html.BR.tag
5538
web2py.gluon.html.BUTTON.tag
5539
web2py.gluon.html.CAT.tag
5540
web2py.gluon.html.CENTER.tag
5541
web2py.gluon.html.COL.tag
5542
web2py.gluon.html.COLGROUP.tag
5543
web2py.gluon.html.DIV.tag
5544
web2py.gluon.html.EM.tag
5545
web2py.gluon.html.EMBED.tag
5546
web2py.gluon.html.FIELDSET.tag
5547
web2py.gluon.html.FORM.tag
5548
web2py.gluon.html.H1.tag
5549
web2py.gluon.html.H2.tag
5550
web2py.gluon.html.H3.tag
5551
web2py.gluon.html.H4.tag
5552
web2py.gluon.html.H5.tag
5553
web2py.gluon.html.H6.tag
5554
web2py.gluon.html.HEAD.tag
5555
web2py.gluon.html.HR.tag
5556
web2py.gluon.html.HTML.tag
5557
web2py.gluon.html.I.tag
5558
web2py.gluon.html.IFRAME.tag
5559
web2py.gluon.html.IMG.tag
5560
web2py.gluon.html.INPUT.tag
5561
web2py.gluon.html.LABEL.tag
5562
web2py.gluon.html.LEGEND.tag
5563
web2py.gluon.html.LI.tag
5564
web2py.gluon.html.LINK.tag
5565
web2py.gluon.html.MENU.tag
5566
web2py.gluon.html.META.tag
5567
web2py.gluon.html.OBJECT.tag
5568
web2py.gluon.html.OL.tag
5569
web2py.gluon.html.OPTGROUP.tag
5570
web2py.gluon.html.OPTION.tag
5571
web2py.gluon.html.P.tag
5572
web2py.gluon.html.PRE.tag
5573
web2py.gluon.html.SCRIPT.tag
5574
web2py.gluon.html.SELECT.tag
5575
web2py.gluon.html.SPAN.tag
5576
web2py.gluon.html.STYLE.tag
5577
web2py.gluon.html.TABLE.tag
5578
web2py.gluon.html.TBODY.tag
5579
web2py.gluon.html.TD.tag
5580
web2py.gluon.html.TEXTAREA.tag
5581
web2py.gluon.html.TFOOT.tag
5582
web2py.gluon.html.TH.tag
5583
web2py.gluon.html.THEAD.tag
5584
web2py.gluon.html.TITLE.tag
5585
web2py.gluon.html.TR.tag
5586
web2py.gluon.html.TT.tag
5587
web2py.gluon.html.UL.tag
5588
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-334', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'input/'</tt> </tt>
5589
<a name="L1512"></a><tt class="py-lineno">1512</tt> <tt class="py-line"> </tt>
5590
<a name="INPUT._validate"></a><div id="INPUT._validate-def"><a name="L1513"></a><tt class="py-lineno">1513</tt> <a class="py-toggle" href="#" id="INPUT._validate-toggle" onclick="return toggle('INPUT._validate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.INPUT-class.html#_validate">_validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5591
</div><div id="INPUT._validate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT._validate-expanded"><a name="L1514"></a><tt class="py-lineno">1514</tt> <tt class="py-line"> </tt>
5592
<a name="L1515"></a><tt class="py-lineno">1515</tt> <tt class="py-line"> <tt class="py-comment"># # this only changes value, not _value</tt> </tt>
5593
<a name="L1516"></a><tt class="py-lineno">1516</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
5594
<a name="L1517"></a><tt class="py-lineno">1517</tt> <tt class="py-line"> <tt id="link-335" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-335', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_name'</tt><tt class="py-op">]</tt> </tt>
5595
<a name="L1518"></a><tt class="py-lineno">1518</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-336" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-336', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt id="link-337" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-337', 'name', 'link-74');">name</a></tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
5596
<a name="L1519"></a><tt class="py-lineno">1519</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
5597
<a name="L1520"></a><tt class="py-lineno">1520</tt> <tt class="py-line"> <tt id="link-338" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-338', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-339" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-339', 'name', 'link-74');">name</a></tt><tt class="py-op">)</tt> </tt>
5598
<a name="L1521"></a><tt class="py-lineno">1521</tt> <tt class="py-line"> </tt>
5599
<a name="L1522"></a><tt class="py-lineno">1522</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_type'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'checkbox'</tt><tt class="py-op">:</tt> </tt>
5600
<a name="L1523"></a><tt class="py-lineno">1523</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
5601
<a name="L1524"></a><tt class="py-lineno">1524</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-340', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt id="link-341" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-341', 'name', 'link-74');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
5602
<a name="L1525"></a><tt class="py-lineno">1525</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
5603
<a name="L1526"></a><tt class="py-lineno">1526</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5604
<a name="L1527"></a><tt class="py-lineno">1527</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-name">False</tt> </tt>
5605
<a name="L1528"></a><tt class="py-lineno">1528</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-342', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt id="link-343" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-343', 'name', 'link-74');">name</a></tt><tt class="py-op">)</tt> </tt>
5606
<a name="L1529"></a><tt class="py-lineno">1529</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">tuple</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5607
<a name="L1530"></a><tt class="py-lineno">1530</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt> </tt>
5608
<a name="L1531"></a><tt class="py-lineno">1531</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5609
<a name="L1532"></a><tt class="py-lineno">1532</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">value</tt> </tt>
5610
<a name="L1533"></a><tt class="py-lineno">1533</tt> <tt class="py-line"> <tt id="link-344" class="py-name" targets="Method web2py.gluon.tools.Auth.requires()=web2py.gluon.tools.Auth-class.html#requires"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-344', 'requires', 'link-344');">requires</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'requires'</tt><tt class="py-op">]</tt> </tt>
5611
<a name="L1534"></a><tt class="py-lineno">1534</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-345" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-345', 'requires', 'link-344');">requires</a></tt><tt class="py-op">:</tt> </tt>
5612
<a name="L1535"></a><tt class="py-lineno">1535</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-346" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-346', 'requires', 'link-344');">requires</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5613
<a name="L1536"></a><tt class="py-lineno">1536</tt> <tt class="py-line"> <tt id="link-347" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-347', 'requires', 'link-344');">requires</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-348" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-348', 'requires', 'link-344');">requires</a></tt><tt class="py-op">]</tt> </tt>
5614
<a name="L1537"></a><tt class="py-lineno">1537</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">validator</tt> <tt class="py-keyword">in</tt> <tt id="link-349" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-349', 'requires', 'link-344');">requires</a></tt><tt class="py-op">:</tt> </tt>
5615
<a name="L1538"></a><tt class="py-lineno">1538</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">errors</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">validator</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
5616
<a name="L1539"></a><tt class="py-lineno">1539</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">errors</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
5617
<a name="L1540"></a><tt class="py-lineno">1540</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt id="link-350" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-350', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
5618
<a name="L1541"></a><tt class="py-lineno">1541</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">[</tt><tt id="link-351" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-351', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">errors</tt> </tt>
5619
<a name="L1542"></a><tt class="py-lineno">1542</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
5620
<a name="L1543"></a><tt class="py-lineno">1543</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-352" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-352', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">:</tt> </tt>
5621
<a name="L1544"></a><tt class="py-lineno">1544</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt id="link-353" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-353', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
5622
<a name="L1545"></a><tt class="py-lineno">1545</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
5623
<a name="L1546"></a><tt class="py-lineno">1546</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
5624
</div><a name="L1547"></a><tt class="py-lineno">1547</tt> <tt class="py-line"> </tt>
5625
<a name="INPUT._postprocessing"></a><div id="INPUT._postprocessing-def"><a name="L1548"></a><tt class="py-lineno">1548</tt> <a class="py-toggle" href="#" id="INPUT._postprocessing-toggle" onclick="return toggle('INPUT._postprocessing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.INPUT-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5626
</div><div id="INPUT._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT._postprocessing-expanded"><a name="L1549"></a><tt class="py-lineno">1549</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_type'</tt><tt class="py-op">]</tt> </tt>
5627
<a name="L1550"></a><tt class="py-lineno">1550</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">t</tt><tt class="py-op">:</tt> </tt>
5628
<a name="L1551"></a><tt class="py-lineno">1551</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'text'</tt> </tt>
5629
<a name="L1552"></a><tt class="py-lineno">1552</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name" targets="Method web2py.gluon.dal.Expression.lower()=web2py.gluon.dal.Expression-class.html#lower"><a title="web2py.gluon.dal.Expression.lower" class="py-name" href="#" onclick="return doclink('link-354', 'lower', 'link-354');">lower</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
5630
<a name="L1553"></a><tt class="py-lineno">1553</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
5631
<a name="L1554"></a><tt class="py-lineno">1554</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
5632
<a name="L1555"></a><tt class="py-lineno">1555</tt> <tt class="py-line"> <tt class="py-name">_value</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
5633
<a name="L1556"></a><tt class="py-lineno">1556</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5634
<a name="L1557"></a><tt class="py-lineno">1557</tt> <tt class="py-line"> <tt class="py-name">_value</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
5635
<a name="L1558"></a><tt class="py-lineno">1558</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'checkbox'</tt><tt class="py-op">:</tt> </tt>
5636
<a name="L1559"></a><tt class="py-lineno">1559</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_value</tt><tt class="py-op">:</tt> </tt>
5637
<a name="L1560"></a><tt class="py-lineno">1560</tt> <tt class="py-line"> <tt class="py-name">_value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'on'</tt> </tt>
5638
<a name="L1561"></a><tt class="py-lineno">1561</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
5639
<a name="L1562"></a><tt class="py-lineno">1562</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
5640
<a name="L1563"></a><tt class="py-lineno">1563</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
5641
<a name="L1564"></a><tt class="py-lineno">1564</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">_value</tt><tt class="py-op">]</tt> </tt>
5642
<a name="L1565"></a><tt class="py-lineno">1565</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt><tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5643
<a name="L1566"></a><tt class="py-lineno">1566</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'|'</tt><tt class="py-op">)</tt> </tt>
5644
<a name="L1567"></a><tt class="py-lineno">1567</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">_value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'checked'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">None</tt> </tt>
5645
<a name="L1568"></a><tt class="py-lineno">1568</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'radio'</tt><tt class="py-op">:</tt> </tt>
5646
<a name="L1569"></a><tt class="py-lineno">1569</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5647
<a name="L1570"></a><tt class="py-lineno">1570</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'checked'</tt> </tt>
5648
<a name="L1571"></a><tt class="py-lineno">1571</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5649
<a name="L1572"></a><tt class="py-lineno">1572</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
5650
<a name="L1573"></a><tt class="py-lineno">1573</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'text'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'hidden'</tt><tt class="py-op">:</tt> </tt>
5651
<a name="L1574"></a><tt class="py-lineno">1574</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
5652
<a name="L1575"></a><tt class="py-lineno">1575</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
5653
<a name="L1576"></a><tt class="py-lineno">1576</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5654
<a name="L1577"></a><tt class="py-lineno">1577</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">_value</tt> </tt>
5655
</div><a name="L1578"></a><tt class="py-lineno">1578</tt> <tt class="py-line"> </tt>
5656
<a name="INPUT.xml"></a><div id="INPUT.xml-def"><a name="L1579"></a><tt class="py-lineno">1579</tt> <a class="py-toggle" href="#" id="INPUT.xml-toggle" onclick="return toggle('INPUT.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.INPUT-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5657
</div><div id="INPUT.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT.xml-expanded"><a name="L1580"></a><tt class="py-lineno">1580</tt> <tt class="py-line"> <tt id="link-355" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-355', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-356', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_name'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
5658
<a name="L1581"></a><tt class="py-lineno">1581</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-357" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-357', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'errors'</tt><tt class="py-op">)</tt> \ </tt>
5659
<a name="L1582"></a><tt class="py-lineno">1582</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-358', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt id="link-359" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-359', 'name', 'link-74');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> \ </tt>
5660
<a name="L1583"></a><tt class="py-lineno">1583</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'hideerror'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
5661
<a name="L1584"></a><tt class="py-lineno">1584</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-360" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
5662
web2py.gluon.dal.NoSQLAdapter.DIV
5663
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-360', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-361" class="py-name"><a title="web2py.gluon.dal.Rows.xml
5664
web2py.gluon.html.A.xml
5665
web2py.gluon.html.CODE.xml
5666
web2py.gluon.html.DIV.xml
5667
web2py.gluon.html.FORM.xml
5668
web2py.gluon.html.HTML.xml
5669
web2py.gluon.html.INPUT.xml
5670
web2py.gluon.html.MARKMIN.xml
5671
web2py.gluon.html.MENU.xml
5672
web2py.gluon.html.P.xml
5673
web2py.gluon.html.SCRIPT.xml
5674
web2py.gluon.html.STYLE.xml
5675
web2py.gluon.html.XHTML.xml
5676
web2py.gluon.html.XML.xml
5677
web2py.gluon.html.XmlComponent.xml
5678
web2py.gluon.languages.lazyT.xml
5679
web2py.gluon.serializers.xml
5680
web2py.gluon.tools.Recaptcha.xml
5681
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-361', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-362" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
5682
web2py.gluon.dal.NoSQLAdapter.DIV
5683
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-362', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">[</tt><tt id="link-363" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-363', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">_class</tt><tt class="py-op">=</tt><tt class="py-string">'error'</tt><tt class="py-op">,</tt> </tt>
5684
<a name="L1585"></a><tt class="py-lineno">1585</tt> <tt class="py-line"> <tt class="py-name">errors</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">_id</tt><tt class="py-op">=</tt><tt class="py-string">'%s__error'</tt> <tt class="py-op">%</tt> <tt id="link-364" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-364', 'name', 'link-74');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-365" class="py-name"><a title="web2py.gluon.dal.Rows.xml
5685
web2py.gluon.html.A.xml
5686
web2py.gluon.html.CODE.xml
5687
web2py.gluon.html.DIV.xml
5688
web2py.gluon.html.FORM.xml
5689
web2py.gluon.html.HTML.xml
5690
web2py.gluon.html.INPUT.xml
5691
web2py.gluon.html.MARKMIN.xml
5692
web2py.gluon.html.MENU.xml
5693
web2py.gluon.html.P.xml
5694
web2py.gluon.html.SCRIPT.xml
5695
web2py.gluon.html.STYLE.xml
5696
web2py.gluon.html.XHTML.xml
5697
web2py.gluon.html.XML.xml
5698
web2py.gluon.html.XmlComponent.xml
5699
web2py.gluon.languages.lazyT.xml
5700
web2py.gluon.serializers.xml
5701
web2py.gluon.tools.Recaptcha.xml
5702
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-365', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
5703
<a name="L1586"></a><tt class="py-lineno">1586</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5704
<a name="L1587"></a><tt class="py-lineno">1587</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-366" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
5705
web2py.gluon.dal.NoSQLAdapter.DIV
5706
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-366', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-367" class="py-name"><a title="web2py.gluon.dal.Rows.xml
5707
web2py.gluon.html.A.xml
5708
web2py.gluon.html.CODE.xml
5709
web2py.gluon.html.DIV.xml
5710
web2py.gluon.html.FORM.xml
5711
web2py.gluon.html.HTML.xml
5712
web2py.gluon.html.INPUT.xml
5713
web2py.gluon.html.MARKMIN.xml
5714
web2py.gluon.html.MENU.xml
5715
web2py.gluon.html.P.xml
5716
web2py.gluon.html.SCRIPT.xml
5717
web2py.gluon.html.STYLE.xml
5718
web2py.gluon.html.XHTML.xml
5719
web2py.gluon.html.XML.xml
5720
web2py.gluon.html.XmlComponent.xml
5721
web2py.gluon.languages.lazyT.xml
5722
web2py.gluon.serializers.xml
5723
web2py.gluon.tools.Recaptcha.xml
5724
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-367', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
5725
</div></div><a name="L1588"></a><tt class="py-lineno">1588</tt> <tt class="py-line"> </tt>
5726
<a name="L1589"></a><tt class="py-lineno">1589</tt> <tt class="py-line"> </tt>
5727
<a name="TEXTAREA"></a><div id="TEXTAREA-def"><a name="L1590"></a><tt class="py-lineno">1590</tt> <a class="py-toggle" href="#" id="TEXTAREA-toggle" onclick="return toggle('TEXTAREA');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TEXTAREA-class.html">TEXTAREA</a><tt class="py-op">(</tt><tt class="py-base-class">INPUT</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5728
</div><div id="TEXTAREA-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TEXTAREA-expanded"><a name="L1591"></a><tt class="py-lineno">1591</tt> <tt class="py-line"> </tt>
5729
<a name="L1592"></a><tt class="py-lineno">1592</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
5730
<a name="L1593"></a><tt class="py-lineno">1593</tt> <tt class="py-line"><tt class="py-docstring"> example::</tt> </tt>
5731
<a name="L1594"></a><tt class="py-lineno">1594</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5732
<a name="L1595"></a><tt class="py-lineno">1595</tt> <tt class="py-line"><tt class="py-docstring"> TEXTAREA(_name='sometext', value='blah '*100, requires=IS_NOT_EMPTY())</tt> </tt>
5733
<a name="L1596"></a><tt class="py-lineno">1596</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5734
<a name="L1597"></a><tt class="py-lineno">1597</tt> <tt class="py-line"><tt class="py-docstring"> 'blah blah blah ...' will be the content of the textarea field.</tt> </tt>
5735
<a name="L1598"></a><tt class="py-lineno">1598</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
5736
<a name="L1599"></a><tt class="py-lineno">1599</tt> <tt class="py-line"> </tt>
5737
<a name="L1600"></a><tt class="py-lineno">1600</tt> <tt class="py-line"> <tt id="link-368" class="py-name"><a title="web2py.gluon.html.A.tag
5738
web2py.gluon.html.B.tag
5739
web2py.gluon.html.BEAUTIFY.tag
5740
web2py.gluon.html.BODY.tag
5741
web2py.gluon.html.BR.tag
5742
web2py.gluon.html.BUTTON.tag
5743
web2py.gluon.html.CAT.tag
5744
web2py.gluon.html.CENTER.tag
5745
web2py.gluon.html.COL.tag
5746
web2py.gluon.html.COLGROUP.tag
5747
web2py.gluon.html.DIV.tag
5748
web2py.gluon.html.EM.tag
5749
web2py.gluon.html.EMBED.tag
5750
web2py.gluon.html.FIELDSET.tag
5751
web2py.gluon.html.FORM.tag
5752
web2py.gluon.html.H1.tag
5753
web2py.gluon.html.H2.tag
5754
web2py.gluon.html.H3.tag
5755
web2py.gluon.html.H4.tag
5756
web2py.gluon.html.H5.tag
5757
web2py.gluon.html.H6.tag
5758
web2py.gluon.html.HEAD.tag
5759
web2py.gluon.html.HR.tag
5760
web2py.gluon.html.HTML.tag
5761
web2py.gluon.html.I.tag
5762
web2py.gluon.html.IFRAME.tag
5763
web2py.gluon.html.IMG.tag
5764
web2py.gluon.html.INPUT.tag
5765
web2py.gluon.html.LABEL.tag
5766
web2py.gluon.html.LEGEND.tag
5767
web2py.gluon.html.LI.tag
5768
web2py.gluon.html.LINK.tag
5769
web2py.gluon.html.MENU.tag
5770
web2py.gluon.html.META.tag
5771
web2py.gluon.html.OBJECT.tag
5772
web2py.gluon.html.OL.tag
5773
web2py.gluon.html.OPTGROUP.tag
5774
web2py.gluon.html.OPTION.tag
5775
web2py.gluon.html.P.tag
5776
web2py.gluon.html.PRE.tag
5777
web2py.gluon.html.SCRIPT.tag
5778
web2py.gluon.html.SELECT.tag
5779
web2py.gluon.html.SPAN.tag
5780
web2py.gluon.html.STYLE.tag
5781
web2py.gluon.html.TABLE.tag
5782
web2py.gluon.html.TBODY.tag
5783
web2py.gluon.html.TD.tag
5784
web2py.gluon.html.TEXTAREA.tag
5785
web2py.gluon.html.TFOOT.tag
5786
web2py.gluon.html.TH.tag
5787
web2py.gluon.html.THEAD.tag
5788
web2py.gluon.html.TITLE.tag
5789
web2py.gluon.html.TR.tag
5790
web2py.gluon.html.TT.tag
5791
web2py.gluon.html.UL.tag
5792
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-368', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'textarea'</tt> </tt>
5793
<a name="L1601"></a><tt class="py-lineno">1601</tt> <tt class="py-line"> </tt>
5794
<a name="TEXTAREA._postprocessing"></a><div id="TEXTAREA._postprocessing-def"><a name="L1602"></a><tt class="py-lineno">1602</tt> <a class="py-toggle" href="#" id="TEXTAREA._postprocessing-toggle" onclick="return toggle('TEXTAREA._postprocessing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TEXTAREA-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5795
</div><div id="TEXTAREA._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TEXTAREA._postprocessing-expanded"><a name="L1603"></a><tt class="py-lineno">1603</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'_rows'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
5796
<a name="L1604"></a><tt class="py-lineno">1604</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_rows'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt> </tt>
5797
<a name="L1605"></a><tt class="py-lineno">1605</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'_cols'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
5798
<a name="L1606"></a><tt class="py-lineno">1606</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_cols'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">40</tt> </tt>
5799
<a name="L1607"></a><tt class="py-lineno">1607</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
5800
<a name="L1608"></a><tt class="py-lineno">1608</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
5801
<a name="L1609"></a><tt class="py-lineno">1609</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
5802
<a name="L1610"></a><tt class="py-lineno">1610</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
5803
</div></div><a name="L1611"></a><tt class="py-lineno">1611</tt> <tt class="py-line"> </tt>
5804
<a name="L1612"></a><tt class="py-lineno">1612</tt> <tt class="py-line"> </tt>
5805
<a name="OPTION"></a><div id="OPTION-def"><a name="L1613"></a><tt class="py-lineno">1613</tt> <a class="py-toggle" href="#" id="OPTION-toggle" onclick="return toggle('OPTION');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.OPTION-class.html">OPTION</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5806
</div><div id="OPTION-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OPTION-expanded"><a name="L1614"></a><tt class="py-lineno">1614</tt> <tt class="py-line"> </tt>
5807
<a name="L1615"></a><tt class="py-lineno">1615</tt> <tt class="py-line"> <tt id="link-369" class="py-name"><a title="web2py.gluon.html.A.tag
5808
web2py.gluon.html.B.tag
5809
web2py.gluon.html.BEAUTIFY.tag
5810
web2py.gluon.html.BODY.tag
5811
web2py.gluon.html.BR.tag
5812
web2py.gluon.html.BUTTON.tag
5813
web2py.gluon.html.CAT.tag
5814
web2py.gluon.html.CENTER.tag
5815
web2py.gluon.html.COL.tag
5816
web2py.gluon.html.COLGROUP.tag
5817
web2py.gluon.html.DIV.tag
5818
web2py.gluon.html.EM.tag
5819
web2py.gluon.html.EMBED.tag
5820
web2py.gluon.html.FIELDSET.tag
5821
web2py.gluon.html.FORM.tag
5822
web2py.gluon.html.H1.tag
5823
web2py.gluon.html.H2.tag
5824
web2py.gluon.html.H3.tag
5825
web2py.gluon.html.H4.tag
5826
web2py.gluon.html.H5.tag
5827
web2py.gluon.html.H6.tag
5828
web2py.gluon.html.HEAD.tag
5829
web2py.gluon.html.HR.tag
5830
web2py.gluon.html.HTML.tag
5831
web2py.gluon.html.I.tag
5832
web2py.gluon.html.IFRAME.tag
5833
web2py.gluon.html.IMG.tag
5834
web2py.gluon.html.INPUT.tag
5835
web2py.gluon.html.LABEL.tag
5836
web2py.gluon.html.LEGEND.tag
5837
web2py.gluon.html.LI.tag
5838
web2py.gluon.html.LINK.tag
5839
web2py.gluon.html.MENU.tag
5840
web2py.gluon.html.META.tag
5841
web2py.gluon.html.OBJECT.tag
5842
web2py.gluon.html.OL.tag
5843
web2py.gluon.html.OPTGROUP.tag
5844
web2py.gluon.html.OPTION.tag
5845
web2py.gluon.html.P.tag
5846
web2py.gluon.html.PRE.tag
5847
web2py.gluon.html.SCRIPT.tag
5848
web2py.gluon.html.SELECT.tag
5849
web2py.gluon.html.SPAN.tag
5850
web2py.gluon.html.STYLE.tag
5851
web2py.gluon.html.TABLE.tag
5852
web2py.gluon.html.TBODY.tag
5853
web2py.gluon.html.TD.tag
5854
web2py.gluon.html.TEXTAREA.tag
5855
web2py.gluon.html.TFOOT.tag
5856
web2py.gluon.html.TH.tag
5857
web2py.gluon.html.THEAD.tag
5858
web2py.gluon.html.TITLE.tag
5859
web2py.gluon.html.TR.tag
5860
web2py.gluon.html.TT.tag
5861
web2py.gluon.html.UL.tag
5862
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-369', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'option'</tt> </tt>
5863
<a name="L1616"></a><tt class="py-lineno">1616</tt> <tt class="py-line"> </tt>
5864
<a name="OPTION._fixup"></a><div id="OPTION._fixup-def"><a name="L1617"></a><tt class="py-lineno">1617</tt> <a class="py-toggle" href="#" id="OPTION._fixup-toggle" onclick="return toggle('OPTION._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.OPTION-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5865
</div><div id="OPTION._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OPTION._fixup-expanded"><a name="L1618"></a><tt class="py-lineno">1618</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'_value'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
5866
<a name="L1619"></a><tt class="py-lineno">1619</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
5867
</div></div><a name="L1620"></a><tt class="py-lineno">1620</tt> <tt class="py-line"> </tt>
5868
<a name="L1621"></a><tt class="py-lineno">1621</tt> <tt class="py-line"> </tt>
5869
<a name="OBJECT"></a><div id="OBJECT-def"><a name="L1622"></a><tt class="py-lineno">1622</tt> <a class="py-toggle" href="#" id="OBJECT-toggle" onclick="return toggle('OBJECT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.OBJECT-class.html">OBJECT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5870
</div><div id="OBJECT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OBJECT-expanded"><a name="L1623"></a><tt class="py-lineno">1623</tt> <tt class="py-line"> </tt>
5871
<a name="L1624"></a><tt class="py-lineno">1624</tt> <tt class="py-line"> <tt id="link-370" class="py-name"><a title="web2py.gluon.html.A.tag
5872
web2py.gluon.html.B.tag
5873
web2py.gluon.html.BEAUTIFY.tag
5874
web2py.gluon.html.BODY.tag
5875
web2py.gluon.html.BR.tag
5876
web2py.gluon.html.BUTTON.tag
5877
web2py.gluon.html.CAT.tag
5878
web2py.gluon.html.CENTER.tag
5879
web2py.gluon.html.COL.tag
5880
web2py.gluon.html.COLGROUP.tag
5881
web2py.gluon.html.DIV.tag
5882
web2py.gluon.html.EM.tag
5883
web2py.gluon.html.EMBED.tag
5884
web2py.gluon.html.FIELDSET.tag
5885
web2py.gluon.html.FORM.tag
5886
web2py.gluon.html.H1.tag
5887
web2py.gluon.html.H2.tag
5888
web2py.gluon.html.H3.tag
5889
web2py.gluon.html.H4.tag
5890
web2py.gluon.html.H5.tag
5891
web2py.gluon.html.H6.tag
5892
web2py.gluon.html.HEAD.tag
5893
web2py.gluon.html.HR.tag
5894
web2py.gluon.html.HTML.tag
5895
web2py.gluon.html.I.tag
5896
web2py.gluon.html.IFRAME.tag
5897
web2py.gluon.html.IMG.tag
5898
web2py.gluon.html.INPUT.tag
5899
web2py.gluon.html.LABEL.tag
5900
web2py.gluon.html.LEGEND.tag
5901
web2py.gluon.html.LI.tag
5902
web2py.gluon.html.LINK.tag
5903
web2py.gluon.html.MENU.tag
5904
web2py.gluon.html.META.tag
5905
web2py.gluon.html.OBJECT.tag
5906
web2py.gluon.html.OL.tag
5907
web2py.gluon.html.OPTGROUP.tag
5908
web2py.gluon.html.OPTION.tag
5909
web2py.gluon.html.P.tag
5910
web2py.gluon.html.PRE.tag
5911
web2py.gluon.html.SCRIPT.tag
5912
web2py.gluon.html.SELECT.tag
5913
web2py.gluon.html.SPAN.tag
5914
web2py.gluon.html.STYLE.tag
5915
web2py.gluon.html.TABLE.tag
5916
web2py.gluon.html.TBODY.tag
5917
web2py.gluon.html.TD.tag
5918
web2py.gluon.html.TEXTAREA.tag
5919
web2py.gluon.html.TFOOT.tag
5920
web2py.gluon.html.TH.tag
5921
web2py.gluon.html.THEAD.tag
5922
web2py.gluon.html.TITLE.tag
5923
web2py.gluon.html.TR.tag
5924
web2py.gluon.html.TT.tag
5925
web2py.gluon.html.UL.tag
5926
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-370', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'object'</tt> </tt>
5927
</div><a name="L1625"></a><tt class="py-lineno">1625</tt> <tt class="py-line"> </tt>
5928
<a name="OPTGROUP"></a><div id="OPTGROUP-def"><a name="L1626"></a><tt class="py-lineno">1626</tt> <a class="py-toggle" href="#" id="OPTGROUP-toggle" onclick="return toggle('OPTGROUP');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.OPTGROUP-class.html">OPTGROUP</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5929
</div><div id="OPTGROUP-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OPTGROUP-expanded"><a name="L1627"></a><tt class="py-lineno">1627</tt> <tt class="py-line"> </tt>
5930
<a name="L1628"></a><tt class="py-lineno">1628</tt> <tt class="py-line"> <tt id="link-371" class="py-name"><a title="web2py.gluon.html.A.tag
5931
web2py.gluon.html.B.tag
5932
web2py.gluon.html.BEAUTIFY.tag
5933
web2py.gluon.html.BODY.tag
5934
web2py.gluon.html.BR.tag
5935
web2py.gluon.html.BUTTON.tag
5936
web2py.gluon.html.CAT.tag
5937
web2py.gluon.html.CENTER.tag
5938
web2py.gluon.html.COL.tag
5939
web2py.gluon.html.COLGROUP.tag
5940
web2py.gluon.html.DIV.tag
5941
web2py.gluon.html.EM.tag
5942
web2py.gluon.html.EMBED.tag
5943
web2py.gluon.html.FIELDSET.tag
5944
web2py.gluon.html.FORM.tag
5945
web2py.gluon.html.H1.tag
5946
web2py.gluon.html.H2.tag
5947
web2py.gluon.html.H3.tag
5948
web2py.gluon.html.H4.tag
5949
web2py.gluon.html.H5.tag
5950
web2py.gluon.html.H6.tag
5951
web2py.gluon.html.HEAD.tag
5952
web2py.gluon.html.HR.tag
5953
web2py.gluon.html.HTML.tag
5954
web2py.gluon.html.I.tag
5955
web2py.gluon.html.IFRAME.tag
5956
web2py.gluon.html.IMG.tag
5957
web2py.gluon.html.INPUT.tag
5958
web2py.gluon.html.LABEL.tag
5959
web2py.gluon.html.LEGEND.tag
5960
web2py.gluon.html.LI.tag
5961
web2py.gluon.html.LINK.tag
5962
web2py.gluon.html.MENU.tag
5963
web2py.gluon.html.META.tag
5964
web2py.gluon.html.OBJECT.tag
5965
web2py.gluon.html.OL.tag
5966
web2py.gluon.html.OPTGROUP.tag
5967
web2py.gluon.html.OPTION.tag
5968
web2py.gluon.html.P.tag
5969
web2py.gluon.html.PRE.tag
5970
web2py.gluon.html.SCRIPT.tag
5971
web2py.gluon.html.SELECT.tag
5972
web2py.gluon.html.SPAN.tag
5973
web2py.gluon.html.STYLE.tag
5974
web2py.gluon.html.TABLE.tag
5975
web2py.gluon.html.TBODY.tag
5976
web2py.gluon.html.TD.tag
5977
web2py.gluon.html.TEXTAREA.tag
5978
web2py.gluon.html.TFOOT.tag
5979
web2py.gluon.html.TH.tag
5980
web2py.gluon.html.THEAD.tag
5981
web2py.gluon.html.TITLE.tag
5982
web2py.gluon.html.TR.tag
5983
web2py.gluon.html.TT.tag
5984
web2py.gluon.html.UL.tag
5985
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-371', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'optgroup'</tt> </tt>
5167
<a name="TFOOT"></a><div id="TFOOT-def"><a name="L1464"></a><tt class="py-lineno">1464</tt> <a class="py-toggle" href="#" id="TFOOT-toggle" onclick="return toggle('TFOOT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TFOOT-class.html">TFOOT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5168
</div><div id="TFOOT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TFOOT-expanded"><a name="L1465"></a><tt class="py-lineno">1465</tt> <tt class="py-line"> </tt>
5169
<a name="L1466"></a><tt class="py-lineno">1466</tt> <tt class="py-line"> <tt id="link-307" class="py-name"><a title="web2py.gluon.html.A.tag
5170
web2py.gluon.html.B.tag
5171
web2py.gluon.html.BEAUTIFY.tag
5172
web2py.gluon.html.BODY.tag
5173
web2py.gluon.html.BR.tag
5174
web2py.gluon.html.BUTTON.tag
5175
web2py.gluon.html.CAT.tag
5176
web2py.gluon.html.CENTER.tag
5177
web2py.gluon.html.COL.tag
5178
web2py.gluon.html.COLGROUP.tag
5179
web2py.gluon.html.DIV.tag
5180
web2py.gluon.html.EM.tag
5181
web2py.gluon.html.EMBED.tag
5182
web2py.gluon.html.FIELDSET.tag
5183
web2py.gluon.html.FORM.tag
5184
web2py.gluon.html.H1.tag
5185
web2py.gluon.html.H2.tag
5186
web2py.gluon.html.H3.tag
5187
web2py.gluon.html.H4.tag
5188
web2py.gluon.html.H5.tag
5189
web2py.gluon.html.H6.tag
5190
web2py.gluon.html.HEAD.tag
5191
web2py.gluon.html.HR.tag
5192
web2py.gluon.html.HTML.tag
5193
web2py.gluon.html.I.tag
5194
web2py.gluon.html.IFRAME.tag
5195
web2py.gluon.html.IMG.tag
5196
web2py.gluon.html.INPUT.tag
5197
web2py.gluon.html.LABEL.tag
5198
web2py.gluon.html.LEGEND.tag
5199
web2py.gluon.html.LI.tag
5200
web2py.gluon.html.LINK.tag
5201
web2py.gluon.html.MENU.tag
5202
web2py.gluon.html.META.tag
5203
web2py.gluon.html.OBJECT.tag
5204
web2py.gluon.html.OL.tag
5205
web2py.gluon.html.OPTGROUP.tag
5206
web2py.gluon.html.OPTION.tag
5207
web2py.gluon.html.P.tag
5208
web2py.gluon.html.PRE.tag
5209
web2py.gluon.html.SCRIPT.tag
5210
web2py.gluon.html.SELECT.tag
5211
web2py.gluon.html.SPAN.tag
5212
web2py.gluon.html.STYLE.tag
5213
web2py.gluon.html.TABLE.tag
5214
web2py.gluon.html.TBODY.tag
5215
web2py.gluon.html.TD.tag
5216
web2py.gluon.html.TEXTAREA.tag
5217
web2py.gluon.html.TFOOT.tag
5218
web2py.gluon.html.TH.tag
5219
web2py.gluon.html.THEAD.tag
5220
web2py.gluon.html.TITLE.tag
5221
web2py.gluon.html.TR.tag
5222
web2py.gluon.html.TT.tag
5223
web2py.gluon.html.UL.tag
5224
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-307', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tfoot'</tt> </tt>
5225
<a name="L1467"></a><tt class="py-lineno">1467</tt> <tt class="py-line"> </tt>
5226
<a name="TFOOT._fixup"></a><div id="TFOOT._fixup-def"><a name="L1468"></a><tt class="py-lineno">1468</tt> <a class="py-toggle" href="#" id="TFOOT._fixup-toggle" onclick="return toggle('TFOOT._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TFOOT-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5227
</div><div id="TFOOT._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TFOOT._fixup-expanded"><a name="L1469"></a><tt class="py-lineno">1469</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-308', '_wrap_components', 'link-288');">_wrap_components</a></tt><tt class="py-op">(</tt><tt id="link-309" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-309', 'TR', 'link-301');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-310" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-310', 'TR', 'link-301');">TR</a></tt><tt class="py-op">)</tt> </tt>
5228
</div></div><a name="L1470"></a><tt class="py-lineno">1470</tt> <tt class="py-line"> </tt>
5229
<a name="L1471"></a><tt class="py-lineno">1471</tt> <tt class="py-line"> </tt>
5230
<a name="COL"></a><div id="COL-def"><a name="L1472"></a><tt class="py-lineno">1472</tt> <a class="py-toggle" href="#" id="COL-toggle" onclick="return toggle('COL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.COL-class.html">COL</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5231
</div><div id="COL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="COL-expanded"><a name="L1473"></a><tt class="py-lineno">1473</tt> <tt class="py-line"> </tt>
5232
<a name="L1474"></a><tt class="py-lineno">1474</tt> <tt class="py-line"> <tt id="link-311" class="py-name"><a title="web2py.gluon.html.A.tag
5233
web2py.gluon.html.B.tag
5234
web2py.gluon.html.BEAUTIFY.tag
5235
web2py.gluon.html.BODY.tag
5236
web2py.gluon.html.BR.tag
5237
web2py.gluon.html.BUTTON.tag
5238
web2py.gluon.html.CAT.tag
5239
web2py.gluon.html.CENTER.tag
5240
web2py.gluon.html.COL.tag
5241
web2py.gluon.html.COLGROUP.tag
5242
web2py.gluon.html.DIV.tag
5243
web2py.gluon.html.EM.tag
5244
web2py.gluon.html.EMBED.tag
5245
web2py.gluon.html.FIELDSET.tag
5246
web2py.gluon.html.FORM.tag
5247
web2py.gluon.html.H1.tag
5248
web2py.gluon.html.H2.tag
5249
web2py.gluon.html.H3.tag
5250
web2py.gluon.html.H4.tag
5251
web2py.gluon.html.H5.tag
5252
web2py.gluon.html.H6.tag
5253
web2py.gluon.html.HEAD.tag
5254
web2py.gluon.html.HR.tag
5255
web2py.gluon.html.HTML.tag
5256
web2py.gluon.html.I.tag
5257
web2py.gluon.html.IFRAME.tag
5258
web2py.gluon.html.IMG.tag
5259
web2py.gluon.html.INPUT.tag
5260
web2py.gluon.html.LABEL.tag
5261
web2py.gluon.html.LEGEND.tag
5262
web2py.gluon.html.LI.tag
5263
web2py.gluon.html.LINK.tag
5264
web2py.gluon.html.MENU.tag
5265
web2py.gluon.html.META.tag
5266
web2py.gluon.html.OBJECT.tag
5267
web2py.gluon.html.OL.tag
5268
web2py.gluon.html.OPTGROUP.tag
5269
web2py.gluon.html.OPTION.tag
5270
web2py.gluon.html.P.tag
5271
web2py.gluon.html.PRE.tag
5272
web2py.gluon.html.SCRIPT.tag
5273
web2py.gluon.html.SELECT.tag
5274
web2py.gluon.html.SPAN.tag
5275
web2py.gluon.html.STYLE.tag
5276
web2py.gluon.html.TABLE.tag
5277
web2py.gluon.html.TBODY.tag
5278
web2py.gluon.html.TD.tag
5279
web2py.gluon.html.TEXTAREA.tag
5280
web2py.gluon.html.TFOOT.tag
5281
web2py.gluon.html.TH.tag
5282
web2py.gluon.html.THEAD.tag
5283
web2py.gluon.html.TITLE.tag
5284
web2py.gluon.html.TR.tag
5285
web2py.gluon.html.TT.tag
5286
web2py.gluon.html.UL.tag
5287
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-311', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'col'</tt> </tt>
5288
</div><a name="L1475"></a><tt class="py-lineno">1475</tt> <tt class="py-line"> </tt>
5289
<a name="L1476"></a><tt class="py-lineno">1476</tt> <tt class="py-line"> </tt>
5290
<a name="COLGROUP"></a><div id="COLGROUP-def"><a name="L1477"></a><tt class="py-lineno">1477</tt> <a class="py-toggle" href="#" id="COLGROUP-toggle" onclick="return toggle('COLGROUP');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.COLGROUP-class.html">COLGROUP</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5291
</div><div id="COLGROUP-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="COLGROUP-expanded"><a name="L1478"></a><tt class="py-lineno">1478</tt> <tt class="py-line"> </tt>
5292
<a name="L1479"></a><tt class="py-lineno">1479</tt> <tt class="py-line"> <tt id="link-312" class="py-name"><a title="web2py.gluon.html.A.tag
5293
web2py.gluon.html.B.tag
5294
web2py.gluon.html.BEAUTIFY.tag
5295
web2py.gluon.html.BODY.tag
5296
web2py.gluon.html.BR.tag
5297
web2py.gluon.html.BUTTON.tag
5298
web2py.gluon.html.CAT.tag
5299
web2py.gluon.html.CENTER.tag
5300
web2py.gluon.html.COL.tag
5301
web2py.gluon.html.COLGROUP.tag
5302
web2py.gluon.html.DIV.tag
5303
web2py.gluon.html.EM.tag
5304
web2py.gluon.html.EMBED.tag
5305
web2py.gluon.html.FIELDSET.tag
5306
web2py.gluon.html.FORM.tag
5307
web2py.gluon.html.H1.tag
5308
web2py.gluon.html.H2.tag
5309
web2py.gluon.html.H3.tag
5310
web2py.gluon.html.H4.tag
5311
web2py.gluon.html.H5.tag
5312
web2py.gluon.html.H6.tag
5313
web2py.gluon.html.HEAD.tag
5314
web2py.gluon.html.HR.tag
5315
web2py.gluon.html.HTML.tag
5316
web2py.gluon.html.I.tag
5317
web2py.gluon.html.IFRAME.tag
5318
web2py.gluon.html.IMG.tag
5319
web2py.gluon.html.INPUT.tag
5320
web2py.gluon.html.LABEL.tag
5321
web2py.gluon.html.LEGEND.tag
5322
web2py.gluon.html.LI.tag
5323
web2py.gluon.html.LINK.tag
5324
web2py.gluon.html.MENU.tag
5325
web2py.gluon.html.META.tag
5326
web2py.gluon.html.OBJECT.tag
5327
web2py.gluon.html.OL.tag
5328
web2py.gluon.html.OPTGROUP.tag
5329
web2py.gluon.html.OPTION.tag
5330
web2py.gluon.html.P.tag
5331
web2py.gluon.html.PRE.tag
5332
web2py.gluon.html.SCRIPT.tag
5333
web2py.gluon.html.SELECT.tag
5334
web2py.gluon.html.SPAN.tag
5335
web2py.gluon.html.STYLE.tag
5336
web2py.gluon.html.TABLE.tag
5337
web2py.gluon.html.TBODY.tag
5338
web2py.gluon.html.TD.tag
5339
web2py.gluon.html.TEXTAREA.tag
5340
web2py.gluon.html.TFOOT.tag
5341
web2py.gluon.html.TH.tag
5342
web2py.gluon.html.THEAD.tag
5343
web2py.gluon.html.TITLE.tag
5344
web2py.gluon.html.TR.tag
5345
web2py.gluon.html.TT.tag
5346
web2py.gluon.html.UL.tag
5347
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-312', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'colgroup'</tt> </tt>
5348
</div><a name="L1480"></a><tt class="py-lineno">1480</tt> <tt class="py-line"> </tt>
5349
<a name="L1481"></a><tt class="py-lineno">1481</tt> <tt class="py-line"> </tt>
5350
<a name="TABLE"></a><div id="TABLE-def"><a name="L1482"></a><tt class="py-lineno">1482</tt> <a class="py-toggle" href="#" id="TABLE-toggle" onclick="return toggle('TABLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TABLE-class.html">TABLE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5351
</div><div id="TABLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TABLE-expanded"><a name="L1483"></a><tt class="py-lineno">1483</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
5352
<a name="L1484"></a><tt class="py-lineno">1484</tt> <tt class="py-line"><tt class="py-docstring"> TABLE Component.</tt> </tt>
5353
<a name="L1485"></a><tt class="py-lineno">1485</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5354
<a name="L1486"></a><tt class="py-lineno">1486</tt> <tt class="py-line"><tt class="py-docstring"> If subcomponents are not TR/TBODY/THEAD/TFOOT-components</tt> </tt>
5355
<a name="L1487"></a><tt class="py-lineno">1487</tt> <tt class="py-line"><tt class="py-docstring"> they will be wrapped in a TR</tt> </tt>
5356
<a name="L1488"></a><tt class="py-lineno">1488</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5357
<a name="L1489"></a><tt class="py-lineno">1489</tt> <tt class="py-line"><tt class="py-docstring"> see also :class:`DIV`</tt> </tt>
5358
<a name="L1490"></a><tt class="py-lineno">1490</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
5359
<a name="L1491"></a><tt class="py-lineno">1491</tt> <tt class="py-line"> </tt>
5360
<a name="L1492"></a><tt class="py-lineno">1492</tt> <tt class="py-line"> <tt id="link-313" class="py-name"><a title="web2py.gluon.html.A.tag
5361
web2py.gluon.html.B.tag
5362
web2py.gluon.html.BEAUTIFY.tag
5363
web2py.gluon.html.BODY.tag
5364
web2py.gluon.html.BR.tag
5365
web2py.gluon.html.BUTTON.tag
5366
web2py.gluon.html.CAT.tag
5367
web2py.gluon.html.CENTER.tag
5368
web2py.gluon.html.COL.tag
5369
web2py.gluon.html.COLGROUP.tag
5370
web2py.gluon.html.DIV.tag
5371
web2py.gluon.html.EM.tag
5372
web2py.gluon.html.EMBED.tag
5373
web2py.gluon.html.FIELDSET.tag
5374
web2py.gluon.html.FORM.tag
5375
web2py.gluon.html.H1.tag
5376
web2py.gluon.html.H2.tag
5377
web2py.gluon.html.H3.tag
5378
web2py.gluon.html.H4.tag
5379
web2py.gluon.html.H5.tag
5380
web2py.gluon.html.H6.tag
5381
web2py.gluon.html.HEAD.tag
5382
web2py.gluon.html.HR.tag
5383
web2py.gluon.html.HTML.tag
5384
web2py.gluon.html.I.tag
5385
web2py.gluon.html.IFRAME.tag
5386
web2py.gluon.html.IMG.tag
5387
web2py.gluon.html.INPUT.tag
5388
web2py.gluon.html.LABEL.tag
5389
web2py.gluon.html.LEGEND.tag
5390
web2py.gluon.html.LI.tag
5391
web2py.gluon.html.LINK.tag
5392
web2py.gluon.html.MENU.tag
5393
web2py.gluon.html.META.tag
5394
web2py.gluon.html.OBJECT.tag
5395
web2py.gluon.html.OL.tag
5396
web2py.gluon.html.OPTGROUP.tag
5397
web2py.gluon.html.OPTION.tag
5398
web2py.gluon.html.P.tag
5399
web2py.gluon.html.PRE.tag
5400
web2py.gluon.html.SCRIPT.tag
5401
web2py.gluon.html.SELECT.tag
5402
web2py.gluon.html.SPAN.tag
5403
web2py.gluon.html.STYLE.tag
5404
web2py.gluon.html.TABLE.tag
5405
web2py.gluon.html.TBODY.tag
5406
web2py.gluon.html.TD.tag
5407
web2py.gluon.html.TEXTAREA.tag
5408
web2py.gluon.html.TFOOT.tag
5409
web2py.gluon.html.TH.tag
5410
web2py.gluon.html.THEAD.tag
5411
web2py.gluon.html.TITLE.tag
5412
web2py.gluon.html.TR.tag
5413
web2py.gluon.html.TT.tag
5414
web2py.gluon.html.UL.tag
5415
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-313', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'table'</tt> </tt>
5416
<a name="L1493"></a><tt class="py-lineno">1493</tt> <tt class="py-line"> </tt>
5417
<a name="TABLE._fixup"></a><div id="TABLE._fixup-def"><a name="L1494"></a><tt class="py-lineno">1494</tt> <a class="py-toggle" href="#" id="TABLE._fixup-toggle" onclick="return toggle('TABLE._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TABLE-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5418
</div><div id="TABLE._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TABLE._fixup-expanded"><a name="L1495"></a><tt class="py-lineno">1495</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="web2py.gluon.html.DIV._wrap_components" class="py-name" href="#" onclick="return doclink('link-314', '_wrap_components', 'link-288');">_wrap_components</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-315" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-315', 'TR', 'link-301');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-316" class="py-name" targets="Class web2py.gluon.html.TBODY=web2py.gluon.html.TBODY-class.html"><a title="web2py.gluon.html.TBODY" class="py-name" href="#" onclick="return doclink('link-316', 'TBODY', 'link-316');">TBODY</a></tt><tt class="py-op">,</tt> <tt id="link-317" class="py-name" targets="Class web2py.gluon.html.THEAD=web2py.gluon.html.THEAD-class.html"><a title="web2py.gluon.html.THEAD" class="py-name" href="#" onclick="return doclink('link-317', 'THEAD', 'link-317');">THEAD</a></tt><tt class="py-op">,</tt> <tt id="link-318" class="py-name" targets="Class web2py.gluon.html.TFOOT=web2py.gluon.html.TFOOT-class.html"><a title="web2py.gluon.html.TFOOT" class="py-name" href="#" onclick="return doclink('link-318', 'TFOOT', 'link-318');">TFOOT</a></tt><tt class="py-op">,</tt> <tt id="link-319" class="py-name" targets="Class web2py.gluon.html.COL=web2py.gluon.html.COL-class.html"><a title="web2py.gluon.html.COL" class="py-name" href="#" onclick="return doclink('link-319', 'COL', 'link-319');">COL</a></tt><tt class="py-op">,</tt> <tt id="link-320" class="py-name" targets="Class web2py.gluon.html.COLGROUP=web2py.gluon.html.COLGROUP-class.html"><a title="web2py.gluon.html.COLGROUP" class="py-name" href="#" onclick="return doclink('link-320', 'COLGROUP', 'link-320');">COLGROUP</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-321" class="py-name"><a title="web2py.gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-321', 'TR', 'link-301');">TR</a></tt><tt class="py-op">)</tt> </tt>
5419
</div></div><a name="L1496"></a><tt class="py-lineno">1496</tt> <tt class="py-line"> </tt>
5420
<a name="I"></a><div id="I-def"><a name="L1497"></a><tt class="py-lineno">1497</tt> <a class="py-toggle" href="#" id="I-toggle" onclick="return toggle('I');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.I-class.html">I</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5421
</div><div id="I-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="I-expanded"><a name="L1498"></a><tt class="py-lineno">1498</tt> <tt class="py-line"> </tt>
5422
<a name="L1499"></a><tt class="py-lineno">1499</tt> <tt class="py-line"> <tt id="link-322" class="py-name"><a title="web2py.gluon.html.A.tag
5423
web2py.gluon.html.B.tag
5424
web2py.gluon.html.BEAUTIFY.tag
5425
web2py.gluon.html.BODY.tag
5426
web2py.gluon.html.BR.tag
5427
web2py.gluon.html.BUTTON.tag
5428
web2py.gluon.html.CAT.tag
5429
web2py.gluon.html.CENTER.tag
5430
web2py.gluon.html.COL.tag
5431
web2py.gluon.html.COLGROUP.tag
5432
web2py.gluon.html.DIV.tag
5433
web2py.gluon.html.EM.tag
5434
web2py.gluon.html.EMBED.tag
5435
web2py.gluon.html.FIELDSET.tag
5436
web2py.gluon.html.FORM.tag
5437
web2py.gluon.html.H1.tag
5438
web2py.gluon.html.H2.tag
5439
web2py.gluon.html.H3.tag
5440
web2py.gluon.html.H4.tag
5441
web2py.gluon.html.H5.tag
5442
web2py.gluon.html.H6.tag
5443
web2py.gluon.html.HEAD.tag
5444
web2py.gluon.html.HR.tag
5445
web2py.gluon.html.HTML.tag
5446
web2py.gluon.html.I.tag
5447
web2py.gluon.html.IFRAME.tag
5448
web2py.gluon.html.IMG.tag
5449
web2py.gluon.html.INPUT.tag
5450
web2py.gluon.html.LABEL.tag
5451
web2py.gluon.html.LEGEND.tag
5452
web2py.gluon.html.LI.tag
5453
web2py.gluon.html.LINK.tag
5454
web2py.gluon.html.MENU.tag
5455
web2py.gluon.html.META.tag
5456
web2py.gluon.html.OBJECT.tag
5457
web2py.gluon.html.OL.tag
5458
web2py.gluon.html.OPTGROUP.tag
5459
web2py.gluon.html.OPTION.tag
5460
web2py.gluon.html.P.tag
5461
web2py.gluon.html.PRE.tag
5462
web2py.gluon.html.SCRIPT.tag
5463
web2py.gluon.html.SELECT.tag
5464
web2py.gluon.html.SPAN.tag
5465
web2py.gluon.html.STYLE.tag
5466
web2py.gluon.html.TABLE.tag
5467
web2py.gluon.html.TBODY.tag
5468
web2py.gluon.html.TD.tag
5469
web2py.gluon.html.TEXTAREA.tag
5470
web2py.gluon.html.TFOOT.tag
5471
web2py.gluon.html.TH.tag
5472
web2py.gluon.html.THEAD.tag
5473
web2py.gluon.html.TITLE.tag
5474
web2py.gluon.html.TR.tag
5475
web2py.gluon.html.TT.tag
5476
web2py.gluon.html.UL.tag
5477
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-322', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'i'</tt> </tt>
5478
</div><a name="L1500"></a><tt class="py-lineno">1500</tt> <tt class="py-line"> </tt>
5479
<a name="IFRAME"></a><div id="IFRAME-def"><a name="L1501"></a><tt class="py-lineno">1501</tt> <a class="py-toggle" href="#" id="IFRAME-toggle" onclick="return toggle('IFRAME');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.IFRAME-class.html">IFRAME</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5480
</div><div id="IFRAME-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="IFRAME-expanded"><a name="L1502"></a><tt class="py-lineno">1502</tt> <tt class="py-line"> </tt>
5481
<a name="L1503"></a><tt class="py-lineno">1503</tt> <tt class="py-line"> <tt id="link-323" class="py-name"><a title="web2py.gluon.html.A.tag
5482
web2py.gluon.html.B.tag
5483
web2py.gluon.html.BEAUTIFY.tag
5484
web2py.gluon.html.BODY.tag
5485
web2py.gluon.html.BR.tag
5486
web2py.gluon.html.BUTTON.tag
5487
web2py.gluon.html.CAT.tag
5488
web2py.gluon.html.CENTER.tag
5489
web2py.gluon.html.COL.tag
5490
web2py.gluon.html.COLGROUP.tag
5491
web2py.gluon.html.DIV.tag
5492
web2py.gluon.html.EM.tag
5493
web2py.gluon.html.EMBED.tag
5494
web2py.gluon.html.FIELDSET.tag
5495
web2py.gluon.html.FORM.tag
5496
web2py.gluon.html.H1.tag
5497
web2py.gluon.html.H2.tag
5498
web2py.gluon.html.H3.tag
5499
web2py.gluon.html.H4.tag
5500
web2py.gluon.html.H5.tag
5501
web2py.gluon.html.H6.tag
5502
web2py.gluon.html.HEAD.tag
5503
web2py.gluon.html.HR.tag
5504
web2py.gluon.html.HTML.tag
5505
web2py.gluon.html.I.tag
5506
web2py.gluon.html.IFRAME.tag
5507
web2py.gluon.html.IMG.tag
5508
web2py.gluon.html.INPUT.tag
5509
web2py.gluon.html.LABEL.tag
5510
web2py.gluon.html.LEGEND.tag
5511
web2py.gluon.html.LI.tag
5512
web2py.gluon.html.LINK.tag
5513
web2py.gluon.html.MENU.tag
5514
web2py.gluon.html.META.tag
5515
web2py.gluon.html.OBJECT.tag
5516
web2py.gluon.html.OL.tag
5517
web2py.gluon.html.OPTGROUP.tag
5518
web2py.gluon.html.OPTION.tag
5519
web2py.gluon.html.P.tag
5520
web2py.gluon.html.PRE.tag
5521
web2py.gluon.html.SCRIPT.tag
5522
web2py.gluon.html.SELECT.tag
5523
web2py.gluon.html.SPAN.tag
5524
web2py.gluon.html.STYLE.tag
5525
web2py.gluon.html.TABLE.tag
5526
web2py.gluon.html.TBODY.tag
5527
web2py.gluon.html.TD.tag
5528
web2py.gluon.html.TEXTAREA.tag
5529
web2py.gluon.html.TFOOT.tag
5530
web2py.gluon.html.TH.tag
5531
web2py.gluon.html.THEAD.tag
5532
web2py.gluon.html.TITLE.tag
5533
web2py.gluon.html.TR.tag
5534
web2py.gluon.html.TT.tag
5535
web2py.gluon.html.UL.tag
5536
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-323', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'iframe'</tt> </tt>
5537
</div><a name="L1504"></a><tt class="py-lineno">1504</tt> <tt class="py-line"> </tt>
5538
<a name="L1505"></a><tt class="py-lineno">1505</tt> <tt class="py-line"> </tt>
5539
<a name="INPUT"></a><div id="INPUT-def"><a name="L1506"></a><tt class="py-lineno">1506</tt> <a class="py-toggle" href="#" id="INPUT-toggle" onclick="return toggle('INPUT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.INPUT-class.html">INPUT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5540
</div><div id="INPUT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="INPUT-expanded"><a name="L1507"></a><tt class="py-lineno">1507</tt> <tt class="py-line"> </tt>
5541
<a name="L1508"></a><tt class="py-lineno">1508</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
5542
<a name="L1509"></a><tt class="py-lineno">1509</tt> <tt class="py-line"><tt class="py-docstring"> INPUT Component</tt> </tt>
5543
<a name="L1510"></a><tt class="py-lineno">1510</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5544
<a name="L1511"></a><tt class="py-lineno">1511</tt> <tt class="py-line"><tt class="py-docstring"> examples::</tt> </tt>
5545
<a name="L1512"></a><tt class="py-lineno">1512</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5546
<a name="L1513"></a><tt class="py-lineno">1513</tt> <tt class="py-line"><tt class="py-docstring"> >>> INPUT(_type='text', _name='name', value='Max').xml()</tt> </tt>
5547
<a name="L1514"></a><tt class="py-lineno">1514</tt> <tt class="py-line"><tt class="py-docstring"> '<input name=\"name\" type=\"text\" value=\"Max\" />'</tt> </tt>
5548
<a name="L1515"></a><tt class="py-lineno">1515</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5549
<a name="L1516"></a><tt class="py-lineno">1516</tt> <tt class="py-line"><tt class="py-docstring"> >>> INPUT(_type='checkbox', _name='checkbox', value='on').xml()</tt> </tt>
5550
<a name="L1517"></a><tt class="py-lineno">1517</tt> <tt class="py-line"><tt class="py-docstring"> '<input checked=\"checked\" name=\"checkbox\" type=\"checkbox\" value=\"on\" />'</tt> </tt>
5551
<a name="L1518"></a><tt class="py-lineno">1518</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5552
<a name="L1519"></a><tt class="py-lineno">1519</tt> <tt class="py-line"><tt class="py-docstring"> >>> INPUT(_type='radio', _name='radio', _value='yes', value='yes').xml()</tt> </tt>
5553
<a name="L1520"></a><tt class="py-lineno">1520</tt> <tt class="py-line"><tt class="py-docstring"> '<input checked=\"checked\" name=\"radio\" type=\"radio\" value=\"yes\" />'</tt> </tt>
5554
<a name="L1521"></a><tt class="py-lineno">1521</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5555
<a name="L1522"></a><tt class="py-lineno">1522</tt> <tt class="py-line"><tt class="py-docstring"> >>> INPUT(_type='radio', _name='radio', _value='no', value='yes').xml()</tt> </tt>
5556
<a name="L1523"></a><tt class="py-lineno">1523</tt> <tt class="py-line"><tt class="py-docstring"> '<input name=\"radio\" type=\"radio\" value=\"no\" />'</tt> </tt>
5557
<a name="L1524"></a><tt class="py-lineno">1524</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5558
<a name="L1525"></a><tt class="py-lineno">1525</tt> <tt class="py-line"><tt class="py-docstring"> the input helper takes two special attributes value= and requires=.</tt> </tt>
5559
<a name="L1526"></a><tt class="py-lineno">1526</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5560
<a name="L1527"></a><tt class="py-lineno">1527</tt> <tt class="py-line"><tt class="py-docstring"> :param value: used to pass the initial value for the input field.</tt> </tt>
5561
<a name="L1528"></a><tt class="py-lineno">1528</tt> <tt class="py-line"><tt class="py-docstring"> value differs from _value because it works for checkboxes, radio,</tt> </tt>
5562
<a name="L1529"></a><tt class="py-lineno">1529</tt> <tt class="py-line"><tt class="py-docstring"> textarea and select/option too.</tt> </tt>
5563
<a name="L1530"></a><tt class="py-lineno">1530</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5564
<a name="L1531"></a><tt class="py-lineno">1531</tt> <tt class="py-line"><tt class="py-docstring"> - for a checkbox value should be '' or 'on'.</tt> </tt>
5565
<a name="L1532"></a><tt class="py-lineno">1532</tt> <tt class="py-line"><tt class="py-docstring"> - for a radio or select/option value should be the _value</tt> </tt>
5566
<a name="L1533"></a><tt class="py-lineno">1533</tt> <tt class="py-line"><tt class="py-docstring"> of the checked/selected item.</tt> </tt>
5567
<a name="L1534"></a><tt class="py-lineno">1534</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5568
<a name="L1535"></a><tt class="py-lineno">1535</tt> <tt class="py-line"><tt class="py-docstring"> :param requires: should be None, or a validator or a list of validators</tt> </tt>
5569
<a name="L1536"></a><tt class="py-lineno">1536</tt> <tt class="py-line"><tt class="py-docstring"> for the value of the field.</tt> </tt>
5570
<a name="L1537"></a><tt class="py-lineno">1537</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
5571
<a name="L1538"></a><tt class="py-lineno">1538</tt> <tt class="py-line"> </tt>
5572
<a name="L1539"></a><tt class="py-lineno">1539</tt> <tt class="py-line"> <tt id="link-324" class="py-name"><a title="web2py.gluon.html.A.tag
5573
web2py.gluon.html.B.tag
5574
web2py.gluon.html.BEAUTIFY.tag
5575
web2py.gluon.html.BODY.tag
5576
web2py.gluon.html.BR.tag
5577
web2py.gluon.html.BUTTON.tag
5578
web2py.gluon.html.CAT.tag
5579
web2py.gluon.html.CENTER.tag
5580
web2py.gluon.html.COL.tag
5581
web2py.gluon.html.COLGROUP.tag
5582
web2py.gluon.html.DIV.tag
5583
web2py.gluon.html.EM.tag
5584
web2py.gluon.html.EMBED.tag
5585
web2py.gluon.html.FIELDSET.tag
5586
web2py.gluon.html.FORM.tag
5587
web2py.gluon.html.H1.tag
5588
web2py.gluon.html.H2.tag
5589
web2py.gluon.html.H3.tag
5590
web2py.gluon.html.H4.tag
5591
web2py.gluon.html.H5.tag
5592
web2py.gluon.html.H6.tag
5593
web2py.gluon.html.HEAD.tag
5594
web2py.gluon.html.HR.tag
5595
web2py.gluon.html.HTML.tag
5596
web2py.gluon.html.I.tag
5597
web2py.gluon.html.IFRAME.tag
5598
web2py.gluon.html.IMG.tag
5599
web2py.gluon.html.INPUT.tag
5600
web2py.gluon.html.LABEL.tag
5601
web2py.gluon.html.LEGEND.tag
5602
web2py.gluon.html.LI.tag
5603
web2py.gluon.html.LINK.tag
5604
web2py.gluon.html.MENU.tag
5605
web2py.gluon.html.META.tag
5606
web2py.gluon.html.OBJECT.tag
5607
web2py.gluon.html.OL.tag
5608
web2py.gluon.html.OPTGROUP.tag
5609
web2py.gluon.html.OPTION.tag
5610
web2py.gluon.html.P.tag
5611
web2py.gluon.html.PRE.tag
5612
web2py.gluon.html.SCRIPT.tag
5613
web2py.gluon.html.SELECT.tag
5614
web2py.gluon.html.SPAN.tag
5615
web2py.gluon.html.STYLE.tag
5616
web2py.gluon.html.TABLE.tag
5617
web2py.gluon.html.TBODY.tag
5618
web2py.gluon.html.TD.tag
5619
web2py.gluon.html.TEXTAREA.tag
5620
web2py.gluon.html.TFOOT.tag
5621
web2py.gluon.html.TH.tag
5622
web2py.gluon.html.THEAD.tag
5623
web2py.gluon.html.TITLE.tag
5624
web2py.gluon.html.TR.tag
5625
web2py.gluon.html.TT.tag
5626
web2py.gluon.html.UL.tag
5627
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-324', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'input/'</tt> </tt>
5628
<a name="L1540"></a><tt class="py-lineno">1540</tt> <tt class="py-line"> </tt>
5629
<a name="INPUT._validate"></a><div id="INPUT._validate-def"><a name="L1541"></a><tt class="py-lineno">1541</tt> <a class="py-toggle" href="#" id="INPUT._validate-toggle" onclick="return toggle('INPUT._validate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.INPUT-class.html#_validate">_validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5630
</div><div id="INPUT._validate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT._validate-expanded"><a name="L1542"></a><tt class="py-lineno">1542</tt> <tt class="py-line"> </tt>
5631
<a name="L1543"></a><tt class="py-lineno">1543</tt> <tt class="py-line"> <tt class="py-comment"># # this only changes value, not _value</tt> </tt>
5632
<a name="L1544"></a><tt class="py-lineno">1544</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
5633
<a name="L1545"></a><tt class="py-lineno">1545</tt> <tt class="py-line"> <tt id="link-325" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-325', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_name'</tt><tt class="py-op">]</tt> </tt>
5634
<a name="L1546"></a><tt class="py-lineno">1546</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-326" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-326', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt id="link-327" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-327', 'name', 'link-74');">name</a></tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
5635
<a name="L1547"></a><tt class="py-lineno">1547</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
5636
<a name="L1548"></a><tt class="py-lineno">1548</tt> <tt class="py-line"> <tt id="link-328" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-328', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-329" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-329', 'name', 'link-74');">name</a></tt><tt class="py-op">)</tt> </tt>
5637
<a name="L1549"></a><tt class="py-lineno">1549</tt> <tt class="py-line"> </tt>
5638
<a name="L1550"></a><tt class="py-lineno">1550</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_type'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'checkbox'</tt><tt class="py-op">:</tt> </tt>
5639
<a name="L1551"></a><tt class="py-lineno">1551</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
5640
<a name="L1552"></a><tt class="py-lineno">1552</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-330', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt id="link-331" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-331', 'name', 'link-74');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
5641
<a name="L1553"></a><tt class="py-lineno">1553</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
5642
<a name="L1554"></a><tt class="py-lineno">1554</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5643
<a name="L1555"></a><tt class="py-lineno">1555</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-name">False</tt> </tt>
5644
<a name="L1556"></a><tt class="py-lineno">1556</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-332', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt id="link-333" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-333', 'name', 'link-74');">name</a></tt><tt class="py-op">)</tt> </tt>
5645
<a name="L1557"></a><tt class="py-lineno">1557</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">tuple</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5646
<a name="L1558"></a><tt class="py-lineno">1558</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt> </tt>
5647
<a name="L1559"></a><tt class="py-lineno">1559</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5648
<a name="L1560"></a><tt class="py-lineno">1560</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">value</tt> </tt>
5649
<a name="L1561"></a><tt class="py-lineno">1561</tt> <tt class="py-line"> <tt id="link-334" class="py-name" targets="Method web2py.gluon.tools.Auth.requires()=web2py.gluon.tools.Auth-class.html#requires"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-334', 'requires', 'link-334');">requires</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'requires'</tt><tt class="py-op">]</tt> </tt>
5650
<a name="L1562"></a><tt class="py-lineno">1562</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-335" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-335', 'requires', 'link-334');">requires</a></tt><tt class="py-op">:</tt> </tt>
5651
<a name="L1563"></a><tt class="py-lineno">1563</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-336" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-336', 'requires', 'link-334');">requires</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5652
<a name="L1564"></a><tt class="py-lineno">1564</tt> <tt class="py-line"> <tt id="link-337" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-337', 'requires', 'link-334');">requires</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-338" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-338', 'requires', 'link-334');">requires</a></tt><tt class="py-op">]</tt> </tt>
5653
<a name="L1565"></a><tt class="py-lineno">1565</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">validator</tt> <tt class="py-keyword">in</tt> <tt id="link-339" class="py-name"><a title="web2py.gluon.tools.Auth.requires" class="py-name" href="#" onclick="return doclink('link-339', 'requires', 'link-334');">requires</a></tt><tt class="py-op">:</tt> </tt>
5654
<a name="L1566"></a><tt class="py-lineno">1566</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">errors</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">validator</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
5655
<a name="L1567"></a><tt class="py-lineno">1567</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">errors</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
5656
<a name="L1568"></a><tt class="py-lineno">1568</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt id="link-340" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-340', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
5657
<a name="L1569"></a><tt class="py-lineno">1569</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">[</tt><tt id="link-341" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-341', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">errors</tt> </tt>
5658
<a name="L1570"></a><tt class="py-lineno">1570</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
5659
<a name="L1571"></a><tt class="py-lineno">1571</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-342" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-342', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">:</tt> </tt>
5660
<a name="L1572"></a><tt class="py-lineno">1572</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt id="link-343" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-343', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
5661
<a name="L1573"></a><tt class="py-lineno">1573</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
5662
<a name="L1574"></a><tt class="py-lineno">1574</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
5663
</div><a name="L1575"></a><tt class="py-lineno">1575</tt> <tt class="py-line"> </tt>
5664
<a name="INPUT._postprocessing"></a><div id="INPUT._postprocessing-def"><a name="L1576"></a><tt class="py-lineno">1576</tt> <a class="py-toggle" href="#" id="INPUT._postprocessing-toggle" onclick="return toggle('INPUT._postprocessing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.INPUT-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5665
</div><div id="INPUT._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT._postprocessing-expanded"><a name="L1577"></a><tt class="py-lineno">1577</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_type'</tt><tt class="py-op">]</tt> </tt>
5666
<a name="L1578"></a><tt class="py-lineno">1578</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">t</tt><tt class="py-op">:</tt> </tt>
5667
<a name="L1579"></a><tt class="py-lineno">1579</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'text'</tt> </tt>
5668
<a name="L1580"></a><tt class="py-lineno">1580</tt> <tt class="py-line"> <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-344" class="py-name" targets="Method web2py.gluon.dal.Expression.lower()=web2py.gluon.dal.Expression-class.html#lower"><a title="web2py.gluon.dal.Expression.lower" class="py-name" href="#" onclick="return doclink('link-344', 'lower', 'link-344');">lower</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
5669
<a name="L1581"></a><tt class="py-lineno">1581</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
5670
<a name="L1582"></a><tt class="py-lineno">1582</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
5671
<a name="L1583"></a><tt class="py-lineno">1583</tt> <tt class="py-line"> <tt class="py-name">_value</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
5672
<a name="L1584"></a><tt class="py-lineno">1584</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5673
<a name="L1585"></a><tt class="py-lineno">1585</tt> <tt class="py-line"> <tt class="py-name">_value</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
5674
<a name="L1586"></a><tt class="py-lineno">1586</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'checkbox'</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'_checked'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
5675
<a name="L1587"></a><tt class="py-lineno">1587</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">_value</tt><tt class="py-op">:</tt> </tt>
5676
<a name="L1588"></a><tt class="py-lineno">1588</tt> <tt class="py-line"> <tt class="py-name">_value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'on'</tt> </tt>
5677
<a name="L1589"></a><tt class="py-lineno">1589</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
5678
<a name="L1590"></a><tt class="py-lineno">1590</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
5679
<a name="L1591"></a><tt class="py-lineno">1591</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
5680
<a name="L1592"></a><tt class="py-lineno">1592</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">_value</tt><tt class="py-op">]</tt> </tt>
5681
<a name="L1593"></a><tt class="py-lineno">1593</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt><tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5682
<a name="L1594"></a><tt class="py-lineno">1594</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'|'</tt><tt class="py-op">)</tt> </tt>
5683
<a name="L1595"></a><tt class="py-lineno">1595</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">_value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'checked'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">None</tt> </tt>
5684
<a name="L1596"></a><tt class="py-lineno">1596</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'radio'</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'_checked'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
5685
<a name="L1597"></a><tt class="py-lineno">1597</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5686
<a name="L1598"></a><tt class="py-lineno">1598</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'checked'</tt> </tt>
5687
<a name="L1599"></a><tt class="py-lineno">1599</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5688
<a name="L1600"></a><tt class="py-lineno">1600</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
5689
<a name="L1601"></a><tt class="py-lineno">1601</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'text'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'hidden'</tt><tt class="py-op">:</tt> </tt>
5690
<a name="L1602"></a><tt class="py-lineno">1602</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
5691
<a name="L1603"></a><tt class="py-lineno">1603</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">_value</tt> </tt>
5692
<a name="L1604"></a><tt class="py-lineno">1604</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5693
<a name="L1605"></a><tt class="py-lineno">1605</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
5694
</div><a name="L1606"></a><tt class="py-lineno">1606</tt> <tt class="py-line"> </tt>
5695
<a name="INPUT.xml"></a><div id="INPUT.xml-def"><a name="L1607"></a><tt class="py-lineno">1607</tt> <a class="py-toggle" href="#" id="INPUT.xml-toggle" onclick="return toggle('INPUT.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.INPUT-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5696
</div><div id="INPUT.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT.xml-expanded"><a name="L1608"></a><tt class="py-lineno">1608</tt> <tt class="py-line"> <tt id="link-345" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-345', 'name', 'link-74');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-346', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_name'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
5697
<a name="L1609"></a><tt class="py-lineno">1609</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-347" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-347', 'name', 'link-74');">name</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'errors'</tt><tt class="py-op">)</tt> \ </tt>
5698
<a name="L1610"></a><tt class="py-lineno">1610</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-348', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt id="link-349" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-349', 'name', 'link-74');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> \ </tt>
5699
<a name="L1611"></a><tt class="py-lineno">1611</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'hideerror'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
5700
<a name="L1612"></a><tt class="py-lineno">1612</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-350" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
5701
web2py.gluon.dal.NoSQLAdapter.DIV
5702
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-350', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="web2py.gluon.dal.Rows.xml
5703
web2py.gluon.html.A.xml
5704
web2py.gluon.html.CODE.xml
5705
web2py.gluon.html.DIV.xml
5706
web2py.gluon.html.FORM.xml
5707
web2py.gluon.html.HTML.xml
5708
web2py.gluon.html.INPUT.xml
5709
web2py.gluon.html.MARKMIN.xml
5710
web2py.gluon.html.MENU.xml
5711
web2py.gluon.html.P.xml
5712
web2py.gluon.html.SCRIPT.xml
5713
web2py.gluon.html.STYLE.xml
5714
web2py.gluon.html.XHTML.xml
5715
web2py.gluon.html.XML.xml
5716
web2py.gluon.html.XmlComponent.xml
5717
web2py.gluon.languages.lazyT.xml
5718
web2py.gluon.serializers.xml
5719
web2py.gluon.tools.Recaptcha.xml
5720
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-351', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-352" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
5721
web2py.gluon.dal.NoSQLAdapter.DIV
5722
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-352', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">[</tt><tt id="link-353" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-353', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">_class</tt><tt class="py-op">=</tt><tt class="py-string">'error'</tt><tt class="py-op">,</tt> </tt>
5723
<a name="L1613"></a><tt class="py-lineno">1613</tt> <tt class="py-line"> <tt class="py-name">errors</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">_id</tt><tt class="py-op">=</tt><tt class="py-string">'%s__error'</tt> <tt class="py-op">%</tt> <tt id="link-354" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-354', 'name', 'link-74');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="web2py.gluon.dal.Rows.xml
5724
web2py.gluon.html.A.xml
5725
web2py.gluon.html.CODE.xml
5726
web2py.gluon.html.DIV.xml
5727
web2py.gluon.html.FORM.xml
5728
web2py.gluon.html.HTML.xml
5729
web2py.gluon.html.INPUT.xml
5730
web2py.gluon.html.MARKMIN.xml
5731
web2py.gluon.html.MENU.xml
5732
web2py.gluon.html.P.xml
5733
web2py.gluon.html.SCRIPT.xml
5734
web2py.gluon.html.STYLE.xml
5735
web2py.gluon.html.XHTML.xml
5736
web2py.gluon.html.XML.xml
5737
web2py.gluon.html.XmlComponent.xml
5738
web2py.gluon.languages.lazyT.xml
5739
web2py.gluon.serializers.xml
5740
web2py.gluon.tools.Recaptcha.xml
5741
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-355', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
5742
<a name="L1614"></a><tt class="py-lineno">1614</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5743
<a name="L1615"></a><tt class="py-lineno">1615</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-356" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
5744
web2py.gluon.dal.NoSQLAdapter.DIV
5745
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-356', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="web2py.gluon.dal.Rows.xml
5746
web2py.gluon.html.A.xml
5747
web2py.gluon.html.CODE.xml
5748
web2py.gluon.html.DIV.xml
5749
web2py.gluon.html.FORM.xml
5750
web2py.gluon.html.HTML.xml
5751
web2py.gluon.html.INPUT.xml
5752
web2py.gluon.html.MARKMIN.xml
5753
web2py.gluon.html.MENU.xml
5754
web2py.gluon.html.P.xml
5755
web2py.gluon.html.SCRIPT.xml
5756
web2py.gluon.html.STYLE.xml
5757
web2py.gluon.html.XHTML.xml
5758
web2py.gluon.html.XML.xml
5759
web2py.gluon.html.XmlComponent.xml
5760
web2py.gluon.languages.lazyT.xml
5761
web2py.gluon.serializers.xml
5762
web2py.gluon.tools.Recaptcha.xml
5763
web2py.gluon.tools.Service.xml" class="py-name" href="#" onclick="return doclink('link-357', 'xml', 'link-15');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
5764
</div></div><a name="L1616"></a><tt class="py-lineno">1616</tt> <tt class="py-line"> </tt>
5765
<a name="L1617"></a><tt class="py-lineno">1617</tt> <tt class="py-line"> </tt>
5766
<a name="TEXTAREA"></a><div id="TEXTAREA-def"><a name="L1618"></a><tt class="py-lineno">1618</tt> <a class="py-toggle" href="#" id="TEXTAREA-toggle" onclick="return toggle('TEXTAREA');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.TEXTAREA-class.html">TEXTAREA</a><tt class="py-op">(</tt><tt class="py-base-class">INPUT</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5767
</div><div id="TEXTAREA-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TEXTAREA-expanded"><a name="L1619"></a><tt class="py-lineno">1619</tt> <tt class="py-line"> </tt>
5768
<a name="L1620"></a><tt class="py-lineno">1620</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
5769
<a name="L1621"></a><tt class="py-lineno">1621</tt> <tt class="py-line"><tt class="py-docstring"> example::</tt> </tt>
5770
<a name="L1622"></a><tt class="py-lineno">1622</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5771
<a name="L1623"></a><tt class="py-lineno">1623</tt> <tt class="py-line"><tt class="py-docstring"> TEXTAREA(_name='sometext', value='blah '*100, requires=IS_NOT_EMPTY())</tt> </tt>
5772
<a name="L1624"></a><tt class="py-lineno">1624</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
5773
<a name="L1625"></a><tt class="py-lineno">1625</tt> <tt class="py-line"><tt class="py-docstring"> 'blah blah blah ...' will be the content of the textarea field.</tt> </tt>
5774
<a name="L1626"></a><tt class="py-lineno">1626</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
5775
<a name="L1627"></a><tt class="py-lineno">1627</tt> <tt class="py-line"> </tt>
5776
<a name="L1628"></a><tt class="py-lineno">1628</tt> <tt class="py-line"> <tt id="link-358" class="py-name"><a title="web2py.gluon.html.A.tag
5777
web2py.gluon.html.B.tag
5778
web2py.gluon.html.BEAUTIFY.tag
5779
web2py.gluon.html.BODY.tag
5780
web2py.gluon.html.BR.tag
5781
web2py.gluon.html.BUTTON.tag
5782
web2py.gluon.html.CAT.tag
5783
web2py.gluon.html.CENTER.tag
5784
web2py.gluon.html.COL.tag
5785
web2py.gluon.html.COLGROUP.tag
5786
web2py.gluon.html.DIV.tag
5787
web2py.gluon.html.EM.tag
5788
web2py.gluon.html.EMBED.tag
5789
web2py.gluon.html.FIELDSET.tag
5790
web2py.gluon.html.FORM.tag
5791
web2py.gluon.html.H1.tag
5792
web2py.gluon.html.H2.tag
5793
web2py.gluon.html.H3.tag
5794
web2py.gluon.html.H4.tag
5795
web2py.gluon.html.H5.tag
5796
web2py.gluon.html.H6.tag
5797
web2py.gluon.html.HEAD.tag
5798
web2py.gluon.html.HR.tag
5799
web2py.gluon.html.HTML.tag
5800
web2py.gluon.html.I.tag
5801
web2py.gluon.html.IFRAME.tag
5802
web2py.gluon.html.IMG.tag
5803
web2py.gluon.html.INPUT.tag
5804
web2py.gluon.html.LABEL.tag
5805
web2py.gluon.html.LEGEND.tag
5806
web2py.gluon.html.LI.tag
5807
web2py.gluon.html.LINK.tag
5808
web2py.gluon.html.MENU.tag
5809
web2py.gluon.html.META.tag
5810
web2py.gluon.html.OBJECT.tag
5811
web2py.gluon.html.OL.tag
5812
web2py.gluon.html.OPTGROUP.tag
5813
web2py.gluon.html.OPTION.tag
5814
web2py.gluon.html.P.tag
5815
web2py.gluon.html.PRE.tag
5816
web2py.gluon.html.SCRIPT.tag
5817
web2py.gluon.html.SELECT.tag
5818
web2py.gluon.html.SPAN.tag
5819
web2py.gluon.html.STYLE.tag
5820
web2py.gluon.html.TABLE.tag
5821
web2py.gluon.html.TBODY.tag
5822
web2py.gluon.html.TD.tag
5823
web2py.gluon.html.TEXTAREA.tag
5824
web2py.gluon.html.TFOOT.tag
5825
web2py.gluon.html.TH.tag
5826
web2py.gluon.html.THEAD.tag
5827
web2py.gluon.html.TITLE.tag
5828
web2py.gluon.html.TR.tag
5829
web2py.gluon.html.TT.tag
5830
web2py.gluon.html.UL.tag
5831
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-358', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'textarea'</tt> </tt>
5986
5832
<a name="L1629"></a><tt class="py-lineno">1629</tt> <tt class="py-line"> </tt>
5987
<a name="OPTGROUP._fixup"></a><div id="OPTGROUP._fixup-def"><a name="L1630"></a><tt class="py-lineno">1630</tt> <a class="py-toggle" href="#" id="OPTGROUP._fixup-toggle" onclick="return toggle('OPTGROUP._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.OPTGROUP-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5988
</div><div id="OPTGROUP._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OPTGROUP._fixup-expanded"><a name="L1631"></a><tt class="py-lineno">1631</tt> <tt class="py-line"> <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
5989
<a name="L1632"></a><tt class="py-lineno">1632</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
5990
<a name="L1633"></a><tt class="py-lineno">1633</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-372" class="py-name" targets="Class web2py.gluon.html.OPTION=web2py.gluon.html.OPTION-class.html"><a title="web2py.gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-372', 'OPTION', 'link-372');">OPTION</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5991
<a name="L1634"></a><tt class="py-lineno">1634</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="web2py.gluon.html.DIV.append
5992
web2py.gluon.template.BlockNode.append
5993
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-373', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
5994
<a name="L1635"></a><tt class="py-lineno">1635</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
5995
<a name="L1636"></a><tt class="py-lineno">1636</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="web2py.gluon.html.DIV.append
5996
web2py.gluon.template.BlockNode.append
5997
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-374', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt id="link-375" class="py-name"><a title="web2py.gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-375', 'OPTION', 'link-372');">OPTION</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">_value</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
5998
<a name="L1637"></a><tt class="py-lineno">1637</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
5999
</div></div><a name="L1638"></a><tt class="py-lineno">1638</tt> <tt class="py-line"> </tt>
6000
<a name="L1639"></a><tt class="py-lineno">1639</tt> <tt class="py-line"> </tt>
6001
<a name="SELECT"></a><div id="SELECT-def"><a name="L1640"></a><tt class="py-lineno">1640</tt> <a class="py-toggle" href="#" id="SELECT-toggle" onclick="return toggle('SELECT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.SELECT-class.html">SELECT</a><tt class="py-op">(</tt><tt class="py-base-class">INPUT</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6002
</div><div id="SELECT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SELECT-expanded"><a name="L1641"></a><tt class="py-lineno">1641</tt> <tt class="py-line"> </tt>
6003
<a name="L1642"></a><tt class="py-lineno">1642</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
6004
<a name="L1643"></a><tt class="py-lineno">1643</tt> <tt class="py-line"><tt class="py-docstring"> example::</tt> </tt>
6005
<a name="L1644"></a><tt class="py-lineno">1644</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6006
<a name="L1645"></a><tt class="py-lineno">1645</tt> <tt class="py-line"><tt class="py-docstring"> >>> from validators import IS_IN_SET</tt> </tt>
6007
<a name="L1646"></a><tt class="py-lineno">1646</tt> <tt class="py-line"><tt class="py-docstring"> >>> SELECT('yes', 'no', _name='selector', value='yes',</tt> </tt>
6008
<a name="L1647"></a><tt class="py-lineno">1647</tt> <tt class="py-line"><tt class="py-docstring"> ... requires=IS_IN_SET(['yes', 'no'])).xml()</tt> </tt>
6009
<a name="L1648"></a><tt class="py-lineno">1648</tt> <tt class="py-line"><tt class="py-docstring"> '<select name=\"selector\"><option selected=\"selected\" value=\"yes\">yes</option><option value=\"no\">no</option></select>'</tt> </tt>
6010
<a name="L1649"></a><tt class="py-lineno">1649</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6011
<a name="L1650"></a><tt class="py-lineno">1650</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
6012
<a name="L1651"></a><tt class="py-lineno">1651</tt> <tt class="py-line"> </tt>
6013
<a name="L1652"></a><tt class="py-lineno">1652</tt> <tt class="py-line"> <tt id="link-376" class="py-name"><a title="web2py.gluon.html.A.tag
6014
web2py.gluon.html.B.tag
6015
web2py.gluon.html.BEAUTIFY.tag
6016
web2py.gluon.html.BODY.tag
6017
web2py.gluon.html.BR.tag
6018
web2py.gluon.html.BUTTON.tag
6019
web2py.gluon.html.CAT.tag
6020
web2py.gluon.html.CENTER.tag
6021
web2py.gluon.html.COL.tag
6022
web2py.gluon.html.COLGROUP.tag
6023
web2py.gluon.html.DIV.tag
6024
web2py.gluon.html.EM.tag
6025
web2py.gluon.html.EMBED.tag
6026
web2py.gluon.html.FIELDSET.tag
6027
web2py.gluon.html.FORM.tag
6028
web2py.gluon.html.H1.tag
6029
web2py.gluon.html.H2.tag
6030
web2py.gluon.html.H3.tag
6031
web2py.gluon.html.H4.tag
6032
web2py.gluon.html.H5.tag
6033
web2py.gluon.html.H6.tag
6034
web2py.gluon.html.HEAD.tag
6035
web2py.gluon.html.HR.tag
6036
web2py.gluon.html.HTML.tag
6037
web2py.gluon.html.I.tag
6038
web2py.gluon.html.IFRAME.tag
6039
web2py.gluon.html.IMG.tag
6040
web2py.gluon.html.INPUT.tag
6041
web2py.gluon.html.LABEL.tag
6042
web2py.gluon.html.LEGEND.tag
6043
web2py.gluon.html.LI.tag
6044
web2py.gluon.html.LINK.tag
6045
web2py.gluon.html.MENU.tag
6046
web2py.gluon.html.META.tag
6047
web2py.gluon.html.OBJECT.tag
6048
web2py.gluon.html.OL.tag
6049
web2py.gluon.html.OPTGROUP.tag
6050
web2py.gluon.html.OPTION.tag
6051
web2py.gluon.html.P.tag
6052
web2py.gluon.html.PRE.tag
6053
web2py.gluon.html.SCRIPT.tag
6054
web2py.gluon.html.SELECT.tag
6055
web2py.gluon.html.SPAN.tag
6056
web2py.gluon.html.STYLE.tag
6057
web2py.gluon.html.TABLE.tag
6058
web2py.gluon.html.TBODY.tag
6059
web2py.gluon.html.TD.tag
6060
web2py.gluon.html.TEXTAREA.tag
6061
web2py.gluon.html.TFOOT.tag
6062
web2py.gluon.html.TH.tag
6063
web2py.gluon.html.THEAD.tag
6064
web2py.gluon.html.TITLE.tag
6065
web2py.gluon.html.TR.tag
6066
web2py.gluon.html.TT.tag
6067
web2py.gluon.html.UL.tag
6068
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-376', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'select'</tt> </tt>
6069
<a name="L1653"></a><tt class="py-lineno">1653</tt> <tt class="py-line"> </tt>
6070
<a name="SELECT._fixup"></a><div id="SELECT._fixup-def"><a name="L1654"></a><tt class="py-lineno">1654</tt> <a class="py-toggle" href="#" id="SELECT._fixup-toggle" onclick="return toggle('SELECT._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.SELECT-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6071
</div><div id="SELECT._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SELECT._fixup-expanded"><a name="L1655"></a><tt class="py-lineno">1655</tt> <tt class="py-line"> <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
6072
<a name="L1656"></a><tt class="py-lineno">1656</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
6073
<a name="L1657"></a><tt class="py-lineno">1657</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-377" class="py-name"><a title="web2py.gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-377', 'OPTION', 'link-372');">OPTION</a></tt><tt class="py-op">,</tt> <tt id="link-378" class="py-name" targets="Class web2py.gluon.html.OPTGROUP=web2py.gluon.html.OPTGROUP-class.html"><a title="web2py.gluon.html.OPTGROUP" class="py-name" href="#" onclick="return doclink('link-378', 'OPTGROUP', 'link-378');">OPTGROUP</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6074
<a name="L1658"></a><tt class="py-lineno">1658</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="web2py.gluon.html.DIV.append
6075
web2py.gluon.template.BlockNode.append
6076
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-379', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
6077
<a name="L1659"></a><tt class="py-lineno">1659</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6078
<a name="L1660"></a><tt class="py-lineno">1660</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="web2py.gluon.html.DIV.append
6079
web2py.gluon.template.BlockNode.append
6080
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-380', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt id="link-381" class="py-name"><a title="web2py.gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-381', 'OPTION', 'link-372');">OPTION</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">_value</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
6081
<a name="L1661"></a><tt class="py-lineno">1661</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
6082
</div><a name="L1662"></a><tt class="py-lineno">1662</tt> <tt class="py-line"> </tt>
6083
<a name="SELECT._postprocessing"></a><div id="SELECT._postprocessing-def"><a name="L1663"></a><tt class="py-lineno">1663</tt> <a class="py-toggle" href="#" id="SELECT._postprocessing-toggle" onclick="return toggle('SELECT._postprocessing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.SELECT-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6084
</div><div id="SELECT._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SELECT._postprocessing-expanded"><a name="L1664"></a><tt class="py-lineno">1664</tt> <tt class="py-line"> <tt class="py-name">component_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
6085
<a name="L1665"></a><tt class="py-lineno">1665</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
6086
<a name="L1666"></a><tt class="py-lineno">1666</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-382" class="py-name"><a title="web2py.gluon.html.OPTGROUP" class="py-name" href="#" onclick="return doclink('link-382', 'OPTGROUP', 'link-378');">OPTGROUP</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6087
<a name="L1667"></a><tt class="py-lineno">1667</tt> <tt class="py-line"> <tt class="py-name">component_list</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="web2py.gluon.html.DIV.append
6088
web2py.gluon.template.BlockNode.append
6089
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-383', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
6090
<a name="L1668"></a><tt class="py-lineno">1668</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6091
<a name="L1669"></a><tt class="py-lineno">1669</tt> <tt class="py-line"> <tt class="py-name">component_list</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="web2py.gluon.html.DIV.append
6092
web2py.gluon.template.BlockNode.append
6093
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-384', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
6094
<a name="L1670"></a><tt class="py-lineno">1670</tt> <tt class="py-line"> <tt id="link-385" class="py-name" targets="Method web2py.gluon.validators.IS_IN_DB.options()=web2py.gluon.validators.IS_IN_DB-class.html#options,Method web2py.gluon.validators.IS_IN_SET.options()=web2py.gluon.validators.IS_IN_SET-class.html#options"><a title="web2py.gluon.validators.IS_IN_DB.options
6095
web2py.gluon.validators.IS_IN_SET.options" class="py-name" href="#" onclick="return doclink('link-385', 'options', 'link-385');">options</a></tt> <tt class="py-op">=</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">chain</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">component_list</tt><tt class="py-op">)</tt> </tt>
6096
<a name="L1671"></a><tt class="py-lineno">1671</tt> <tt class="py-line"> </tt>
6097
<a name="L1672"></a><tt class="py-lineno">1672</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
6098
<a name="L1673"></a><tt class="py-lineno">1673</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
6099
<a name="L1674"></a><tt class="py-lineno">1674</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_multiple'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
6100
<a name="L1675"></a><tt class="py-lineno">1675</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-386" class="py-name"><a title="web2py.gluon.validators.IS_IN_DB.options
6101
web2py.gluon.validators.IS_IN_SET.options" class="py-name" href="#" onclick="return doclink('link-386', 'options', 'link-385');">options</a></tt><tt class="py-op">:</tt> <tt class="py-comment"># my patch</tt> </tt>
6102
<a name="L1676"></a><tt class="py-lineno">1676</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6103
<a name="L1677"></a><tt class="py-lineno">1677</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'selected'</tt> </tt>
6104
<a name="L1678"></a><tt class="py-lineno">1678</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6105
<a name="L1679"></a><tt class="py-lineno">1679</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
6106
<a name="L1680"></a><tt class="py-lineno">1680</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6107
<a name="L1681"></a><tt class="py-lineno">1681</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt><tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6108
<a name="L1682"></a><tt class="py-lineno">1682</tt> <tt class="py-line"> <tt id="link-387" class="py-name" targets="Method web2py.gluon.rocket.Headers.values()=web2py.gluon.rocket.Headers-class.html#values"><a title="web2py.gluon.rocket.Headers.values" class="py-name" href="#" onclick="return doclink('link-387', 'values', 'link-387');">values</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">]</tt> </tt>
6109
<a name="L1683"></a><tt class="py-lineno">1683</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6110
<a name="L1684"></a><tt class="py-lineno">1684</tt> <tt class="py-line"> <tt id="link-388" class="py-name"><a title="web2py.gluon.rocket.Headers.values" class="py-name" href="#" onclick="return doclink('link-388', 'values', 'link-387');">values</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
6111
<a name="L1685"></a><tt class="py-lineno">1685</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-389" class="py-name"><a title="web2py.gluon.validators.IS_IN_DB.options
6112
web2py.gluon.validators.IS_IN_SET.options" class="py-name" href="#" onclick="return doclink('link-389', 'options', 'link-385');">options</a></tt><tt class="py-op">:</tt> <tt class="py-comment"># my patch</tt> </tt>
6113
<a name="L1686"></a><tt class="py-lineno">1686</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt id="link-390" class="py-name"><a title="web2py.gluon.rocket.Headers.values" class="py-name" href="#" onclick="return doclink('link-390', 'values', 'link-387');">values</a></tt><tt class="py-op">:</tt> </tt>
6114
<a name="L1687"></a><tt class="py-lineno">1687</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'selected'</tt> </tt>
6115
<a name="L1688"></a><tt class="py-lineno">1688</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6116
<a name="L1689"></a><tt class="py-lineno">1689</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
6117
</div></div><a name="L1690"></a><tt class="py-lineno">1690</tt> <tt class="py-line"> </tt>
6118
<a name="L1691"></a><tt class="py-lineno">1691</tt> <tt class="py-line"> </tt>
6119
<a name="FIELDSET"></a><div id="FIELDSET-def"><a name="L1692"></a><tt class="py-lineno">1692</tt> <a class="py-toggle" href="#" id="FIELDSET-toggle" onclick="return toggle('FIELDSET');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.FIELDSET-class.html">FIELDSET</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6120
</div><div id="FIELDSET-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="FIELDSET-expanded"><a name="L1693"></a><tt class="py-lineno">1693</tt> <tt class="py-line"> </tt>
6121
<a name="L1694"></a><tt class="py-lineno">1694</tt> <tt class="py-line"> <tt id="link-391" class="py-name"><a title="web2py.gluon.html.A.tag
6122
web2py.gluon.html.B.tag
6123
web2py.gluon.html.BEAUTIFY.tag
6124
web2py.gluon.html.BODY.tag
6125
web2py.gluon.html.BR.tag
6126
web2py.gluon.html.BUTTON.tag
6127
web2py.gluon.html.CAT.tag
6128
web2py.gluon.html.CENTER.tag
6129
web2py.gluon.html.COL.tag
6130
web2py.gluon.html.COLGROUP.tag
6131
web2py.gluon.html.DIV.tag
6132
web2py.gluon.html.EM.tag
6133
web2py.gluon.html.EMBED.tag
6134
web2py.gluon.html.FIELDSET.tag
6135
web2py.gluon.html.FORM.tag
6136
web2py.gluon.html.H1.tag
6137
web2py.gluon.html.H2.tag
6138
web2py.gluon.html.H3.tag
6139
web2py.gluon.html.H4.tag
6140
web2py.gluon.html.H5.tag
6141
web2py.gluon.html.H6.tag
6142
web2py.gluon.html.HEAD.tag
6143
web2py.gluon.html.HR.tag
6144
web2py.gluon.html.HTML.tag
6145
web2py.gluon.html.I.tag
6146
web2py.gluon.html.IFRAME.tag
6147
web2py.gluon.html.IMG.tag
6148
web2py.gluon.html.INPUT.tag
6149
web2py.gluon.html.LABEL.tag
6150
web2py.gluon.html.LEGEND.tag
6151
web2py.gluon.html.LI.tag
6152
web2py.gluon.html.LINK.tag
6153
web2py.gluon.html.MENU.tag
6154
web2py.gluon.html.META.tag
6155
web2py.gluon.html.OBJECT.tag
6156
web2py.gluon.html.OL.tag
6157
web2py.gluon.html.OPTGROUP.tag
6158
web2py.gluon.html.OPTION.tag
6159
web2py.gluon.html.P.tag
6160
web2py.gluon.html.PRE.tag
6161
web2py.gluon.html.SCRIPT.tag
6162
web2py.gluon.html.SELECT.tag
6163
web2py.gluon.html.SPAN.tag
6164
web2py.gluon.html.STYLE.tag
6165
web2py.gluon.html.TABLE.tag
6166
web2py.gluon.html.TBODY.tag
6167
web2py.gluon.html.TD.tag
6168
web2py.gluon.html.TEXTAREA.tag
6169
web2py.gluon.html.TFOOT.tag
6170
web2py.gluon.html.TH.tag
6171
web2py.gluon.html.THEAD.tag
6172
web2py.gluon.html.TITLE.tag
6173
web2py.gluon.html.TR.tag
6174
web2py.gluon.html.TT.tag
6175
web2py.gluon.html.UL.tag
6176
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-391', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'fieldset'</tt> </tt>
6177
</div><a name="L1695"></a><tt class="py-lineno">1695</tt> <tt class="py-line"> </tt>
6178
<a name="L1696"></a><tt class="py-lineno">1696</tt> <tt class="py-line"> </tt>
6179
<a name="LEGEND"></a><div id="LEGEND-def"><a name="L1697"></a><tt class="py-lineno">1697</tt> <a class="py-toggle" href="#" id="LEGEND-toggle" onclick="return toggle('LEGEND');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.LEGEND-class.html">LEGEND</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6180
</div><div id="LEGEND-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LEGEND-expanded"><a name="L1698"></a><tt class="py-lineno">1698</tt> <tt class="py-line"> </tt>
6181
<a name="L1699"></a><tt class="py-lineno">1699</tt> <tt class="py-line"> <tt id="link-392" class="py-name"><a title="web2py.gluon.html.A.tag
6182
web2py.gluon.html.B.tag
6183
web2py.gluon.html.BEAUTIFY.tag
6184
web2py.gluon.html.BODY.tag
6185
web2py.gluon.html.BR.tag
6186
web2py.gluon.html.BUTTON.tag
6187
web2py.gluon.html.CAT.tag
6188
web2py.gluon.html.CENTER.tag
6189
web2py.gluon.html.COL.tag
6190
web2py.gluon.html.COLGROUP.tag
6191
web2py.gluon.html.DIV.tag
6192
web2py.gluon.html.EM.tag
6193
web2py.gluon.html.EMBED.tag
6194
web2py.gluon.html.FIELDSET.tag
6195
web2py.gluon.html.FORM.tag
6196
web2py.gluon.html.H1.tag
6197
web2py.gluon.html.H2.tag
6198
web2py.gluon.html.H3.tag
6199
web2py.gluon.html.H4.tag
6200
web2py.gluon.html.H5.tag
6201
web2py.gluon.html.H6.tag
6202
web2py.gluon.html.HEAD.tag
6203
web2py.gluon.html.HR.tag
6204
web2py.gluon.html.HTML.tag
6205
web2py.gluon.html.I.tag
6206
web2py.gluon.html.IFRAME.tag
6207
web2py.gluon.html.IMG.tag
6208
web2py.gluon.html.INPUT.tag
6209
web2py.gluon.html.LABEL.tag
6210
web2py.gluon.html.LEGEND.tag
6211
web2py.gluon.html.LI.tag
6212
web2py.gluon.html.LINK.tag
6213
web2py.gluon.html.MENU.tag
6214
web2py.gluon.html.META.tag
6215
web2py.gluon.html.OBJECT.tag
6216
web2py.gluon.html.OL.tag
6217
web2py.gluon.html.OPTGROUP.tag
6218
web2py.gluon.html.OPTION.tag
6219
web2py.gluon.html.P.tag
6220
web2py.gluon.html.PRE.tag
6221
web2py.gluon.html.SCRIPT.tag
6222
web2py.gluon.html.SELECT.tag
6223
web2py.gluon.html.SPAN.tag
6224
web2py.gluon.html.STYLE.tag
6225
web2py.gluon.html.TABLE.tag
6226
web2py.gluon.html.TBODY.tag
6227
web2py.gluon.html.TD.tag
6228
web2py.gluon.html.TEXTAREA.tag
6229
web2py.gluon.html.TFOOT.tag
6230
web2py.gluon.html.TH.tag
6231
web2py.gluon.html.THEAD.tag
6232
web2py.gluon.html.TITLE.tag
6233
web2py.gluon.html.TR.tag
6234
web2py.gluon.html.TT.tag
6235
web2py.gluon.html.UL.tag
6236
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-392', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'legend'</tt> </tt>
6237
</div><a name="L1700"></a><tt class="py-lineno">1700</tt> <tt class="py-line"> </tt>
6238
<a name="L1701"></a><tt class="py-lineno">1701</tt> <tt class="py-line"> </tt>
6239
<a name="FORM"></a><div id="FORM-def"><a name="L1702"></a><tt class="py-lineno">1702</tt> <a class="py-toggle" href="#" id="FORM-toggle" onclick="return toggle('FORM');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.FORM-class.html">FORM</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6240
</div><div id="FORM-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="FORM-expanded"><a name="L1703"></a><tt class="py-lineno">1703</tt> <tt class="py-line"> </tt>
6241
<a name="L1704"></a><tt class="py-lineno">1704</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
6242
<a name="L1705"></a><tt class="py-lineno">1705</tt> <tt class="py-line"><tt class="py-docstring"> example::</tt> </tt>
6243
<a name="L1706"></a><tt class="py-lineno">1706</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6244
<a name="L1707"></a><tt class="py-lineno">1707</tt> <tt class="py-line"><tt class="py-docstring"> >>> from validators import IS_NOT_EMPTY</tt> </tt>
6245
<a name="L1708"></a><tt class="py-lineno">1708</tt> <tt class="py-line"><tt class="py-docstring"> >>> form=FORM(INPUT(_name=\"test\", requires=IS_NOT_EMPTY()))</tt> </tt>
6246
<a name="L1709"></a><tt class="py-lineno">1709</tt> <tt class="py-line"><tt class="py-docstring"> >>> form.xml()</tt> </tt>
6247
<a name="L1710"></a><tt class="py-lineno">1710</tt> <tt class="py-line"><tt class="py-docstring"> '<form action=\"\" enctype=\"multipart/form-data\" method=\"post\"><input name=\"test\" type=\"text\" /></form>'</tt> </tt>
6248
<a name="L1711"></a><tt class="py-lineno">1711</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6249
<a name="L1712"></a><tt class="py-lineno">1712</tt> <tt class="py-line"><tt class="py-docstring"> a FORM is container for INPUT, TEXTAREA, SELECT and other helpers</tt> </tt>
6250
<a name="L1713"></a><tt class="py-lineno">1713</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6251
<a name="L1714"></a><tt class="py-lineno">1714</tt> <tt class="py-line"><tt class="py-docstring"> form has one important method::</tt> </tt>
6252
<a name="L1715"></a><tt class="py-lineno">1715</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6253
<a name="L1716"></a><tt class="py-lineno">1716</tt> <tt class="py-line"><tt class="py-docstring"> form.accepts(request.vars, session)</tt> </tt>
6254
<a name="L1717"></a><tt class="py-lineno">1717</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6255
<a name="L1718"></a><tt class="py-lineno">1718</tt> <tt class="py-line"><tt class="py-docstring"> if form is accepted (and all validators pass) form.vars contains the</tt> </tt>
6256
<a name="L1719"></a><tt class="py-lineno">1719</tt> <tt class="py-line"><tt class="py-docstring"> accepted vars, otherwise form.errors contains the errors.</tt> </tt>
6257
<a name="L1720"></a><tt class="py-lineno">1720</tt> <tt class="py-line"><tt class="py-docstring"> in case of errors the form is modified to present the errors to the user.</tt> </tt>
6258
<a name="L1721"></a><tt class="py-lineno">1721</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
6259
<a name="L1722"></a><tt class="py-lineno">1722</tt> <tt class="py-line"> </tt>
6260
<a name="L1723"></a><tt class="py-lineno">1723</tt> <tt class="py-line"> <tt id="link-393" class="py-name"><a title="web2py.gluon.html.A.tag
6261
web2py.gluon.html.B.tag
6262
web2py.gluon.html.BEAUTIFY.tag
6263
web2py.gluon.html.BODY.tag
6264
web2py.gluon.html.BR.tag
6265
web2py.gluon.html.BUTTON.tag
6266
web2py.gluon.html.CAT.tag
6267
web2py.gluon.html.CENTER.tag
6268
web2py.gluon.html.COL.tag
6269
web2py.gluon.html.COLGROUP.tag
6270
web2py.gluon.html.DIV.tag
6271
web2py.gluon.html.EM.tag
6272
web2py.gluon.html.EMBED.tag
6273
web2py.gluon.html.FIELDSET.tag
6274
web2py.gluon.html.FORM.tag
6275
web2py.gluon.html.H1.tag
6276
web2py.gluon.html.H2.tag
6277
web2py.gluon.html.H3.tag
6278
web2py.gluon.html.H4.tag
6279
web2py.gluon.html.H5.tag
6280
web2py.gluon.html.H6.tag
6281
web2py.gluon.html.HEAD.tag
6282
web2py.gluon.html.HR.tag
6283
web2py.gluon.html.HTML.tag
6284
web2py.gluon.html.I.tag
6285
web2py.gluon.html.IFRAME.tag
6286
web2py.gluon.html.IMG.tag
6287
web2py.gluon.html.INPUT.tag
6288
web2py.gluon.html.LABEL.tag
6289
web2py.gluon.html.LEGEND.tag
6290
web2py.gluon.html.LI.tag
6291
web2py.gluon.html.LINK.tag
6292
web2py.gluon.html.MENU.tag
6293
web2py.gluon.html.META.tag
6294
web2py.gluon.html.OBJECT.tag
6295
web2py.gluon.html.OL.tag
6296
web2py.gluon.html.OPTGROUP.tag
6297
web2py.gluon.html.OPTION.tag
6298
web2py.gluon.html.P.tag
6299
web2py.gluon.html.PRE.tag
6300
web2py.gluon.html.SCRIPT.tag
6301
web2py.gluon.html.SELECT.tag
6302
web2py.gluon.html.SPAN.tag
6303
web2py.gluon.html.STYLE.tag
6304
web2py.gluon.html.TABLE.tag
6305
web2py.gluon.html.TBODY.tag
6306
web2py.gluon.html.TD.tag
6307
web2py.gluon.html.TEXTAREA.tag
6308
web2py.gluon.html.TFOOT.tag
6309
web2py.gluon.html.TH.tag
6310
web2py.gluon.html.THEAD.tag
6311
web2py.gluon.html.TITLE.tag
6312
web2py.gluon.html.TR.tag
6313
web2py.gluon.html.TT.tag
6314
web2py.gluon.html.UL.tag
6315
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-393', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'form'</tt> </tt>
5833
<a name="TEXTAREA._postprocessing"></a><div id="TEXTAREA._postprocessing-def"><a name="L1630"></a><tt class="py-lineno">1630</tt> <a class="py-toggle" href="#" id="TEXTAREA._postprocessing-toggle" onclick="return toggle('TEXTAREA._postprocessing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.TEXTAREA-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5834
</div><div id="TEXTAREA._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TEXTAREA._postprocessing-expanded"><a name="L1631"></a><tt class="py-lineno">1631</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'_rows'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
5835
<a name="L1632"></a><tt class="py-lineno">1632</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_rows'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt> </tt>
5836
<a name="L1633"></a><tt class="py-lineno">1633</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'_cols'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
5837
<a name="L1634"></a><tt class="py-lineno">1634</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_cols'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">40</tt> </tt>
5838
<a name="L1635"></a><tt class="py-lineno">1635</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
5839
<a name="L1636"></a><tt class="py-lineno">1636</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
5840
<a name="L1637"></a><tt class="py-lineno">1637</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
5841
<a name="L1638"></a><tt class="py-lineno">1638</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
5842
</div></div><a name="L1639"></a><tt class="py-lineno">1639</tt> <tt class="py-line"> </tt>
5843
<a name="L1640"></a><tt class="py-lineno">1640</tt> <tt class="py-line"> </tt>
5844
<a name="OPTION"></a><div id="OPTION-def"><a name="L1641"></a><tt class="py-lineno">1641</tt> <a class="py-toggle" href="#" id="OPTION-toggle" onclick="return toggle('OPTION');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.OPTION-class.html">OPTION</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5845
</div><div id="OPTION-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OPTION-expanded"><a name="L1642"></a><tt class="py-lineno">1642</tt> <tt class="py-line"> </tt>
5846
<a name="L1643"></a><tt class="py-lineno">1643</tt> <tt class="py-line"> <tt id="link-359" class="py-name"><a title="web2py.gluon.html.A.tag
5847
web2py.gluon.html.B.tag
5848
web2py.gluon.html.BEAUTIFY.tag
5849
web2py.gluon.html.BODY.tag
5850
web2py.gluon.html.BR.tag
5851
web2py.gluon.html.BUTTON.tag
5852
web2py.gluon.html.CAT.tag
5853
web2py.gluon.html.CENTER.tag
5854
web2py.gluon.html.COL.tag
5855
web2py.gluon.html.COLGROUP.tag
5856
web2py.gluon.html.DIV.tag
5857
web2py.gluon.html.EM.tag
5858
web2py.gluon.html.EMBED.tag
5859
web2py.gluon.html.FIELDSET.tag
5860
web2py.gluon.html.FORM.tag
5861
web2py.gluon.html.H1.tag
5862
web2py.gluon.html.H2.tag
5863
web2py.gluon.html.H3.tag
5864
web2py.gluon.html.H4.tag
5865
web2py.gluon.html.H5.tag
5866
web2py.gluon.html.H6.tag
5867
web2py.gluon.html.HEAD.tag
5868
web2py.gluon.html.HR.tag
5869
web2py.gluon.html.HTML.tag
5870
web2py.gluon.html.I.tag
5871
web2py.gluon.html.IFRAME.tag
5872
web2py.gluon.html.IMG.tag
5873
web2py.gluon.html.INPUT.tag
5874
web2py.gluon.html.LABEL.tag
5875
web2py.gluon.html.LEGEND.tag
5876
web2py.gluon.html.LI.tag
5877
web2py.gluon.html.LINK.tag
5878
web2py.gluon.html.MENU.tag
5879
web2py.gluon.html.META.tag
5880
web2py.gluon.html.OBJECT.tag
5881
web2py.gluon.html.OL.tag
5882
web2py.gluon.html.OPTGROUP.tag
5883
web2py.gluon.html.OPTION.tag
5884
web2py.gluon.html.P.tag
5885
web2py.gluon.html.PRE.tag
5886
web2py.gluon.html.SCRIPT.tag
5887
web2py.gluon.html.SELECT.tag
5888
web2py.gluon.html.SPAN.tag
5889
web2py.gluon.html.STYLE.tag
5890
web2py.gluon.html.TABLE.tag
5891
web2py.gluon.html.TBODY.tag
5892
web2py.gluon.html.TD.tag
5893
web2py.gluon.html.TEXTAREA.tag
5894
web2py.gluon.html.TFOOT.tag
5895
web2py.gluon.html.TH.tag
5896
web2py.gluon.html.THEAD.tag
5897
web2py.gluon.html.TITLE.tag
5898
web2py.gluon.html.TR.tag
5899
web2py.gluon.html.TT.tag
5900
web2py.gluon.html.UL.tag
5901
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-359', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'option'</tt> </tt>
5902
<a name="L1644"></a><tt class="py-lineno">1644</tt> <tt class="py-line"> </tt>
5903
<a name="OPTION._fixup"></a><div id="OPTION._fixup-def"><a name="L1645"></a><tt class="py-lineno">1645</tt> <a class="py-toggle" href="#" id="OPTION._fixup-toggle" onclick="return toggle('OPTION._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.OPTION-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5904
</div><div id="OPTION._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OPTION._fixup-expanded"><a name="L1646"></a><tt class="py-lineno">1646</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'_value'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
5905
<a name="L1647"></a><tt class="py-lineno">1647</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
5906
</div></div><a name="L1648"></a><tt class="py-lineno">1648</tt> <tt class="py-line"> </tt>
5907
<a name="L1649"></a><tt class="py-lineno">1649</tt> <tt class="py-line"> </tt>
5908
<a name="OBJECT"></a><div id="OBJECT-def"><a name="L1650"></a><tt class="py-lineno">1650</tt> <a class="py-toggle" href="#" id="OBJECT-toggle" onclick="return toggle('OBJECT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.OBJECT-class.html">OBJECT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5909
</div><div id="OBJECT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OBJECT-expanded"><a name="L1651"></a><tt class="py-lineno">1651</tt> <tt class="py-line"> </tt>
5910
<a name="L1652"></a><tt class="py-lineno">1652</tt> <tt class="py-line"> <tt id="link-360" class="py-name"><a title="web2py.gluon.html.A.tag
5911
web2py.gluon.html.B.tag
5912
web2py.gluon.html.BEAUTIFY.tag
5913
web2py.gluon.html.BODY.tag
5914
web2py.gluon.html.BR.tag
5915
web2py.gluon.html.BUTTON.tag
5916
web2py.gluon.html.CAT.tag
5917
web2py.gluon.html.CENTER.tag
5918
web2py.gluon.html.COL.tag
5919
web2py.gluon.html.COLGROUP.tag
5920
web2py.gluon.html.DIV.tag
5921
web2py.gluon.html.EM.tag
5922
web2py.gluon.html.EMBED.tag
5923
web2py.gluon.html.FIELDSET.tag
5924
web2py.gluon.html.FORM.tag
5925
web2py.gluon.html.H1.tag
5926
web2py.gluon.html.H2.tag
5927
web2py.gluon.html.H3.tag
5928
web2py.gluon.html.H4.tag
5929
web2py.gluon.html.H5.tag
5930
web2py.gluon.html.H6.tag
5931
web2py.gluon.html.HEAD.tag
5932
web2py.gluon.html.HR.tag
5933
web2py.gluon.html.HTML.tag
5934
web2py.gluon.html.I.tag
5935
web2py.gluon.html.IFRAME.tag
5936
web2py.gluon.html.IMG.tag
5937
web2py.gluon.html.INPUT.tag
5938
web2py.gluon.html.LABEL.tag
5939
web2py.gluon.html.LEGEND.tag
5940
web2py.gluon.html.LI.tag
5941
web2py.gluon.html.LINK.tag
5942
web2py.gluon.html.MENU.tag
5943
web2py.gluon.html.META.tag
5944
web2py.gluon.html.OBJECT.tag
5945
web2py.gluon.html.OL.tag
5946
web2py.gluon.html.OPTGROUP.tag
5947
web2py.gluon.html.OPTION.tag
5948
web2py.gluon.html.P.tag
5949
web2py.gluon.html.PRE.tag
5950
web2py.gluon.html.SCRIPT.tag
5951
web2py.gluon.html.SELECT.tag
5952
web2py.gluon.html.SPAN.tag
5953
web2py.gluon.html.STYLE.tag
5954
web2py.gluon.html.TABLE.tag
5955
web2py.gluon.html.TBODY.tag
5956
web2py.gluon.html.TD.tag
5957
web2py.gluon.html.TEXTAREA.tag
5958
web2py.gluon.html.TFOOT.tag
5959
web2py.gluon.html.TH.tag
5960
web2py.gluon.html.THEAD.tag
5961
web2py.gluon.html.TITLE.tag
5962
web2py.gluon.html.TR.tag
5963
web2py.gluon.html.TT.tag
5964
web2py.gluon.html.UL.tag
5965
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-360', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'object'</tt> </tt>
5966
</div><a name="L1653"></a><tt class="py-lineno">1653</tt> <tt class="py-line"> </tt>
5967
<a name="OPTGROUP"></a><div id="OPTGROUP-def"><a name="L1654"></a><tt class="py-lineno">1654</tt> <a class="py-toggle" href="#" id="OPTGROUP-toggle" onclick="return toggle('OPTGROUP');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.OPTGROUP-class.html">OPTGROUP</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
5968
</div><div id="OPTGROUP-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OPTGROUP-expanded"><a name="L1655"></a><tt class="py-lineno">1655</tt> <tt class="py-line"> </tt>
5969
<a name="L1656"></a><tt class="py-lineno">1656</tt> <tt class="py-line"> <tt id="link-361" class="py-name"><a title="web2py.gluon.html.A.tag
5970
web2py.gluon.html.B.tag
5971
web2py.gluon.html.BEAUTIFY.tag
5972
web2py.gluon.html.BODY.tag
5973
web2py.gluon.html.BR.tag
5974
web2py.gluon.html.BUTTON.tag
5975
web2py.gluon.html.CAT.tag
5976
web2py.gluon.html.CENTER.tag
5977
web2py.gluon.html.COL.tag
5978
web2py.gluon.html.COLGROUP.tag
5979
web2py.gluon.html.DIV.tag
5980
web2py.gluon.html.EM.tag
5981
web2py.gluon.html.EMBED.tag
5982
web2py.gluon.html.FIELDSET.tag
5983
web2py.gluon.html.FORM.tag
5984
web2py.gluon.html.H1.tag
5985
web2py.gluon.html.H2.tag
5986
web2py.gluon.html.H3.tag
5987
web2py.gluon.html.H4.tag
5988
web2py.gluon.html.H5.tag
5989
web2py.gluon.html.H6.tag
5990
web2py.gluon.html.HEAD.tag
5991
web2py.gluon.html.HR.tag
5992
web2py.gluon.html.HTML.tag
5993
web2py.gluon.html.I.tag
5994
web2py.gluon.html.IFRAME.tag
5995
web2py.gluon.html.IMG.tag
5996
web2py.gluon.html.INPUT.tag
5997
web2py.gluon.html.LABEL.tag
5998
web2py.gluon.html.LEGEND.tag
5999
web2py.gluon.html.LI.tag
6000
web2py.gluon.html.LINK.tag
6001
web2py.gluon.html.MENU.tag
6002
web2py.gluon.html.META.tag
6003
web2py.gluon.html.OBJECT.tag
6004
web2py.gluon.html.OL.tag
6005
web2py.gluon.html.OPTGROUP.tag
6006
web2py.gluon.html.OPTION.tag
6007
web2py.gluon.html.P.tag
6008
web2py.gluon.html.PRE.tag
6009
web2py.gluon.html.SCRIPT.tag
6010
web2py.gluon.html.SELECT.tag
6011
web2py.gluon.html.SPAN.tag
6012
web2py.gluon.html.STYLE.tag
6013
web2py.gluon.html.TABLE.tag
6014
web2py.gluon.html.TBODY.tag
6015
web2py.gluon.html.TD.tag
6016
web2py.gluon.html.TEXTAREA.tag
6017
web2py.gluon.html.TFOOT.tag
6018
web2py.gluon.html.TH.tag
6019
web2py.gluon.html.THEAD.tag
6020
web2py.gluon.html.TITLE.tag
6021
web2py.gluon.html.TR.tag
6022
web2py.gluon.html.TT.tag
6023
web2py.gluon.html.UL.tag
6024
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-361', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'optgroup'</tt> </tt>
6025
<a name="L1657"></a><tt class="py-lineno">1657</tt> <tt class="py-line"> </tt>
6026
<a name="OPTGROUP._fixup"></a><div id="OPTGROUP._fixup-def"><a name="L1658"></a><tt class="py-lineno">1658</tt> <a class="py-toggle" href="#" id="OPTGROUP._fixup-toggle" onclick="return toggle('OPTGROUP._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.OPTGROUP-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6027
</div><div id="OPTGROUP._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OPTGROUP._fixup-expanded"><a name="L1659"></a><tt class="py-lineno">1659</tt> <tt class="py-line"> <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
6028
<a name="L1660"></a><tt class="py-lineno">1660</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
6029
<a name="L1661"></a><tt class="py-lineno">1661</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-362" class="py-name" targets="Class web2py.gluon.html.OPTION=web2py.gluon.html.OPTION-class.html"><a title="web2py.gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-362', 'OPTION', 'link-362');">OPTION</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6030
<a name="L1662"></a><tt class="py-lineno">1662</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-363" class="py-name"><a title="web2py.gluon.html.DIV.append
6031
web2py.gluon.template.BlockNode.append
6032
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-363', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
6033
<a name="L1663"></a><tt class="py-lineno">1663</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6034
<a name="L1664"></a><tt class="py-lineno">1664</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="web2py.gluon.html.DIV.append
6035
web2py.gluon.template.BlockNode.append
6036
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-364', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt id="link-365" class="py-name"><a title="web2py.gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-365', 'OPTION', 'link-362');">OPTION</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">_value</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
6037
<a name="L1665"></a><tt class="py-lineno">1665</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
6038
</div></div><a name="L1666"></a><tt class="py-lineno">1666</tt> <tt class="py-line"> </tt>
6039
<a name="L1667"></a><tt class="py-lineno">1667</tt> <tt class="py-line"> </tt>
6040
<a name="SELECT"></a><div id="SELECT-def"><a name="L1668"></a><tt class="py-lineno">1668</tt> <a class="py-toggle" href="#" id="SELECT-toggle" onclick="return toggle('SELECT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.SELECT-class.html">SELECT</a><tt class="py-op">(</tt><tt class="py-base-class">INPUT</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6041
</div><div id="SELECT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SELECT-expanded"><a name="L1669"></a><tt class="py-lineno">1669</tt> <tt class="py-line"> </tt>
6042
<a name="L1670"></a><tt class="py-lineno">1670</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
6043
<a name="L1671"></a><tt class="py-lineno">1671</tt> <tt class="py-line"><tt class="py-docstring"> example::</tt> </tt>
6044
<a name="L1672"></a><tt class="py-lineno">1672</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6045
<a name="L1673"></a><tt class="py-lineno">1673</tt> <tt class="py-line"><tt class="py-docstring"> >>> from validators import IS_IN_SET</tt> </tt>
6046
<a name="L1674"></a><tt class="py-lineno">1674</tt> <tt class="py-line"><tt class="py-docstring"> >>> SELECT('yes', 'no', _name='selector', value='yes',</tt> </tt>
6047
<a name="L1675"></a><tt class="py-lineno">1675</tt> <tt class="py-line"><tt class="py-docstring"> ... requires=IS_IN_SET(['yes', 'no'])).xml()</tt> </tt>
6048
<a name="L1676"></a><tt class="py-lineno">1676</tt> <tt class="py-line"><tt class="py-docstring"> '<select name=\"selector\"><option selected=\"selected\" value=\"yes\">yes</option><option value=\"no\">no</option></select>'</tt> </tt>
6049
<a name="L1677"></a><tt class="py-lineno">1677</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6050
<a name="L1678"></a><tt class="py-lineno">1678</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
6051
<a name="L1679"></a><tt class="py-lineno">1679</tt> <tt class="py-line"> </tt>
6052
<a name="L1680"></a><tt class="py-lineno">1680</tt> <tt class="py-line"> <tt id="link-366" class="py-name"><a title="web2py.gluon.html.A.tag
6053
web2py.gluon.html.B.tag
6054
web2py.gluon.html.BEAUTIFY.tag
6055
web2py.gluon.html.BODY.tag
6056
web2py.gluon.html.BR.tag
6057
web2py.gluon.html.BUTTON.tag
6058
web2py.gluon.html.CAT.tag
6059
web2py.gluon.html.CENTER.tag
6060
web2py.gluon.html.COL.tag
6061
web2py.gluon.html.COLGROUP.tag
6062
web2py.gluon.html.DIV.tag
6063
web2py.gluon.html.EM.tag
6064
web2py.gluon.html.EMBED.tag
6065
web2py.gluon.html.FIELDSET.tag
6066
web2py.gluon.html.FORM.tag
6067
web2py.gluon.html.H1.tag
6068
web2py.gluon.html.H2.tag
6069
web2py.gluon.html.H3.tag
6070
web2py.gluon.html.H4.tag
6071
web2py.gluon.html.H5.tag
6072
web2py.gluon.html.H6.tag
6073
web2py.gluon.html.HEAD.tag
6074
web2py.gluon.html.HR.tag
6075
web2py.gluon.html.HTML.tag
6076
web2py.gluon.html.I.tag
6077
web2py.gluon.html.IFRAME.tag
6078
web2py.gluon.html.IMG.tag
6079
web2py.gluon.html.INPUT.tag
6080
web2py.gluon.html.LABEL.tag
6081
web2py.gluon.html.LEGEND.tag
6082
web2py.gluon.html.LI.tag
6083
web2py.gluon.html.LINK.tag
6084
web2py.gluon.html.MENU.tag
6085
web2py.gluon.html.META.tag
6086
web2py.gluon.html.OBJECT.tag
6087
web2py.gluon.html.OL.tag
6088
web2py.gluon.html.OPTGROUP.tag
6089
web2py.gluon.html.OPTION.tag
6090
web2py.gluon.html.P.tag
6091
web2py.gluon.html.PRE.tag
6092
web2py.gluon.html.SCRIPT.tag
6093
web2py.gluon.html.SELECT.tag
6094
web2py.gluon.html.SPAN.tag
6095
web2py.gluon.html.STYLE.tag
6096
web2py.gluon.html.TABLE.tag
6097
web2py.gluon.html.TBODY.tag
6098
web2py.gluon.html.TD.tag
6099
web2py.gluon.html.TEXTAREA.tag
6100
web2py.gluon.html.TFOOT.tag
6101
web2py.gluon.html.TH.tag
6102
web2py.gluon.html.THEAD.tag
6103
web2py.gluon.html.TITLE.tag
6104
web2py.gluon.html.TR.tag
6105
web2py.gluon.html.TT.tag
6106
web2py.gluon.html.UL.tag
6107
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-366', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'select'</tt> </tt>
6108
<a name="L1681"></a><tt class="py-lineno">1681</tt> <tt class="py-line"> </tt>
6109
<a name="SELECT._fixup"></a><div id="SELECT._fixup-def"><a name="L1682"></a><tt class="py-lineno">1682</tt> <a class="py-toggle" href="#" id="SELECT._fixup-toggle" onclick="return toggle('SELECT._fixup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.SELECT-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6110
</div><div id="SELECT._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SELECT._fixup-expanded"><a name="L1683"></a><tt class="py-lineno">1683</tt> <tt class="py-line"> <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
6111
<a name="L1684"></a><tt class="py-lineno">1684</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
6112
<a name="L1685"></a><tt class="py-lineno">1685</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-367" class="py-name"><a title="web2py.gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-367', 'OPTION', 'link-362');">OPTION</a></tt><tt class="py-op">,</tt> <tt id="link-368" class="py-name" targets="Class web2py.gluon.html.OPTGROUP=web2py.gluon.html.OPTGROUP-class.html"><a title="web2py.gluon.html.OPTGROUP" class="py-name" href="#" onclick="return doclink('link-368', 'OPTGROUP', 'link-368');">OPTGROUP</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6113
<a name="L1686"></a><tt class="py-lineno">1686</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="web2py.gluon.html.DIV.append
6114
web2py.gluon.template.BlockNode.append
6115
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-369', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
6116
<a name="L1687"></a><tt class="py-lineno">1687</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6117
<a name="L1688"></a><tt class="py-lineno">1688</tt> <tt class="py-line"> <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="web2py.gluon.html.DIV.append
6118
web2py.gluon.template.BlockNode.append
6119
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-370', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt id="link-371" class="py-name"><a title="web2py.gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-371', 'OPTION', 'link-362');">OPTION</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">_value</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
6120
<a name="L1689"></a><tt class="py-lineno">1689</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
6121
</div><a name="L1690"></a><tt class="py-lineno">1690</tt> <tt class="py-line"> </tt>
6122
<a name="SELECT._postprocessing"></a><div id="SELECT._postprocessing-def"><a name="L1691"></a><tt class="py-lineno">1691</tt> <a class="py-toggle" href="#" id="SELECT._postprocessing-toggle" onclick="return toggle('SELECT._postprocessing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.SELECT-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6123
</div><div id="SELECT._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SELECT._postprocessing-expanded"><a name="L1692"></a><tt class="py-lineno">1692</tt> <tt class="py-line"> <tt class="py-name">component_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
6124
<a name="L1693"></a><tt class="py-lineno">1693</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
6125
<a name="L1694"></a><tt class="py-lineno">1694</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-372" class="py-name"><a title="web2py.gluon.html.OPTGROUP" class="py-name" href="#" onclick="return doclink('link-372', 'OPTGROUP', 'link-368');">OPTGROUP</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6126
<a name="L1695"></a><tt class="py-lineno">1695</tt> <tt class="py-line"> <tt class="py-name">component_list</tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="web2py.gluon.html.DIV.append
6127
web2py.gluon.template.BlockNode.append
6128
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-373', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
6129
<a name="L1696"></a><tt class="py-lineno">1696</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6130
<a name="L1697"></a><tt class="py-lineno">1697</tt> <tt class="py-line"> <tt class="py-name">component_list</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="web2py.gluon.html.DIV.append
6131
web2py.gluon.template.BlockNode.append
6132
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-374', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
6133
<a name="L1698"></a><tt class="py-lineno">1698</tt> <tt class="py-line"> <tt id="link-375" class="py-name" targets="Method web2py.gluon.validators.IS_IN_DB.options()=web2py.gluon.validators.IS_IN_DB-class.html#options,Method web2py.gluon.validators.IS_IN_SET.options()=web2py.gluon.validators.IS_IN_SET-class.html#options"><a title="web2py.gluon.validators.IS_IN_DB.options
6134
web2py.gluon.validators.IS_IN_SET.options" class="py-name" href="#" onclick="return doclink('link-375', 'options', 'link-375');">options</a></tt> <tt class="py-op">=</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">chain</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">component_list</tt><tt class="py-op">)</tt> </tt>
6135
<a name="L1699"></a><tt class="py-lineno">1699</tt> <tt class="py-line"> </tt>
6136
<a name="L1700"></a><tt class="py-lineno">1700</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
6137
<a name="L1701"></a><tt class="py-lineno">1701</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
6138
<a name="L1702"></a><tt class="py-lineno">1702</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_multiple'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
6139
<a name="L1703"></a><tt class="py-lineno">1703</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-376" class="py-name"><a title="web2py.gluon.validators.IS_IN_DB.options
6140
web2py.gluon.validators.IS_IN_SET.options" class="py-name" href="#" onclick="return doclink('link-376', 'options', 'link-375');">options</a></tt><tt class="py-op">:</tt> <tt class="py-comment"># my patch</tt> </tt>
6141
<a name="L1704"></a><tt class="py-lineno">1704</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6142
<a name="L1705"></a><tt class="py-lineno">1705</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'selected'</tt> </tt>
6143
<a name="L1706"></a><tt class="py-lineno">1706</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6144
<a name="L1707"></a><tt class="py-lineno">1707</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
6145
<a name="L1708"></a><tt class="py-lineno">1708</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6146
<a name="L1709"></a><tt class="py-lineno">1709</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt><tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6147
<a name="L1710"></a><tt class="py-lineno">1710</tt> <tt class="py-line"> <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">]</tt> </tt>
6148
<a name="L1711"></a><tt class="py-lineno">1711</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6149
<a name="L1712"></a><tt class="py-lineno">1712</tt> <tt class="py-line"> <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
6150
<a name="L1713"></a><tt class="py-lineno">1713</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-377" class="py-name"><a title="web2py.gluon.validators.IS_IN_DB.options
6151
web2py.gluon.validators.IS_IN_SET.options" class="py-name" href="#" onclick="return doclink('link-377', 'options', 'link-375');">options</a></tt><tt class="py-op">:</tt> <tt class="py-comment"># my patch</tt> </tt>
6152
<a name="L1714"></a><tt class="py-lineno">1714</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">values</tt><tt class="py-op">:</tt> </tt>
6153
<a name="L1715"></a><tt class="py-lineno">1715</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'selected'</tt> </tt>
6154
<a name="L1716"></a><tt class="py-lineno">1716</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
6155
<a name="L1717"></a><tt class="py-lineno">1717</tt> <tt class="py-line"> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
6156
</div></div><a name="L1718"></a><tt class="py-lineno">1718</tt> <tt class="py-line"> </tt>
6157
<a name="L1719"></a><tt class="py-lineno">1719</tt> <tt class="py-line"> </tt>
6158
<a name="FIELDSET"></a><div id="FIELDSET-def"><a name="L1720"></a><tt class="py-lineno">1720</tt> <a class="py-toggle" href="#" id="FIELDSET-toggle" onclick="return toggle('FIELDSET');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.FIELDSET-class.html">FIELDSET</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6159
</div><div id="FIELDSET-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="FIELDSET-expanded"><a name="L1721"></a><tt class="py-lineno">1721</tt> <tt class="py-line"> </tt>
6160
<a name="L1722"></a><tt class="py-lineno">1722</tt> <tt class="py-line"> <tt id="link-378" class="py-name"><a title="web2py.gluon.html.A.tag
6161
web2py.gluon.html.B.tag
6162
web2py.gluon.html.BEAUTIFY.tag
6163
web2py.gluon.html.BODY.tag
6164
web2py.gluon.html.BR.tag
6165
web2py.gluon.html.BUTTON.tag
6166
web2py.gluon.html.CAT.tag
6167
web2py.gluon.html.CENTER.tag
6168
web2py.gluon.html.COL.tag
6169
web2py.gluon.html.COLGROUP.tag
6170
web2py.gluon.html.DIV.tag
6171
web2py.gluon.html.EM.tag
6172
web2py.gluon.html.EMBED.tag
6173
web2py.gluon.html.FIELDSET.tag
6174
web2py.gluon.html.FORM.tag
6175
web2py.gluon.html.H1.tag
6176
web2py.gluon.html.H2.tag
6177
web2py.gluon.html.H3.tag
6178
web2py.gluon.html.H4.tag
6179
web2py.gluon.html.H5.tag
6180
web2py.gluon.html.H6.tag
6181
web2py.gluon.html.HEAD.tag
6182
web2py.gluon.html.HR.tag
6183
web2py.gluon.html.HTML.tag
6184
web2py.gluon.html.I.tag
6185
web2py.gluon.html.IFRAME.tag
6186
web2py.gluon.html.IMG.tag
6187
web2py.gluon.html.INPUT.tag
6188
web2py.gluon.html.LABEL.tag
6189
web2py.gluon.html.LEGEND.tag
6190
web2py.gluon.html.LI.tag
6191
web2py.gluon.html.LINK.tag
6192
web2py.gluon.html.MENU.tag
6193
web2py.gluon.html.META.tag
6194
web2py.gluon.html.OBJECT.tag
6195
web2py.gluon.html.OL.tag
6196
web2py.gluon.html.OPTGROUP.tag
6197
web2py.gluon.html.OPTION.tag
6198
web2py.gluon.html.P.tag
6199
web2py.gluon.html.PRE.tag
6200
web2py.gluon.html.SCRIPT.tag
6201
web2py.gluon.html.SELECT.tag
6202
web2py.gluon.html.SPAN.tag
6203
web2py.gluon.html.STYLE.tag
6204
web2py.gluon.html.TABLE.tag
6205
web2py.gluon.html.TBODY.tag
6206
web2py.gluon.html.TD.tag
6207
web2py.gluon.html.TEXTAREA.tag
6208
web2py.gluon.html.TFOOT.tag
6209
web2py.gluon.html.TH.tag
6210
web2py.gluon.html.THEAD.tag
6211
web2py.gluon.html.TITLE.tag
6212
web2py.gluon.html.TR.tag
6213
web2py.gluon.html.TT.tag
6214
web2py.gluon.html.UL.tag
6215
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-378', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'fieldset'</tt> </tt>
6216
</div><a name="L1723"></a><tt class="py-lineno">1723</tt> <tt class="py-line"> </tt>
6316
6217
<a name="L1724"></a><tt class="py-lineno">1724</tt> <tt class="py-line"> </tt>
6317
<a name="FORM.__init__"></a><div id="FORM.__init__-def"><a name="L1725"></a><tt class="py-lineno">1725</tt> <a class="py-toggle" href="#" id="FORM.__init__-toggle" onclick="return toggle('FORM.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.FORM-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">components</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">attributes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6318
</div><div id="FORM.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FORM.__init__-expanded"><a name="L1726"></a><tt class="py-lineno">1726</tt> <tt class="py-line"> <tt id="link-394" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
6218
<a name="LEGEND"></a><div id="LEGEND-def"><a name="L1725"></a><tt class="py-lineno">1725</tt> <a class="py-toggle" href="#" id="LEGEND-toggle" onclick="return toggle('LEGEND');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.LEGEND-class.html">LEGEND</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6219
</div><div id="LEGEND-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LEGEND-expanded"><a name="L1726"></a><tt class="py-lineno">1726</tt> <tt class="py-line"> </tt>
6220
<a name="L1727"></a><tt class="py-lineno">1727</tt> <tt class="py-line"> <tt id="link-379" class="py-name"><a title="web2py.gluon.html.A.tag
6221
web2py.gluon.html.B.tag
6222
web2py.gluon.html.BEAUTIFY.tag
6223
web2py.gluon.html.BODY.tag
6224
web2py.gluon.html.BR.tag
6225
web2py.gluon.html.BUTTON.tag
6226
web2py.gluon.html.CAT.tag
6227
web2py.gluon.html.CENTER.tag
6228
web2py.gluon.html.COL.tag
6229
web2py.gluon.html.COLGROUP.tag
6230
web2py.gluon.html.DIV.tag
6231
web2py.gluon.html.EM.tag
6232
web2py.gluon.html.EMBED.tag
6233
web2py.gluon.html.FIELDSET.tag
6234
web2py.gluon.html.FORM.tag
6235
web2py.gluon.html.H1.tag
6236
web2py.gluon.html.H2.tag
6237
web2py.gluon.html.H3.tag
6238
web2py.gluon.html.H4.tag
6239
web2py.gluon.html.H5.tag
6240
web2py.gluon.html.H6.tag
6241
web2py.gluon.html.HEAD.tag
6242
web2py.gluon.html.HR.tag
6243
web2py.gluon.html.HTML.tag
6244
web2py.gluon.html.I.tag
6245
web2py.gluon.html.IFRAME.tag
6246
web2py.gluon.html.IMG.tag
6247
web2py.gluon.html.INPUT.tag
6248
web2py.gluon.html.LABEL.tag
6249
web2py.gluon.html.LEGEND.tag
6250
web2py.gluon.html.LI.tag
6251
web2py.gluon.html.LINK.tag
6252
web2py.gluon.html.MENU.tag
6253
web2py.gluon.html.META.tag
6254
web2py.gluon.html.OBJECT.tag
6255
web2py.gluon.html.OL.tag
6256
web2py.gluon.html.OPTGROUP.tag
6257
web2py.gluon.html.OPTION.tag
6258
web2py.gluon.html.P.tag
6259
web2py.gluon.html.PRE.tag
6260
web2py.gluon.html.SCRIPT.tag
6261
web2py.gluon.html.SELECT.tag
6262
web2py.gluon.html.SPAN.tag
6263
web2py.gluon.html.STYLE.tag
6264
web2py.gluon.html.TABLE.tag
6265
web2py.gluon.html.TBODY.tag
6266
web2py.gluon.html.TD.tag
6267
web2py.gluon.html.TEXTAREA.tag
6268
web2py.gluon.html.TFOOT.tag
6269
web2py.gluon.html.TH.tag
6270
web2py.gluon.html.THEAD.tag
6271
web2py.gluon.html.TITLE.tag
6272
web2py.gluon.html.TR.tag
6273
web2py.gluon.html.TT.tag
6274
web2py.gluon.html.UL.tag
6275
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-379', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'legend'</tt> </tt>
6276
</div><a name="L1728"></a><tt class="py-lineno">1728</tt> <tt class="py-line"> </tt>
6277
<a name="L1729"></a><tt class="py-lineno">1729</tt> <tt class="py-line"> </tt>
6278
<a name="FORM"></a><div id="FORM-def"><a name="L1730"></a><tt class="py-lineno">1730</tt> <a class="py-toggle" href="#" id="FORM-toggle" onclick="return toggle('FORM');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.FORM-class.html">FORM</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6279
</div><div id="FORM-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="FORM-expanded"><a name="L1731"></a><tt class="py-lineno">1731</tt> <tt class="py-line"> </tt>
6280
<a name="L1732"></a><tt class="py-lineno">1732</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
6281
<a name="L1733"></a><tt class="py-lineno">1733</tt> <tt class="py-line"><tt class="py-docstring"> example::</tt> </tt>
6282
<a name="L1734"></a><tt class="py-lineno">1734</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6283
<a name="L1735"></a><tt class="py-lineno">1735</tt> <tt class="py-line"><tt class="py-docstring"> >>> from validators import IS_NOT_EMPTY</tt> </tt>
6284
<a name="L1736"></a><tt class="py-lineno">1736</tt> <tt class="py-line"><tt class="py-docstring"> >>> form=FORM(INPUT(_name=\"test\", requires=IS_NOT_EMPTY()))</tt> </tt>
6285
<a name="L1737"></a><tt class="py-lineno">1737</tt> <tt class="py-line"><tt class="py-docstring"> >>> form.xml()</tt> </tt>
6286
<a name="L1738"></a><tt class="py-lineno">1738</tt> <tt class="py-line"><tt class="py-docstring"> '<form action=\"\" enctype=\"multipart/form-data\" method=\"post\"><input name=\"test\" type=\"text\" /></form>'</tt> </tt>
6287
<a name="L1739"></a><tt class="py-lineno">1739</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6288
<a name="L1740"></a><tt class="py-lineno">1740</tt> <tt class="py-line"><tt class="py-docstring"> a FORM is container for INPUT, TEXTAREA, SELECT and other helpers</tt> </tt>
6289
<a name="L1741"></a><tt class="py-lineno">1741</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6290
<a name="L1742"></a><tt class="py-lineno">1742</tt> <tt class="py-line"><tt class="py-docstring"> form has one important method::</tt> </tt>
6291
<a name="L1743"></a><tt class="py-lineno">1743</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6292
<a name="L1744"></a><tt class="py-lineno">1744</tt> <tt class="py-line"><tt class="py-docstring"> form.accepts(request.vars, session)</tt> </tt>
6293
<a name="L1745"></a><tt class="py-lineno">1745</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
6294
<a name="L1746"></a><tt class="py-lineno">1746</tt> <tt class="py-line"><tt class="py-docstring"> if form is accepted (and all validators pass) form.vars contains the</tt> </tt>
6295
<a name="L1747"></a><tt class="py-lineno">1747</tt> <tt class="py-line"><tt class="py-docstring"> accepted vars, otherwise form.errors contains the errors.</tt> </tt>
6296
<a name="L1748"></a><tt class="py-lineno">1748</tt> <tt class="py-line"><tt class="py-docstring"> in case of errors the form is modified to present the errors to the user.</tt> </tt>
6297
<a name="L1749"></a><tt class="py-lineno">1749</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
6298
<a name="L1750"></a><tt class="py-lineno">1750</tt> <tt class="py-line"> </tt>
6299
<a name="L1751"></a><tt class="py-lineno">1751</tt> <tt class="py-line"> <tt id="link-380" class="py-name"><a title="web2py.gluon.html.A.tag
6300
web2py.gluon.html.B.tag
6301
web2py.gluon.html.BEAUTIFY.tag
6302
web2py.gluon.html.BODY.tag
6303
web2py.gluon.html.BR.tag
6304
web2py.gluon.html.BUTTON.tag
6305
web2py.gluon.html.CAT.tag
6306
web2py.gluon.html.CENTER.tag
6307
web2py.gluon.html.COL.tag
6308
web2py.gluon.html.COLGROUP.tag
6309
web2py.gluon.html.DIV.tag
6310
web2py.gluon.html.EM.tag
6311
web2py.gluon.html.EMBED.tag
6312
web2py.gluon.html.FIELDSET.tag
6313
web2py.gluon.html.FORM.tag
6314
web2py.gluon.html.H1.tag
6315
web2py.gluon.html.H2.tag
6316
web2py.gluon.html.H3.tag
6317
web2py.gluon.html.H4.tag
6318
web2py.gluon.html.H5.tag
6319
web2py.gluon.html.H6.tag
6320
web2py.gluon.html.HEAD.tag
6321
web2py.gluon.html.HR.tag
6322
web2py.gluon.html.HTML.tag
6323
web2py.gluon.html.I.tag
6324
web2py.gluon.html.IFRAME.tag
6325
web2py.gluon.html.IMG.tag
6326
web2py.gluon.html.INPUT.tag
6327
web2py.gluon.html.LABEL.tag
6328
web2py.gluon.html.LEGEND.tag
6329
web2py.gluon.html.LI.tag
6330
web2py.gluon.html.LINK.tag
6331
web2py.gluon.html.MENU.tag
6332
web2py.gluon.html.META.tag
6333
web2py.gluon.html.OBJECT.tag
6334
web2py.gluon.html.OL.tag
6335
web2py.gluon.html.OPTGROUP.tag
6336
web2py.gluon.html.OPTION.tag
6337
web2py.gluon.html.P.tag
6338
web2py.gluon.html.PRE.tag
6339
web2py.gluon.html.SCRIPT.tag
6340
web2py.gluon.html.SELECT.tag
6341
web2py.gluon.html.SPAN.tag
6342
web2py.gluon.html.STYLE.tag
6343
web2py.gluon.html.TABLE.tag
6344
web2py.gluon.html.TBODY.tag
6345
web2py.gluon.html.TD.tag
6346
web2py.gluon.html.TEXTAREA.tag
6347
web2py.gluon.html.TFOOT.tag
6348
web2py.gluon.html.TH.tag
6349
web2py.gluon.html.THEAD.tag
6350
web2py.gluon.html.TITLE.tag
6351
web2py.gluon.html.TR.tag
6352
web2py.gluon.html.TT.tag
6353
web2py.gluon.html.UL.tag
6354
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-380', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'form'</tt> </tt>
6355
<a name="L1752"></a><tt class="py-lineno">1752</tt> <tt class="py-line"> </tt>
6356
<a name="FORM.__init__"></a><div id="FORM.__init__-def"><a name="L1753"></a><tt class="py-lineno">1753</tt> <a class="py-toggle" href="#" id="FORM.__init__-toggle" onclick="return toggle('FORM.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.FORM-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">components</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">attributes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
6357
</div><div id="FORM.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FORM.__init__-expanded"><a name="L1754"></a><tt class="py-lineno">1754</tt> <tt class="py-line"> <tt id="link-381" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
6319
6358
web2py.gluon.dal.NoSQLAdapter.DIV
6320
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-394', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-395" class="py-name" targets="Method web2py.gluon.cache.Cache.__init__()=web2py.gluon.cache.Cache-class.html#__init__,Method web2py.gluon.cache.CacheAbstract.__init__()=web2py.gluon.cache.CacheAbstract-class.html#__init__,Method web2py.gluon.cache.CacheInRam.__init__()=web2py.gluon.cache.CacheInRam-class.html#__init__,Method web2py.gluon.cache.CacheOnDisk.__init__()=web2py.gluon.cache.CacheOnDisk-class.html#__init__,Method web2py.gluon.compileapp.LoadFactory.__init__()=web2py.gluon.compileapp.LoadFactory-class.html#__init__,Method web2py.gluon.custom_import._DateTrackerImporter.__init__()=web2py.gluon.custom_import._DateTrackerImporter-class.html#__init__,Method web2py.gluon.custom_import._Web2pyImporter.__init__()=web2py.gluon.custom_import._Web2pyImporter-class.html#__init__,Method web2py.gluon.dal.BaseAdapter.__init__()=web2py.gluon.dal.BaseAdapter-class.html#__init__,Method web2py.gluon.dal.CouchDBAdapter.__init__()=web2py.gluon.dal.CouchDBAdapter-class.html#__init__,Method web2py.gluon.dal.CubridAdapter.__init__()=web2py.gluon.dal.CubridAdapter-class.html#__init__,Method web2py.gluon.dal.DAL.__init__()=web2py.gluon.dal.DAL-class.html#__init__,Method web2py.gluon.dal.DB2Adapter.__init__()=web2py.gluon.dal.DB2Adapter-class.html#__init__,Method web2py.gluon.dal.DatabaseStoredFile.__init__()=web2py.gluon.dal.DatabaseStoredFile-class.html#__init__,Method web2py.gluon.dal.Expression.__init__()=web2py.gluon.dal.Expression-class.html#__init__,Method web2py.gluon.dal.Field.__init__()=web2py.gluon.dal.Field-class.html#__init__,Method web2py.gluon.dal.FireBirdAdapter.__init__()=web2py.gluon.dal.FireBirdAdapter-class.html#__init__,Method web2py.gluon.dal.FireBirdEmbeddedAdapter.__init__()=web2py.gluon.dal.FireBirdEmbeddedAdapter-class.html#__init__,Method web2py.gluon.dal.GAEDecimalProperty.__init__()=web2py.gluon.dal.GAEDecimalProperty-class.html#__init__,Method web2py.gluon.dal.GAEF.__init__()=web2py.gluon.dal.GAEF-class.html#__init__,Method web2py.gluon.dal.GoogleDatastoreAdapter.__init__()=web2py.gluon.dal.GoogleDatastoreAdapter-class.html#__init__,Method web2py.gluon.dal.GoogleSQLAdapter.__init__()=web2py.gluon.dal.GoogleSQLAdapter-class.html#__init__,Method web2py.gluon.dal.InformixAdapter.__init__()=web2py.gluon.dal.InformixAdapter-class.html#__init__,Method web2py.gluon.dal.IngresAdapter.__init__()=web2py.gluon.dal.IngresAdapter-class.html#__init__,Method web2py.gluon.dal.JDBCPostgreSQLAdapter.__init__()=web2py.gluon.dal.JDBCPostgreSQLAdapter-class.html#__init__,Method web2py.gluon.dal.JDBCSQLiteAdapter.__init__()=web2py.gluon.dal.JDBCSQLiteAdapter-class.html#__init__,Method web2py.gluon.dal.MSSQLAdapter.__init__()=web2py.gluon.dal.MSSQLAdapter-class.html#__init__,Method web2py.gluon.dal.MongoDBAdapter.__init__()=web2py.gluon.dal.MongoDBAdapter-class.html#__init__,Method web2py.gluon.dal.MySQLAdapter.__init__()=web2py.gluon.dal.MySQLAdapter-class.html#__init__,Method web2py.gluon.dal.OracleAdapter.__init__()=web2py.gluon.dal.OracleAdapter-class.html#__init__,Method web2py.gluon.dal.PostgreSQLAdapter.__init__()=web2py.gluon.dal.PostgreSQLAdapter-class.html#__init__,Method web2py.gluon.dal.Query.__init__()=web2py.gluon.dal.Query-class.html#__init__,Method web2py.gluon.dal.Rows.__init__()=web2py.gluon.dal.Rows-class.html#__init__,Method web2py.gluon.dal.SAPDBAdapter.__init__()=web2py.gluon.dal.SAPDBAdapter-class.html#__init__,Method web2py.gluon.dal.SQLALL.__init__()=web2py.gluon.dal.SQLALL-class.html#__init__,Method web2py.gluon.dal.SQLCustomType.__init__()=web2py.gluon.dal.SQLCustomType-class.html#__init__,Method web2py.gluon.dal.SQLiteAdapter.__init__()=web2py.gluon.dal.SQLiteAdapter-class.html#__init__,Method web2py.gluon.dal.Set.__init__()=web2py.gluon.dal.Set-class.html#__init__,Method web2py.gluon.dal.Table.__init__()=web2py.gluon.dal.Table-class.html#__init__,Method web2py.gluon.dal.TeradataAdapter.__init__()=web2py.gluon.dal.TeradataAdapter-class.html#__init__,Method web2py.gluon.debug.Pipe.__init__()=web2py.gluon.debug.Pipe-class.html#__init__,Method web2py.gluon.globals.Request.__init__()=web2py.gluon.globals.Request-class.html#__init__,Method web2py.gluon.globals.Response.__init__()=web2py.gluon.globals.Response-class.html#__init__,Method web2py.gluon.highlight.Highlighter.__init__()=web2py.gluon.highlight.Highlighter-class.html#__init__,Method web2py.gluon.html.BEAUTIFY.__init__()=web2py.gluon.html.BEAUTIFY-class.html#__init__,Method web2py.gluon.html.DIV.__init__()=web2py.gluon.html.DIV-class.html#__init__,Method web2py.gluon.html.FORM.__init__()=web2py.gluon.html.FORM-class.html#__init__,Method web2py.gluon.html.MARKMIN.__init__()=web2py.gluon.html.MARKMIN-class.html#__init__,Method web2py.gluon.html.MENU.__init__()=web2py.gluon.html.MENU-class.html#__init__,Method web2py.gluon.html.XML.__init__()=web2py.gluon.html.XML-class.html#__init__,Method web2py.gluon.html.web2pyHTMLParser.__init__()=web2py.gluon.html.web2pyHTMLParser-class.html#__init__,Method web2py.gluon.http.HTTP.__init__()=web2py.gluon.http.HTTP-class.html#__init__,Method web2py.gluon.languages.lazyT.__init__()=web2py.gluon.languages.lazyT-class.html#__init__,Method web2py.gluon.languages.translator.__init__()=web2py.gluon.languages.translator-class.html#__init__,Method web2py.gluon.main.HttpServer.__init__()=web2py.gluon.main.HttpServer-class.html#__init__,Method web2py.gluon.newcron.Token.__init__()=web2py.gluon.newcron.Token-class.html#__init__,Method web2py.gluon.newcron.cronlauncher.__init__()=web2py.gluon.newcron.cronlauncher-class.html#__init__,Method web2py.gluon.newcron.extcron.__init__()=web2py.gluon.newcron.extcron-class.html#__init__,Method web2py.gluon.newcron.hardcron.__init__()=web2py.gluon.newcron.hardcron-class.html#__init__,Method web2py.gluon.newcron.softcron.__init__()=web2py.gluon.newcron.softcron-class.html#__init__,Method web2py.gluon.restricted.RestrictedError.__init__()=web2py.gluon.restricted.RestrictedError-class.html#__init__,Method web2py.gluon.restricted.TicketStorage.__init__()=web2py.gluon.restricted.TicketStorage-class.html#__init__,Method web2py.gluon.rewrite.MapUrlIn.__init__()=web2py.gluon.rewrite.MapUrlIn-class.html#__init__,Method web2py.gluon.rewrite.MapUrlOut.__init__()=web2py.gluon.rewrite.MapUrlOut-class.html#__init__,Method web2py.gluon.rocket.ChunkedReader.__init__()=web2py.gluon.rocket.ChunkedReader-class.html#__init__,Method web2py.gluon.rocket.Connection.__init__()=web2py.gluon.rocket.Connection-class.html#__init__,Method web2py.gluon.rocket.FileWrapper.__init__()=web2py.gluon.rocket.FileWrapper-class.html#__init__,Method web2py.gluon.rocket.Headers.__init__()=web2py.gluon.rocket.Headers-class.html#__init__,Method web2py.gluon.rocket.Listener.__init__()=web2py.gluon.rocket.Listener-class.html#__init__,Method web2py.gluon.rocket.Monitor.__init__()=web2py.gluon.rocket.Monitor-class.html#__init__,Method web2py.gluon.rocket.Rocket.__init__()=web2py.gluon.rocket.Rocket-class.html#__init__,Method web2py.gluon.rocket.ThreadPool.__init__()=web2py.gluon.rocket.ThreadPool-class.html#__init__,Method web2py.gluon.rocket.WSGIWorker.__init__()=web2py.gluon.rocket.WSGIWorker-class.html#__init__,Method web2py.gluon.rocket.Worker.__init__()=web2py.gluon.rocket.Worker-class.html#__init__,Method web2py.gluon.sanitizer.XssCleaner.__init__()=web2py.gluon.sanitizer.XssCleaner-class.html#__init__,Method web2py.gluon.sqlhtml.AutocompleteWidget.__init__()=web2py.gluon.sqlhtml.AutocompleteWidget-class.html#__init__,Method web2py.gluon.sqlhtml.SQLFORM.__init__()=web2py.gluon.sqlhtml.SQLFORM-class.html#__init__,Method web2py.gluon.sqlhtml.SQLTABLE.__init__()=web2py.gluon.sqlhtml.SQLTABLE-class.html#__init__,Method web2py.gluon.storage.Messages.__init__()=web2py.gluon.storage.Messages-class.html#__init__,Method web2py.gluon.template.BlockNode.__init__()=web2py.gluon.template.BlockNode-class.html#__init__,Method web2py.gluon.template.Content.__init__()=web2py.gluon.template.Content-class.html#__init__,Method web2py.gluon.template.Node.__init__()=web2py.gluon.template.Node-class.html#__init__,Method web2py.gluon.template.SuperNode.__init__()=web2py.gluon.template.SuperNode-class.html#__init__,Method web2py.gluon.template.TemplateParser.__init__()=web2py.gluon.template.TemplateParser-class.html#__init__,Method web2py.gluon.tools.Auth.__init__()=web2py.gluon.tools.Auth-class.html#__init__,Method web2py.gluon.tools.Crud.__init__()=web2py.gluon.tools.Crud-class.html#__init__,Method web2py.gluon.tools.Mail.Attachment.__init__()=web2py.gluon.tools.Mail.Attachment-class.html#__init__,Method web2py.gluon.tools.Mail.__init__()=web2py.gluon.tools.Mail-class.html#__init__,Method web2py.gluon.tools.PluginManager.__init__()=web2py.gluon.tools.PluginManager-class.html#__init__,Method web2py.gluon.tools.Recaptcha.__init__()=web2py.gluon.tools.Recaptcha-class.html#__init__,Method web2py.gluon.tools.Service.JsonRpcException.__init__()=web2py.gluon.tools.Service.JsonRpcException-class.html#__init__,Method web2py.gluon.tools.Service.__init__()=web2py.gluon.tools.Service-class.html#__init__,Method web2py.gluon.validators.CLEANUP.__init__()=web2py.gluon.validators.CLEANUP-class.html#__init__,Method web2py.gluon.validators.CRYPT.__init__()=web2py.gluon.validators.CRYPT-class.html#__init__,Method web2py.gluon.validators.IS_ALPHANUMERIC.__init__()=web2py.gluon.validators.IS_ALPHANUMERIC-class.html#__init__,Method web2py.gluon.validators.IS_DATE.__init__()=web2py.gluon.validators.IS_DATE-class.html#__init__,Method web2py.gluon.validators.IS_DATETIME.__init__()=web2py.gluon.validators.IS_DATETIME-class.html#__init__,Method web2py.gluon.validators.IS_DATETIME_IN_RANGE.__init__()=web2py.gluon.validators.IS_DATETIME_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_DATE_IN_RANGE.__init__()=web2py.gluon.validators.IS_DATE_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_DECIMAL_IN_RANGE.__init__()=web2py.gluon.validators.IS_DECIMAL_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_EMAIL.__init__()=web2py.gluon.validators.IS_EMAIL-class.html#__init__,Method web2py.gluon.validators.IS_EMPTY_OR.__init__()=web2py.gluon.validators.IS_EMPTY_OR-class.html#__init__,Method web2py.gluon.validators.IS_EQUAL_TO.__init__()=web2py.gluon.validators.IS_EQUAL_TO-class.html#__init__,Method web2py.gluon.validators.IS_EXPR.__init__()=web2py.gluon.validators.IS_EXPR-class.html#__init__,Method web2py.gluon.validators.IS_FLOAT_IN_RANGE.__init__()=web2py.gluon.validators.IS_FLOAT_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_GENERIC_URL.__init__()=web2py.gluon.validators.IS_GENERIC_URL-class.html#__init__,Method web2py.gluon.validators.IS_HTTP_URL.__init__()=web2py.gluon.validators.IS_HTTP_URL-class.html#__init__,Method web2py.gluon.validators.IS_IMAGE.__init__()=web2py.gluon.validators.IS_IMAGE-class.html#__init__,Method web2py.gluon.validators.IS_INT_IN_RANGE.__init__()=web2py.gluon.validators.IS_INT_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_IN_DB.__init__()=web2py.gluon.validators.IS_IN_DB-class.html#__init__,Method web2py.gluon.validators.IS_IN_SET.__init__()=web2py.gluon.validators.IS_IN_SET-class.html#__init__,Method web2py.gluon.validators.IS_IN_SUBSET.__init__()=web2py.gluon.validators.IS_IN_SUBSET-class.html#__init__,Method web2py.gluon.validators.IS_IPV4.__init__()=web2py.gluon.validators.IS_IPV4-class.html#__init__,Method web2py.gluon.validators.IS_LENGTH.__init__()=web2py.gluon.validators.IS_LENGTH-class.html#__init__,Method web2py.gluon.validators.IS_LIST_OF.__init__()=web2py.gluon.validators.IS_LIST_OF-class.html#__init__,Method web2py.gluon.validators.IS_MATCH.__init__()=web2py.gluon.validators.IS_MATCH-class.html#__init__,Method web2py.gluon.validators.IS_NOT_EMPTY.__init__()=web2py.gluon.validators.IS_NOT_EMPTY-class.html#__init__,Method web2py.gluon.validators.IS_NOT_IN_DB.__init__()=web2py.gluon.validators.IS_NOT_IN_DB-class.html#__init__,Method web2py.gluon.validators.IS_SLUG.__init__()=web2py.gluon.validators.IS_SLUG-class.html#__init__,Method web2py.gluon.validators.IS_STRONG.__init__()=web2py.gluon.validators.IS_STRONG-class.html#__init__,Method web2py.gluon.validators.IS_TIME.__init__()=web2py.gluon.validators.IS_TIME-class.html#__init__,Method web2py.gluon.validators.IS_UPLOAD_FILENAME.__init__()=web2py.gluon.validators.IS_UPLOAD_FILENAME-class.html#__init__,Method web2py.gluon.validators.IS_URL.__init__()=web2py.gluon.validators.IS_URL-class.html#__init__,Method web2py.gluon.widget.IO.__init__()=web2py.gluon.widget.IO-class.html#__init__,Method web2py.gluon.widget.web2pyDialog.__init__()=web2py.gluon.widget.web2pyDialog-class.html#__init__,Method web2py.gluon.winservice.Service.__init__()=web2py.gluon.winservice.Service-class.html#__init__"><a title="web2py.gluon.cache.Cache.__init__
6359
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-381', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-382" class="py-name" targets="Method web2py.gluon.cache.Cache.__init__()=web2py.gluon.cache.Cache-class.html#__init__,Method web2py.gluon.cache.CacheAbstract.__init__()=web2py.gluon.cache.CacheAbstract-class.html#__init__,Method web2py.gluon.cache.CacheInRam.__init__()=web2py.gluon.cache.CacheInRam-class.html#__init__,Method web2py.gluon.cache.CacheOnDisk.__init__()=web2py.gluon.cache.CacheOnDisk-class.html#__init__,Method web2py.gluon.compileapp.LoadFactory.__init__()=web2py.gluon.compileapp.LoadFactory-class.html#__init__,Method web2py.gluon.custom_import._DateTrackerImporter.__init__()=web2py.gluon.custom_import._DateTrackerImporter-class.html#__init__,Method web2py.gluon.custom_import._Web2pyImporter.__init__()=web2py.gluon.custom_import._Web2pyImporter-class.html#__init__,Method web2py.gluon.dal.BaseAdapter.__init__()=web2py.gluon.dal.BaseAdapter-class.html#__init__,Method web2py.gluon.dal.CouchDBAdapter.__init__()=web2py.gluon.dal.CouchDBAdapter-class.html#__init__,Method web2py.gluon.dal.CubridAdapter.__init__()=web2py.gluon.dal.CubridAdapter-class.html#__init__,Method web2py.gluon.dal.DAL.__init__()=web2py.gluon.dal.DAL-class.html#__init__,Method web2py.gluon.dal.DB2Adapter.__init__()=web2py.gluon.dal.DB2Adapter-class.html#__init__,Method web2py.gluon.dal.DatabaseStoredFile.__init__()=web2py.gluon.dal.DatabaseStoredFile-class.html#__init__,Method web2py.gluon.dal.Expression.__init__()=web2py.gluon.dal.Expression-class.html#__init__,Method web2py.gluon.dal.Field.__init__()=web2py.gluon.dal.Field-class.html#__init__,Method web2py.gluon.dal.FieldLazy.__init__()=web2py.gluon.dal.FieldLazy-class.html#__init__,Method web2py.gluon.dal.FieldVirtual.__init__()=web2py.gluon.dal.FieldVirtual-class.html#__init__,Method web2py.gluon.dal.FireBirdAdapter.__init__()=web2py.gluon.dal.FireBirdAdapter-class.html#__init__,Method web2py.gluon.dal.FireBirdEmbeddedAdapter.__init__()=web2py.gluon.dal.FireBirdEmbeddedAdapter-class.html#__init__,Method web2py.gluon.dal.GAEDecimalProperty.__init__()=web2py.gluon.dal.GAEDecimalProperty-class.html#__init__,Method web2py.gluon.dal.GAEF.__init__()=web2py.gluon.dal.GAEF-class.html#__init__,Method web2py.gluon.dal.GoogleDatastoreAdapter.__init__()=web2py.gluon.dal.GoogleDatastoreAdapter-class.html#__init__,Method web2py.gluon.dal.GoogleSQLAdapter.__init__()=web2py.gluon.dal.GoogleSQLAdapter-class.html#__init__,Method web2py.gluon.dal.InformixAdapter.__init__()=web2py.gluon.dal.InformixAdapter-class.html#__init__,Method web2py.gluon.dal.IngresAdapter.__init__()=web2py.gluon.dal.IngresAdapter-class.html#__init__,Method web2py.gluon.dal.JDBCPostgreSQLAdapter.__init__()=web2py.gluon.dal.JDBCPostgreSQLAdapter-class.html#__init__,Method web2py.gluon.dal.JDBCSQLiteAdapter.__init__()=web2py.gluon.dal.JDBCSQLiteAdapter-class.html#__init__,Method web2py.gluon.dal.MSSQLAdapter.__init__()=web2py.gluon.dal.MSSQLAdapter-class.html#__init__,Method web2py.gluon.dal.MongoDBAdapter.__init__()=web2py.gluon.dal.MongoDBAdapter-class.html#__init__,Method web2py.gluon.dal.MySQLAdapter.__init__()=web2py.gluon.dal.MySQLAdapter-class.html#__init__,Method web2py.gluon.dal.OracleAdapter.__init__()=web2py.gluon.dal.OracleAdapter-class.html#__init__,Method web2py.gluon.dal.PostgreSQLAdapter.__init__()=web2py.gluon.dal.PostgreSQLAdapter-class.html#__init__,Method web2py.gluon.dal.Query.__init__()=web2py.gluon.dal.Query-class.html#__init__,Method web2py.gluon.dal.Rows.__init__()=web2py.gluon.dal.Rows-class.html#__init__,Method web2py.gluon.dal.SAPDBAdapter.__init__()=web2py.gluon.dal.SAPDBAdapter-class.html#__init__,Method web2py.gluon.dal.SQLALL.__init__()=web2py.gluon.dal.SQLALL-class.html#__init__,Method web2py.gluon.dal.SQLCustomType.__init__()=web2py.gluon.dal.SQLCustomType-class.html#__init__,Method web2py.gluon.dal.SQLiteAdapter.__init__()=web2py.gluon.dal.SQLiteAdapter-class.html#__init__,Method web2py.gluon.dal.Set.__init__()=web2py.gluon.dal.Set-class.html#__init__,Method web2py.gluon.dal.Table.__init__()=web2py.gluon.dal.Table-class.html#__init__,Method web2py.gluon.dal.TeradataAdapter.__init__()=web2py.gluon.dal.TeradataAdapter-class.html#__init__,Method web2py.gluon.dal.VirtualCommand.__init__()=web2py.gluon.dal.VirtualCommand-class.html#__init__,Method web2py.gluon.debug.Pipe.__init__()=web2py.gluon.debug.Pipe-class.html#__init__,Method web2py.gluon.globals.Request.__init__()=web2py.gluon.globals.Request-class.html#__init__,Method web2py.gluon.globals.Response.__init__()=web2py.gluon.globals.Response-class.html#__init__,Method web2py.gluon.highlight.Highlighter.__init__()=web2py.gluon.highlight.Highlighter-class.html#__init__,Method web2py.gluon.html.BEAUTIFY.__init__()=web2py.gluon.html.BEAUTIFY-class.html#__init__,Method web2py.gluon.html.DIV.__init__()=web2py.gluon.html.DIV-class.html#__init__,Method web2py.gluon.html.FORM.__init__()=web2py.gluon.html.FORM-class.html#__init__,Method web2py.gluon.html.MARKMIN.__init__()=web2py.gluon.html.MARKMIN-class.html#__init__,Method web2py.gluon.html.MENU.__init__()=web2py.gluon.html.MENU-class.html#__init__,Method web2py.gluon.html.XML.__init__()=web2py.gluon.html.XML-class.html#__init__,Method web2py.gluon.html.web2pyHTMLParser.__init__()=web2py.gluon.html.web2pyHTMLParser-class.html#__init__,Method web2py.gluon.http.HTTP.__init__()=web2py.gluon.http.HTTP-class.html#__init__,Method web2py.gluon.languages.lazyT.__init__()=web2py.gluon.languages.lazyT-class.html#__init__,Method web2py.gluon.languages.translator.__init__()=web2py.gluon.languages.translator-class.html#__init__,Method web2py.gluon.main.HttpServer.__init__()=web2py.gluon.main.HttpServer-class.html#__init__,Method web2py.gluon.newcron.Token.__init__()=web2py.gluon.newcron.Token-class.html#__init__,Method web2py.gluon.newcron.cronlauncher.__init__()=web2py.gluon.newcron.cronlauncher-class.html#__init__,Method web2py.gluon.newcron.extcron.__init__()=web2py.gluon.newcron.extcron-class.html#__init__,Method web2py.gluon.newcron.hardcron.__init__()=web2py.gluon.newcron.hardcron-class.html#__init__,Method web2py.gluon.newcron.softcron.__init__()=web2py.gluon.newcron.softcron-class.html#__init__,Method web2py.gluon.restricted.RestrictedError.__init__()=web2py.gluon.restricted.RestrictedError-class.html#__init__,Method web2py.gluon.restricted.TicketStorage.__init__()=web2py.gluon.restricted.TicketStorage-class.html#__init__,Method web2py.gluon.rewrite.MapUrlIn.__init__()=web2py.gluon.rewrite.MapUrlIn-class.html#__init__,Method web2py.gluon.rewrite.MapUrlOut.__init__()=web2py.gluon.rewrite.MapUrlOut-class.html#__init__,Method web2py.gluon.rocket.ChunkedReader.__init__()=web2py.gluon.rocket.ChunkedReader-class.html#__init__,Method web2py.gluon.rocket.Connection.__init__()=web2py.gluon.rocket.Connection-class.html#__init__,Method web2py.gluon.rocket.FileLikeSocket.__init__()=web2py.gluon.rocket.FileLikeSocket-class.html#__init__,Method web2py.gluon.rocket.FileSystemWorker.__init__()=web2py.gluon.rocket.FileSystemWorker-class.html#__init__,Method web2py.gluon.rocket.FuturesMiddleware.__init__()=web2py.gluon.rocket.FuturesMiddleware-class.html#__init__,Method web2py.gluon.rocket.LimitingFileWrapper.__init__()=web2py.gluon.rocket.LimitingFileWrapper-class.html#__init__,Method web2py.gluon.rocket.Listener.__init__()=web2py.gluon.rocket.Listener-class.html#__init__,Method web2py.gluon.rocket.Monitor.__init__()=web2py.gluon.rocket.Monitor-class.html#__init__,Method web2py.gluon.rocket.Rocket.__init__()=web2py.gluon.rocket.Rocket-class.html#__init__,Method web2py.gluon.rocket.ThreadPool.__init__()=web2py.gluon.rocket.ThreadPool-class.html#__init__,Method web2py.gluon.rocket.WSGIExecutor.__init__()=web2py.gluon.rocket.WSGIExecutor-class.html#__init__,Method web2py.gluon.rocket.WSGIFuture.__init__()=web2py.gluon.rocket.WSGIFuture-class.html#__init__,Method web2py.gluon.rocket.WSGIWorker.__init__()=web2py.gluon.rocket.WSGIWorker-class.html#__init__,Method web2py.gluon.rocket.Worker.__init__()=web2py.gluon.rocket.Worker-class.html#__init__,Method web2py.gluon.rocket._WorkItem.__init__()=web2py.gluon.rocket._WorkItem-class.html#__init__,Method web2py.gluon.sanitizer.XssCleaner.__init__()=web2py.gluon.sanitizer.XssCleaner-class.html#__init__,Method web2py.gluon.scheduler.MetaScheduler.__init__()=web2py.gluon.scheduler.MetaScheduler-class.html#__init__,Method web2py.gluon.scheduler.Scheduler.__init__()=web2py.gluon.scheduler.Scheduler-class.html#__init__,Method web2py.gluon.scheduler.TYPE.__init__()=web2py.gluon.scheduler.TYPE-class.html#__init__,Method web2py.gluon.scheduler.Task.__init__()=web2py.gluon.scheduler.Task-class.html#__init__,Method web2py.gluon.scheduler.TaskReport.__init__()=web2py.gluon.scheduler.TaskReport-class.html#__init__,Method web2py.gluon.sqlhtml.AutocompleteWidget.__init__()=web2py.gluon.sqlhtml.AutocompleteWidget-class.html#__init__,Method web2py.gluon.sqlhtml.SQLFORM.__init__()=web2py.gluon.sqlhtml.SQLFORM-class.html#__init__,Method web2py.gluon.sqlhtml.SQLTABLE.__init__()=web2py.gluon.sqlhtml.SQLTABLE-class.html#__init__,Method web2py.gluon.storage.Messages.__init__()=web2py.gluon.storage.Messages-class.html#__init__,Method web2py.gluon.template.BlockNode.__init__()=web2py.gluon.template.BlockNode-class.html#__init__,Method web2py.gluon.template.Content.__init__()=web2py.gluon.template.Content-class.html#__init__,Method web2py.gluon.template.Node.__init__()=web2py.gluon.template.Node-class.html#__init__,Method web2py.gluon.template.SuperNode.__init__()=web2py.gluon.template.SuperNode-class.html#__init__,Method web2py.gluon.template.TemplateParser.__init__()=web2py.gluon.template.TemplateParser-class.html#__init__,Method web2py.gluon.tools.Auth.__init__()=web2py.gluon.tools.Auth-class.html#__init__,Method web2py.gluon.tools.Crud.__init__()=web2py.gluon.tools.Crud-class.html#__init__,Method web2py.gluon.tools.Mail.Attachment.__init__()=web2py.gluon.tools.Mail.Attachment-class.html#__init__,Method web2py.gluon.tools.Mail.__init__()=web2py.gluon.tools.Mail-class.html#__init__,Method web2py.gluon.tools.PluginManager.__init__()=web2py.gluon.tools.PluginManager-class.html#__init__,Method web2py.gluon.tools.Recaptcha.__init__()=web2py.gluon.tools.Recaptcha-class.html#__init__,Method web2py.gluon.tools.Service.JsonRpcException.__init__()=web2py.gluon.tools.Service.JsonRpcException-class.html#__init__,Method web2py.gluon.tools.Service.__init__()=web2py.gluon.tools.Service-class.html#__init__,Method web2py.gluon.validators.CLEANUP.__init__()=web2py.gluon.validators.CLEANUP-class.html#__init__,Method web2py.gluon.validators.CRYPT.__init__()=web2py.gluon.validators.CRYPT-class.html#__init__,Method web2py.gluon.validators.IS_ALPHANUMERIC.__init__()=web2py.gluon.validators.IS_ALPHANUMERIC-class.html#__init__,Method web2py.gluon.validators.IS_DATE.__init__()=web2py.gluon.validators.IS_DATE-class.html#__init__,Method web2py.gluon.validators.IS_DATETIME.__init__()=web2py.gluon.validators.IS_DATETIME-class.html#__init__,Method web2py.gluon.validators.IS_DATETIME_IN_RANGE.__init__()=web2py.gluon.validators.IS_DATETIME_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_DATE_IN_RANGE.__init__()=web2py.gluon.validators.IS_DATE_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_DECIMAL_IN_RANGE.__init__()=web2py.gluon.validators.IS_DECIMAL_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_EMAIL.__init__()=web2py.gluon.validators.IS_EMAIL-class.html#__init__,Method web2py.gluon.validators.IS_EMPTY_OR.__init__()=web2py.gluon.validators.IS_EMPTY_OR-class.html#__init__,Method web2py.gluon.validators.IS_EQUAL_TO.__init__()=web2py.gluon.validators.IS_EQUAL_TO-class.html#__init__,Method web2py.gluon.validators.IS_EXPR.__init__()=web2py.gluon.validators.IS_EXPR-class.html#__init__,Method web2py.gluon.validators.IS_FLOAT_IN_RANGE.__init__()=web2py.gluon.validators.IS_FLOAT_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_GENERIC_URL.__init__()=web2py.gluon.validators.IS_GENERIC_URL-class.html#__init__,Method web2py.gluon.validators.IS_HTTP_URL.__init__()=web2py.gluon.validators.IS_HTTP_URL-class.html#__init__,Method web2py.gluon.validators.IS_IMAGE.__init__()=web2py.gluon.validators.IS_IMAGE-class.html#__init__,Method web2py.gluon.validators.IS_INT_IN_RANGE.__init__()=web2py.gluon.validators.IS_INT_IN_RANGE-class.html#__init__,Method web2py.gluon.validators.IS_IN_DB.__init__()=web2py.gluon.validators.IS_IN_DB-class.html#__init__,Method web2py.gluon.validators.IS_IN_SET.__init__()=web2py.gluon.validators.IS_IN_SET-class.html#__init__,Method web2py.gluon.validators.IS_IN_SUBSET.__init__()=web2py.gluon.validators.IS_IN_SUBSET-class.html#__init__,Method web2py.gluon.validators.IS_IPV4.__init__()=web2py.gluon.validators.IS_IPV4-class.html#__init__,Method web2py.gluon.validators.IS_LENGTH.__init__()=web2py.gluon.validators.IS_LENGTH-class.html#__init__,Method web2py.gluon.validators.IS_LIST_OF.__init__()=web2py.gluon.validators.IS_LIST_OF-class.html#__init__,Method web2py.gluon.validators.IS_MATCH.__init__()=web2py.gluon.validators.IS_MATCH-class.html#__init__,Method web2py.gluon.validators.IS_NOT_EMPTY.__init__()=web2py.gluon.validators.IS_NOT_EMPTY-class.html#__init__,Method web2py.gluon.validators.IS_NOT_IN_DB.__init__()=web2py.gluon.validators.IS_NOT_IN_DB-class.html#__init__,Method web2py.gluon.validators.IS_SLUG.__init__()=web2py.gluon.validators.IS_SLUG-class.html#__init__,Method web2py.gluon.validators.IS_STRONG.__init__()=web2py.gluon.validators.IS_STRONG-class.html#__init__,Method web2py.gluon.validators.IS_TIME.__init__()=web2py.gluon.validators.IS_TIME-class.html#__init__,Method web2py.gluon.validators.IS_UPLOAD_FILENAME.__init__()=web2py.gluon.validators.IS_UPLOAD_FILENAME-class.html#__init__,Method web2py.gluon.validators.IS_URL.__init__()=web2py.gluon.validators.IS_URL-class.html#__init__,Method web2py.gluon.widget.IO.__init__()=web2py.gluon.widget.IO-class.html#__init__,Method web2py.gluon.widget.web2pyDialog.__init__()=web2py.gluon.widget.web2pyDialog-class.html#__init__,Method web2py.gluon.winservice.Service.__init__()=web2py.gluon.winservice.Service-class.html#__init__"><a title="web2py.gluon.cache.Cache.__init__
6321
6360
web2py.gluon.cache.CacheAbstract.__init__
6322
6361
web2py.gluon.cache.CacheInRam.__init__
6323
6362
web2py.gluon.cache.CacheOnDisk.__init__
7214
7298
web2py.gluon.validators.IS_URL.__init__
7215
7299
web2py.gluon.widget.IO.__init__
7216
7300
web2py.gluon.widget.web2pyDialog.__init__
7217
web2py.gluon.winservice.Service.__init__" class="py-name" href="#" onclick="return doclink('link-505', '__init__', 'link-395');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
7218
<a name="L2125"></a><tt class="py-lineno">2125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt id="link-506" class="py-name"><a title="web2py.gluon.TAG
7301
web2py.gluon.winservice.Service.__init__" class="py-name" href="#" onclick="return doclink('link-509', '__init__', 'link-382');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
7302
<a name="L2168"></a><tt class="py-lineno">2168</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt id="link-510" class="py-name"><a title="web2py.gluon.TAG
7219
7303
web2py.gluon.html.TAG
7220
web2py.gluon.tools.TAG" class="py-name" href="#" onclick="return doclink('link-506', 'TAG', 'link-218');">TAG</a></tt><tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
7221
<a name="L2126"></a><tt class="py-lineno">2126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-op">=</tt> <tt class="py-name">closed</tt> </tt>
7222
<a name="L2127"></a><tt class="py-lineno">2127</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-507" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-507', 'x', 'link-25');">x</a></tt> <tt class="py-keyword">for</tt> <tt id="link-508" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-508', 'x', 'link-25');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">__all__</tt> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">eval</tt><tt class="py-op">(</tt><tt id="link-509" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-509', 'x', 'link-25');">x</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt id="link-510" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
7304
web2py.gluon.tools.TAG" class="py-name" href="#" onclick="return doclink('link-510', 'TAG', 'link-208');">TAG</a></tt><tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
7305
<a name="L2169"></a><tt class="py-lineno">2169</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-op">=</tt> <tt class="py-name">closed</tt> </tt>
7306
<a name="L2170"></a><tt class="py-lineno">2170</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-511" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-511', 'x', 'link-26');">x</a></tt> <tt class="py-keyword">for</tt> <tt id="link-512" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-512', 'x', 'link-26');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">__all__</tt> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">eval</tt><tt class="py-op">(</tt><tt id="link-513" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-513', 'x', 'link-26');">x</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt id="link-514" class="py-name"><a title="web2py.gluon.dal.BaseAdapter.DIV
7223
7307
web2py.gluon.dal.NoSQLAdapter.DIV
7224
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-510', 'DIV', 'link-98');">DIV</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
7225
<a name="L2128"></a><tt class="py-lineno">2128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-511" class="py-name" targets="Method web2py.gluon.dal.Rows.last()=web2py.gluon.dal.Rows-class.html#last"><a title="web2py.gluon.dal.Rows.last" class="py-name" href="#" onclick="return doclink('link-511', 'last', 'link-511');">last</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
7226
<a name="L2129"></a><tt class="py-lineno">2129</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
7227
</div><a name="web2pyHTMLParser.handle_starttag"></a><div id="web2pyHTMLParser.handle_starttag-def"><a name="L2130"></a><tt class="py-lineno">2130</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_starttag-toggle" onclick="return toggle('web2pyHTMLParser.handle_starttag');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_starttag">handle_starttag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tagname</tt><tt class="py-op">,</tt> <tt class="py-param">attrs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7228
</div><div id="web2pyHTMLParser.handle_starttag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_starttag-expanded"><a name="L2131"></a><tt class="py-lineno">2131</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tagname</tt><tt class="py-op">.</tt><tt id="link-512" class="py-name" targets="Method web2py.gluon.dal.Expression.upper()=web2py.gluon.dal.Expression-class.html#upper"><a title="web2py.gluon.dal.Expression.upper" class="py-name" href="#" onclick="return doclink('link-512', 'upper', 'link-512');">upper</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tags</tt><tt class="py-op">:</tt> </tt>
7229
<a name="L2132"></a><tt class="py-lineno">2132</tt> <tt class="py-line"> <tt id="link-513" class="py-name"><a title="web2py.gluon.html.A.tag
7230
web2py.gluon.html.B.tag
7231
web2py.gluon.html.BEAUTIFY.tag
7232
web2py.gluon.html.BODY.tag
7233
web2py.gluon.html.BR.tag
7234
web2py.gluon.html.BUTTON.tag
7235
web2py.gluon.html.CAT.tag
7236
web2py.gluon.html.CENTER.tag
7237
web2py.gluon.html.COL.tag
7238
web2py.gluon.html.COLGROUP.tag
7239
web2py.gluon.html.DIV.tag
7240
web2py.gluon.html.EM.tag
7241
web2py.gluon.html.EMBED.tag
7242
web2py.gluon.html.FIELDSET.tag
7243
web2py.gluon.html.FORM.tag
7244
web2py.gluon.html.H1.tag
7245
web2py.gluon.html.H2.tag
7246
web2py.gluon.html.H3.tag
7247
web2py.gluon.html.H4.tag
7248
web2py.gluon.html.H5.tag
7249
web2py.gluon.html.H6.tag
7250
web2py.gluon.html.HEAD.tag
7251
web2py.gluon.html.HR.tag
7252
web2py.gluon.html.HTML.tag
7253
web2py.gluon.html.I.tag
7254
web2py.gluon.html.IFRAME.tag
7255
web2py.gluon.html.IMG.tag
7256
web2py.gluon.html.INPUT.tag
7257
web2py.gluon.html.LABEL.tag
7258
web2py.gluon.html.LEGEND.tag
7259
web2py.gluon.html.LI.tag
7260
web2py.gluon.html.LINK.tag
7261
web2py.gluon.html.MENU.tag
7262
web2py.gluon.html.META.tag
7263
web2py.gluon.html.OBJECT.tag
7264
web2py.gluon.html.OL.tag
7265
web2py.gluon.html.OPTGROUP.tag
7266
web2py.gluon.html.OPTION.tag
7267
web2py.gluon.html.P.tag
7268
web2py.gluon.html.PRE.tag
7269
web2py.gluon.html.SCRIPT.tag
7270
web2py.gluon.html.SELECT.tag
7271
web2py.gluon.html.SPAN.tag
7272
web2py.gluon.html.STYLE.tag
7273
web2py.gluon.html.TABLE.tag
7274
web2py.gluon.html.TBODY.tag
7275
web2py.gluon.html.TD.tag
7276
web2py.gluon.html.TEXTAREA.tag
7277
web2py.gluon.html.TFOOT.tag
7278
web2py.gluon.html.TH.tag
7279
web2py.gluon.html.THEAD.tag
7280
web2py.gluon.html.TITLE.tag
7281
web2py.gluon.html.TR.tag
7282
web2py.gluon.html.TT.tag
7283
web2py.gluon.html.UL.tag
7284
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-513', 'tag', 'link-82');">tag</a></tt><tt class="py-op">=</tt><tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">tagname</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="web2py.gluon.dal.Expression.upper" class="py-name" href="#" onclick="return doclink('link-514', 'upper', 'link-512');">upper</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7285
<a name="L2133"></a><tt class="py-lineno">2133</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
7286
<a name="L2134"></a><tt class="py-lineno">2134</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tagname</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> <tt class="py-name">tagname</tt><tt class="py-op">+=</tt><tt class="py-string">'/'</tt> </tt>
7287
<a name="L2135"></a><tt class="py-lineno">2135</tt> <tt class="py-line"> <tt id="link-515" class="py-name"><a title="web2py.gluon.html.A.tag
7288
web2py.gluon.html.B.tag
7289
web2py.gluon.html.BEAUTIFY.tag
7290
web2py.gluon.html.BODY.tag
7291
web2py.gluon.html.BR.tag
7292
web2py.gluon.html.BUTTON.tag
7293
web2py.gluon.html.CAT.tag
7294
web2py.gluon.html.CENTER.tag
7295
web2py.gluon.html.COL.tag
7296
web2py.gluon.html.COLGROUP.tag
7297
web2py.gluon.html.DIV.tag
7298
web2py.gluon.html.EM.tag
7299
web2py.gluon.html.EMBED.tag
7300
web2py.gluon.html.FIELDSET.tag
7301
web2py.gluon.html.FORM.tag
7302
web2py.gluon.html.H1.tag
7303
web2py.gluon.html.H2.tag
7304
web2py.gluon.html.H3.tag
7305
web2py.gluon.html.H4.tag
7306
web2py.gluon.html.H5.tag
7307
web2py.gluon.html.H6.tag
7308
web2py.gluon.html.HEAD.tag
7309
web2py.gluon.html.HR.tag
7310
web2py.gluon.html.HTML.tag
7311
web2py.gluon.html.I.tag
7312
web2py.gluon.html.IFRAME.tag
7313
web2py.gluon.html.IMG.tag
7314
web2py.gluon.html.INPUT.tag
7315
web2py.gluon.html.LABEL.tag
7316
web2py.gluon.html.LEGEND.tag
7317
web2py.gluon.html.LI.tag
7318
web2py.gluon.html.LINK.tag
7319
web2py.gluon.html.MENU.tag
7320
web2py.gluon.html.META.tag
7321
web2py.gluon.html.OBJECT.tag
7322
web2py.gluon.html.OL.tag
7323
web2py.gluon.html.OPTGROUP.tag
7324
web2py.gluon.html.OPTION.tag
7325
web2py.gluon.html.P.tag
7326
web2py.gluon.html.PRE.tag
7327
web2py.gluon.html.SCRIPT.tag
7328
web2py.gluon.html.SELECT.tag
7329
web2py.gluon.html.SPAN.tag
7330
web2py.gluon.html.STYLE.tag
7331
web2py.gluon.html.TABLE.tag
7332
web2py.gluon.html.TBODY.tag
7333
web2py.gluon.html.TD.tag
7334
web2py.gluon.html.TEXTAREA.tag
7335
web2py.gluon.html.TFOOT.tag
7336
web2py.gluon.html.TH.tag
7337
web2py.gluon.html.THEAD.tag
7338
web2py.gluon.html.TITLE.tag
7339
web2py.gluon.html.TR.tag
7340
web2py.gluon.html.TT.tag
7341
web2py.gluon.html.UL.tag
7342
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-515', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt id="link-516" class="py-name"><a title="web2py.gluon.TAG
7308
web2py.gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-514', 'DIV', 'link-97');">DIV</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
7309
<a name="L2171"></a><tt class="py-lineno">2171</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-515" class="py-name" targets="Method web2py.gluon.dal.Rows.last()=web2py.gluon.dal.Rows-class.html#last"><a title="web2py.gluon.dal.Rows.last" class="py-name" href="#" onclick="return doclink('link-515', 'last', 'link-515');">last</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
7310
<a name="L2172"></a><tt class="py-lineno">2172</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
7311
</div><a name="web2pyHTMLParser.handle_starttag"></a><div id="web2pyHTMLParser.handle_starttag-def"><a name="L2173"></a><tt class="py-lineno">2173</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_starttag-toggle" onclick="return toggle('web2pyHTMLParser.handle_starttag');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_starttag">handle_starttag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tagname</tt><tt class="py-op">,</tt> <tt class="py-param">attrs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7312
</div><div id="web2pyHTMLParser.handle_starttag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_starttag-expanded"><a name="L2174"></a><tt class="py-lineno">2174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tagname</tt><tt class="py-op">.</tt><tt id="link-516" class="py-name" targets="Method web2py.gluon.dal.Expression.upper()=web2py.gluon.dal.Expression-class.html#upper"><a title="web2py.gluon.dal.Expression.upper" class="py-name" href="#" onclick="return doclink('link-516', 'upper', 'link-516');">upper</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tags</tt><tt class="py-op">:</tt> </tt>
7313
<a name="L2175"></a><tt class="py-lineno">2175</tt> <tt class="py-line"> <tt id="link-517" class="py-name"><a title="web2py.gluon.html.A.tag
7314
web2py.gluon.html.B.tag
7315
web2py.gluon.html.BEAUTIFY.tag
7316
web2py.gluon.html.BODY.tag
7317
web2py.gluon.html.BR.tag
7318
web2py.gluon.html.BUTTON.tag
7319
web2py.gluon.html.CAT.tag
7320
web2py.gluon.html.CENTER.tag
7321
web2py.gluon.html.COL.tag
7322
web2py.gluon.html.COLGROUP.tag
7323
web2py.gluon.html.DIV.tag
7324
web2py.gluon.html.EM.tag
7325
web2py.gluon.html.EMBED.tag
7326
web2py.gluon.html.FIELDSET.tag
7327
web2py.gluon.html.FORM.tag
7328
web2py.gluon.html.H1.tag
7329
web2py.gluon.html.H2.tag
7330
web2py.gluon.html.H3.tag
7331
web2py.gluon.html.H4.tag
7332
web2py.gluon.html.H5.tag
7333
web2py.gluon.html.H6.tag
7334
web2py.gluon.html.HEAD.tag
7335
web2py.gluon.html.HR.tag
7336
web2py.gluon.html.HTML.tag
7337
web2py.gluon.html.I.tag
7338
web2py.gluon.html.IFRAME.tag
7339
web2py.gluon.html.IMG.tag
7340
web2py.gluon.html.INPUT.tag
7341
web2py.gluon.html.LABEL.tag
7342
web2py.gluon.html.LEGEND.tag
7343
web2py.gluon.html.LI.tag
7344
web2py.gluon.html.LINK.tag
7345
web2py.gluon.html.MENU.tag
7346
web2py.gluon.html.META.tag
7347
web2py.gluon.html.OBJECT.tag
7348
web2py.gluon.html.OL.tag
7349
web2py.gluon.html.OPTGROUP.tag
7350
web2py.gluon.html.OPTION.tag
7351
web2py.gluon.html.P.tag
7352
web2py.gluon.html.PRE.tag
7353
web2py.gluon.html.SCRIPT.tag
7354
web2py.gluon.html.SELECT.tag
7355
web2py.gluon.html.SPAN.tag
7356
web2py.gluon.html.STYLE.tag
7357
web2py.gluon.html.TABLE.tag
7358
web2py.gluon.html.TBODY.tag
7359
web2py.gluon.html.TD.tag
7360
web2py.gluon.html.TEXTAREA.tag
7361
web2py.gluon.html.TFOOT.tag
7362
web2py.gluon.html.TH.tag
7363
web2py.gluon.html.THEAD.tag
7364
web2py.gluon.html.TITLE.tag
7365
web2py.gluon.html.TR.tag
7366
web2py.gluon.html.TT.tag
7367
web2py.gluon.html.UL.tag
7368
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-517', 'tag', 'link-82');">tag</a></tt><tt class="py-op">=</tt><tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">tagname</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="web2py.gluon.dal.Expression.upper" class="py-name" href="#" onclick="return doclink('link-518', 'upper', 'link-516');">upper</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7369
<a name="L2176"></a><tt class="py-lineno">2176</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
7370
<a name="L2177"></a><tt class="py-lineno">2177</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tagname</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> <tt class="py-name">tagname</tt><tt class="py-op">+=</tt><tt class="py-string">'/'</tt> </tt>
7371
<a name="L2178"></a><tt class="py-lineno">2178</tt> <tt class="py-line"> <tt id="link-519" class="py-name"><a title="web2py.gluon.html.A.tag
7372
web2py.gluon.html.B.tag
7373
web2py.gluon.html.BEAUTIFY.tag
7374
web2py.gluon.html.BODY.tag
7375
web2py.gluon.html.BR.tag
7376
web2py.gluon.html.BUTTON.tag
7377
web2py.gluon.html.CAT.tag
7378
web2py.gluon.html.CENTER.tag
7379
web2py.gluon.html.COL.tag
7380
web2py.gluon.html.COLGROUP.tag
7381
web2py.gluon.html.DIV.tag
7382
web2py.gluon.html.EM.tag
7383
web2py.gluon.html.EMBED.tag
7384
web2py.gluon.html.FIELDSET.tag
7385
web2py.gluon.html.FORM.tag
7386
web2py.gluon.html.H1.tag
7387
web2py.gluon.html.H2.tag
7388
web2py.gluon.html.H3.tag
7389
web2py.gluon.html.H4.tag
7390
web2py.gluon.html.H5.tag
7391
web2py.gluon.html.H6.tag
7392
web2py.gluon.html.HEAD.tag
7393
web2py.gluon.html.HR.tag
7394
web2py.gluon.html.HTML.tag
7395
web2py.gluon.html.I.tag
7396
web2py.gluon.html.IFRAME.tag
7397
web2py.gluon.html.IMG.tag
7398
web2py.gluon.html.INPUT.tag
7399
web2py.gluon.html.LABEL.tag
7400
web2py.gluon.html.LEGEND.tag
7401
web2py.gluon.html.LI.tag
7402
web2py.gluon.html.LINK.tag
7403
web2py.gluon.html.MENU.tag
7404
web2py.gluon.html.META.tag
7405
web2py.gluon.html.OBJECT.tag
7406
web2py.gluon.html.OL.tag
7407
web2py.gluon.html.OPTGROUP.tag
7408
web2py.gluon.html.OPTION.tag
7409
web2py.gluon.html.P.tag
7410
web2py.gluon.html.PRE.tag
7411
web2py.gluon.html.SCRIPT.tag
7412
web2py.gluon.html.SELECT.tag
7413
web2py.gluon.html.SPAN.tag
7414
web2py.gluon.html.STYLE.tag
7415
web2py.gluon.html.TABLE.tag
7416
web2py.gluon.html.TBODY.tag
7417
web2py.gluon.html.TD.tag
7418
web2py.gluon.html.TEXTAREA.tag
7419
web2py.gluon.html.TFOOT.tag
7420
web2py.gluon.html.TH.tag
7421
web2py.gluon.html.THEAD.tag
7422
web2py.gluon.html.TITLE.tag
7423
web2py.gluon.html.TR.tag
7424
web2py.gluon.html.TT.tag
7425
web2py.gluon.html.UL.tag
7426
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-519', 'tag', 'link-82');">tag</a></tt> <tt class="py-op">=</tt> <tt id="link-520" class="py-name"><a title="web2py.gluon.TAG
7343
7427
web2py.gluon.html.TAG
7344
web2py.gluon.tools.TAG" class="py-name" href="#" onclick="return doclink('link-516', 'TAG', 'link-218');">TAG</a></tt><tt class="py-op">[</tt><tt class="py-name">tagname</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
7345
<a name="L2136"></a><tt class="py-lineno">2136</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt><tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">attrs</tt><tt class="py-op">:</tt> <tt id="link-517" class="py-name"><a title="web2py.gluon.html.A.tag
7346
web2py.gluon.html.B.tag
7347
web2py.gluon.html.BEAUTIFY.tag
7348
web2py.gluon.html.BODY.tag
7349
web2py.gluon.html.BR.tag
7350
web2py.gluon.html.BUTTON.tag
7351
web2py.gluon.html.CAT.tag
7352
web2py.gluon.html.CENTER.tag
7353
web2py.gluon.html.COL.tag
7354
web2py.gluon.html.COLGROUP.tag
7355
web2py.gluon.html.DIV.tag
7356
web2py.gluon.html.EM.tag
7357
web2py.gluon.html.EMBED.tag
7358
web2py.gluon.html.FIELDSET.tag
7359
web2py.gluon.html.FORM.tag
7360
web2py.gluon.html.H1.tag
7361
web2py.gluon.html.H2.tag
7362
web2py.gluon.html.H3.tag
7363
web2py.gluon.html.H4.tag
7364
web2py.gluon.html.H5.tag
7365
web2py.gluon.html.H6.tag
7366
web2py.gluon.html.HEAD.tag
7367
web2py.gluon.html.HR.tag
7368
web2py.gluon.html.HTML.tag
7369
web2py.gluon.html.I.tag
7370
web2py.gluon.html.IFRAME.tag
7371
web2py.gluon.html.IMG.tag
7372
web2py.gluon.html.INPUT.tag
7373
web2py.gluon.html.LABEL.tag
7374
web2py.gluon.html.LEGEND.tag
7375
web2py.gluon.html.LI.tag
7376
web2py.gluon.html.LINK.tag
7377
web2py.gluon.html.MENU.tag
7378
web2py.gluon.html.META.tag
7379
web2py.gluon.html.OBJECT.tag
7380
web2py.gluon.html.OL.tag
7381
web2py.gluon.html.OPTGROUP.tag
7382
web2py.gluon.html.OPTION.tag
7383
web2py.gluon.html.P.tag
7384
web2py.gluon.html.PRE.tag
7385
web2py.gluon.html.SCRIPT.tag
7386
web2py.gluon.html.SELECT.tag
7387
web2py.gluon.html.SPAN.tag
7388
web2py.gluon.html.STYLE.tag
7389
web2py.gluon.html.TABLE.tag
7390
web2py.gluon.html.TBODY.tag
7391
web2py.gluon.html.TD.tag
7392
web2py.gluon.html.TEXTAREA.tag
7393
web2py.gluon.html.TFOOT.tag
7394
web2py.gluon.html.TH.tag
7395
web2py.gluon.html.THEAD.tag
7396
web2py.gluon.html.TITLE.tag
7397
web2py.gluon.html.TR.tag
7398
web2py.gluon.html.TT.tag
7399
web2py.gluon.html.UL.tag
7400
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-517', 'tag', 'link-82');">tag</a></tt><tt class="py-op">[</tt><tt class="py-string">'_'</tt><tt class="py-op">+</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">value</tt> </tt>
7401
<a name="L2137"></a><tt class="py-lineno">2137</tt> <tt class="py-line"> <tt id="link-518" class="py-name"><a title="web2py.gluon.html.A.tag
7402
web2py.gluon.html.B.tag
7403
web2py.gluon.html.BEAUTIFY.tag
7404
web2py.gluon.html.BODY.tag
7405
web2py.gluon.html.BR.tag
7406
web2py.gluon.html.BUTTON.tag
7407
web2py.gluon.html.CAT.tag
7408
web2py.gluon.html.CENTER.tag
7409
web2py.gluon.html.COL.tag
7410
web2py.gluon.html.COLGROUP.tag
7411
web2py.gluon.html.DIV.tag
7412
web2py.gluon.html.EM.tag
7413
web2py.gluon.html.EMBED.tag
7414
web2py.gluon.html.FIELDSET.tag
7415
web2py.gluon.html.FORM.tag
7416
web2py.gluon.html.H1.tag
7417
web2py.gluon.html.H2.tag
7418
web2py.gluon.html.H3.tag
7419
web2py.gluon.html.H4.tag
7420
web2py.gluon.html.H5.tag
7421
web2py.gluon.html.H6.tag
7422
web2py.gluon.html.HEAD.tag
7423
web2py.gluon.html.HR.tag
7424
web2py.gluon.html.HTML.tag
7425
web2py.gluon.html.I.tag
7426
web2py.gluon.html.IFRAME.tag
7427
web2py.gluon.html.IMG.tag
7428
web2py.gluon.html.INPUT.tag
7429
web2py.gluon.html.LABEL.tag
7430
web2py.gluon.html.LEGEND.tag
7431
web2py.gluon.html.LI.tag
7432
web2py.gluon.html.LINK.tag
7433
web2py.gluon.html.MENU.tag
7434
web2py.gluon.html.META.tag
7435
web2py.gluon.html.OBJECT.tag
7436
web2py.gluon.html.OL.tag
7437
web2py.gluon.html.OPTGROUP.tag
7438
web2py.gluon.html.OPTION.tag
7439
web2py.gluon.html.P.tag
7440
web2py.gluon.html.PRE.tag
7441
web2py.gluon.html.SCRIPT.tag
7442
web2py.gluon.html.SELECT.tag
7443
web2py.gluon.html.SPAN.tag
7444
web2py.gluon.html.STYLE.tag
7445
web2py.gluon.html.TABLE.tag
7446
web2py.gluon.html.TBODY.tag
7447
web2py.gluon.html.TD.tag
7448
web2py.gluon.html.TEXTAREA.tag
7449
web2py.gluon.html.TFOOT.tag
7450
web2py.gluon.html.TH.tag
7451
web2py.gluon.html.THEAD.tag
7452
web2py.gluon.html.TITLE.tag
7453
web2py.gluon.html.TR.tag
7454
web2py.gluon.html.TT.tag
7455
web2py.gluon.html.UL.tag
7456
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-518', 'tag', 'link-82');">tag</a></tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> </tt>
7457
<a name="L2138"></a><tt class="py-lineno">2138</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="web2py.gluon.html.DIV.append
7458
web2py.gluon.template.BlockNode.append
7459
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-519', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt id="link-520" class="py-name"><a title="web2py.gluon.html.A.tag
7460
web2py.gluon.html.B.tag
7461
web2py.gluon.html.BEAUTIFY.tag
7462
web2py.gluon.html.BODY.tag
7463
web2py.gluon.html.BR.tag
7464
web2py.gluon.html.BUTTON.tag
7465
web2py.gluon.html.CAT.tag
7466
web2py.gluon.html.CENTER.tag
7467
web2py.gluon.html.COL.tag
7468
web2py.gluon.html.COLGROUP.tag
7469
web2py.gluon.html.DIV.tag
7470
web2py.gluon.html.EM.tag
7471
web2py.gluon.html.EMBED.tag
7472
web2py.gluon.html.FIELDSET.tag
7473
web2py.gluon.html.FORM.tag
7474
web2py.gluon.html.H1.tag
7475
web2py.gluon.html.H2.tag
7476
web2py.gluon.html.H3.tag
7477
web2py.gluon.html.H4.tag
7478
web2py.gluon.html.H5.tag
7479
web2py.gluon.html.H6.tag
7480
web2py.gluon.html.HEAD.tag
7481
web2py.gluon.html.HR.tag
7482
web2py.gluon.html.HTML.tag
7483
web2py.gluon.html.I.tag
7484
web2py.gluon.html.IFRAME.tag
7485
web2py.gluon.html.IMG.tag
7486
web2py.gluon.html.INPUT.tag
7487
web2py.gluon.html.LABEL.tag
7488
web2py.gluon.html.LEGEND.tag
7489
web2py.gluon.html.LI.tag
7490
web2py.gluon.html.LINK.tag
7491
web2py.gluon.html.MENU.tag
7492
web2py.gluon.html.META.tag
7493
web2py.gluon.html.OBJECT.tag
7494
web2py.gluon.html.OL.tag
7495
web2py.gluon.html.OPTGROUP.tag
7496
web2py.gluon.html.OPTION.tag
7497
web2py.gluon.html.P.tag
7498
web2py.gluon.html.PRE.tag
7499
web2py.gluon.html.SCRIPT.tag
7500
web2py.gluon.html.SELECT.tag
7501
web2py.gluon.html.SPAN.tag
7502
web2py.gluon.html.STYLE.tag
7503
web2py.gluon.html.TABLE.tag
7504
web2py.gluon.html.TBODY.tag
7505
web2py.gluon.html.TD.tag
7506
web2py.gluon.html.TEXTAREA.tag
7507
web2py.gluon.html.TFOOT.tag
7508
web2py.gluon.html.TH.tag
7509
web2py.gluon.html.THEAD.tag
7510
web2py.gluon.html.TITLE.tag
7511
web2py.gluon.html.TR.tag
7512
web2py.gluon.html.TT.tag
7513
web2py.gluon.html.UL.tag
7514
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-520', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
7515
<a name="L2139"></a><tt class="py-lineno">2139</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-521" class="py-name"><a title="web2py.gluon.html.A.tag
7516
web2py.gluon.html.B.tag
7517
web2py.gluon.html.BEAUTIFY.tag
7518
web2py.gluon.html.BODY.tag
7519
web2py.gluon.html.BR.tag
7520
web2py.gluon.html.BUTTON.tag
7521
web2py.gluon.html.CAT.tag
7522
web2py.gluon.html.CENTER.tag
7523
web2py.gluon.html.COL.tag
7524
web2py.gluon.html.COLGROUP.tag
7525
web2py.gluon.html.DIV.tag
7526
web2py.gluon.html.EM.tag
7527
web2py.gluon.html.EMBED.tag
7528
web2py.gluon.html.FIELDSET.tag
7529
web2py.gluon.html.FORM.tag
7530
web2py.gluon.html.H1.tag
7531
web2py.gluon.html.H2.tag
7532
web2py.gluon.html.H3.tag
7533
web2py.gluon.html.H4.tag
7534
web2py.gluon.html.H5.tag
7535
web2py.gluon.html.H6.tag
7536
web2py.gluon.html.HEAD.tag
7537
web2py.gluon.html.HR.tag
7538
web2py.gluon.html.HTML.tag
7539
web2py.gluon.html.I.tag
7540
web2py.gluon.html.IFRAME.tag
7541
web2py.gluon.html.IMG.tag
7542
web2py.gluon.html.INPUT.tag
7543
web2py.gluon.html.LABEL.tag
7544
web2py.gluon.html.LEGEND.tag
7545
web2py.gluon.html.LI.tag
7546
web2py.gluon.html.LINK.tag
7547
web2py.gluon.html.MENU.tag
7548
web2py.gluon.html.META.tag
7549
web2py.gluon.html.OBJECT.tag
7550
web2py.gluon.html.OL.tag
7551
web2py.gluon.html.OPTGROUP.tag
7552
web2py.gluon.html.OPTION.tag
7553
web2py.gluon.html.P.tag
7554
web2py.gluon.html.PRE.tag
7555
web2py.gluon.html.SCRIPT.tag
7556
web2py.gluon.html.SELECT.tag
7557
web2py.gluon.html.SPAN.tag
7558
web2py.gluon.html.STYLE.tag
7559
web2py.gluon.html.TABLE.tag
7560
web2py.gluon.html.TBODY.tag
7561
web2py.gluon.html.TD.tag
7562
web2py.gluon.html.TEXTAREA.tag
7563
web2py.gluon.html.TFOOT.tag
7564
web2py.gluon.html.TH.tag
7565
web2py.gluon.html.THEAD.tag
7566
web2py.gluon.html.TITLE.tag
7567
web2py.gluon.html.TR.tag
7568
web2py.gluon.html.TT.tag
7569
web2py.gluon.html.UL.tag
7570
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-521', 'tag', 'link-82');">tag</a></tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="web2py.gluon.html.A.tag
7571
web2py.gluon.html.B.tag
7572
web2py.gluon.html.BEAUTIFY.tag
7573
web2py.gluon.html.BODY.tag
7574
web2py.gluon.html.BR.tag
7575
web2py.gluon.html.BUTTON.tag
7576
web2py.gluon.html.CAT.tag
7577
web2py.gluon.html.CENTER.tag
7578
web2py.gluon.html.COL.tag
7579
web2py.gluon.html.COLGROUP.tag
7580
web2py.gluon.html.DIV.tag
7581
web2py.gluon.html.EM.tag
7582
web2py.gluon.html.EMBED.tag
7583
web2py.gluon.html.FIELDSET.tag
7584
web2py.gluon.html.FORM.tag
7585
web2py.gluon.html.H1.tag
7586
web2py.gluon.html.H2.tag
7587
web2py.gluon.html.H3.tag
7588
web2py.gluon.html.H4.tag
7589
web2py.gluon.html.H5.tag
7590
web2py.gluon.html.H6.tag
7591
web2py.gluon.html.HEAD.tag
7592
web2py.gluon.html.HR.tag
7593
web2py.gluon.html.HTML.tag
7594
web2py.gluon.html.I.tag
7595
web2py.gluon.html.IFRAME.tag
7596
web2py.gluon.html.IMG.tag
7597
web2py.gluon.html.INPUT.tag
7598
web2py.gluon.html.LABEL.tag
7599
web2py.gluon.html.LEGEND.tag
7600
web2py.gluon.html.LI.tag
7601
web2py.gluon.html.LINK.tag
7602
web2py.gluon.html.MENU.tag
7603
web2py.gluon.html.META.tag
7604
web2py.gluon.html.OBJECT.tag
7605
web2py.gluon.html.OL.tag
7606
web2py.gluon.html.OPTGROUP.tag
7607
web2py.gluon.html.OPTION.tag
7608
web2py.gluon.html.P.tag
7609
web2py.gluon.html.PRE.tag
7610
web2py.gluon.html.SCRIPT.tag
7611
web2py.gluon.html.SELECT.tag
7612
web2py.gluon.html.SPAN.tag
7613
web2py.gluon.html.STYLE.tag
7614
web2py.gluon.html.TABLE.tag
7615
web2py.gluon.html.TBODY.tag
7616
web2py.gluon.html.TD.tag
7617
web2py.gluon.html.TEXTAREA.tag
7618
web2py.gluon.html.TFOOT.tag
7619
web2py.gluon.html.TH.tag
7620
web2py.gluon.html.THEAD.tag
7621
web2py.gluon.html.TITLE.tag
7622
web2py.gluon.html.TR.tag
7623
web2py.gluon.html.TT.tag
7624
web2py.gluon.html.UL.tag
7625
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-522', 'tag', 'link-82');">tag</a></tt><tt class="py-op">.</tt><tt id="link-523" class="py-name"><a title="web2py.gluon.dal.Expression.endswith" class="py-name" href="#" onclick="return doclink('link-523', 'endswith', 'link-27');">endswith</a></tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7626
<a name="L2140"></a><tt class="py-lineno">2140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">=</tt><tt id="link-524" class="py-name"><a title="web2py.gluon.html.A.tag
7627
web2py.gluon.html.B.tag
7628
web2py.gluon.html.BEAUTIFY.tag
7629
web2py.gluon.html.BODY.tag
7630
web2py.gluon.html.BR.tag
7631
web2py.gluon.html.BUTTON.tag
7632
web2py.gluon.html.CAT.tag
7633
web2py.gluon.html.CENTER.tag
7634
web2py.gluon.html.COL.tag
7635
web2py.gluon.html.COLGROUP.tag
7636
web2py.gluon.html.DIV.tag
7637
web2py.gluon.html.EM.tag
7638
web2py.gluon.html.EMBED.tag
7639
web2py.gluon.html.FIELDSET.tag
7640
web2py.gluon.html.FORM.tag
7641
web2py.gluon.html.H1.tag
7642
web2py.gluon.html.H2.tag
7643
web2py.gluon.html.H3.tag
7644
web2py.gluon.html.H4.tag
7645
web2py.gluon.html.H5.tag
7646
web2py.gluon.html.H6.tag
7647
web2py.gluon.html.HEAD.tag
7648
web2py.gluon.html.HR.tag
7649
web2py.gluon.html.HTML.tag
7650
web2py.gluon.html.I.tag
7651
web2py.gluon.html.IFRAME.tag
7652
web2py.gluon.html.IMG.tag
7653
web2py.gluon.html.INPUT.tag
7654
web2py.gluon.html.LABEL.tag
7655
web2py.gluon.html.LEGEND.tag
7656
web2py.gluon.html.LI.tag
7657
web2py.gluon.html.LINK.tag
7658
web2py.gluon.html.MENU.tag
7659
web2py.gluon.html.META.tag
7660
web2py.gluon.html.OBJECT.tag
7661
web2py.gluon.html.OL.tag
7662
web2py.gluon.html.OPTGROUP.tag
7663
web2py.gluon.html.OPTION.tag
7664
web2py.gluon.html.P.tag
7665
web2py.gluon.html.PRE.tag
7666
web2py.gluon.html.SCRIPT.tag
7667
web2py.gluon.html.SELECT.tag
7668
web2py.gluon.html.SPAN.tag
7669
web2py.gluon.html.STYLE.tag
7670
web2py.gluon.html.TABLE.tag
7671
web2py.gluon.html.TBODY.tag
7672
web2py.gluon.html.TD.tag
7673
web2py.gluon.html.TEXTAREA.tag
7674
web2py.gluon.html.TFOOT.tag
7675
web2py.gluon.html.TH.tag
7676
web2py.gluon.html.THEAD.tag
7677
web2py.gluon.html.TITLE.tag
7678
web2py.gluon.html.TR.tag
7679
web2py.gluon.html.TT.tag
7680
web2py.gluon.html.UL.tag
7681
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-524', 'tag', 'link-82');">tag</a></tt> </tt>
7682
<a name="L2141"></a><tt class="py-lineno">2141</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
7683
<a name="L2142"></a><tt class="py-lineno">2142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name"><a title="web2py.gluon.dal.Rows.last" class="py-name" href="#" onclick="return doclink('link-525', 'last', 'link-511');">last</a></tt> <tt class="py-op">=</tt> <tt id="link-526" class="py-name"><a title="web2py.gluon.html.A.tag
7684
web2py.gluon.html.B.tag
7685
web2py.gluon.html.BEAUTIFY.tag
7686
web2py.gluon.html.BODY.tag
7687
web2py.gluon.html.BR.tag
7688
web2py.gluon.html.BUTTON.tag
7689
web2py.gluon.html.CAT.tag
7690
web2py.gluon.html.CENTER.tag
7691
web2py.gluon.html.COL.tag
7692
web2py.gluon.html.COLGROUP.tag
7693
web2py.gluon.html.DIV.tag
7694
web2py.gluon.html.EM.tag
7695
web2py.gluon.html.EMBED.tag
7696
web2py.gluon.html.FIELDSET.tag
7697
web2py.gluon.html.FORM.tag
7698
web2py.gluon.html.H1.tag
7699
web2py.gluon.html.H2.tag
7700
web2py.gluon.html.H3.tag
7701
web2py.gluon.html.H4.tag
7702
web2py.gluon.html.H5.tag
7703
web2py.gluon.html.H6.tag
7704
web2py.gluon.html.HEAD.tag
7705
web2py.gluon.html.HR.tag
7706
web2py.gluon.html.HTML.tag
7707
web2py.gluon.html.I.tag
7708
web2py.gluon.html.IFRAME.tag
7709
web2py.gluon.html.IMG.tag
7710
web2py.gluon.html.INPUT.tag
7711
web2py.gluon.html.LABEL.tag
7712
web2py.gluon.html.LEGEND.tag
7713
web2py.gluon.html.LI.tag
7714
web2py.gluon.html.LINK.tag
7715
web2py.gluon.html.MENU.tag
7716
web2py.gluon.html.META.tag
7717
web2py.gluon.html.OBJECT.tag
7718
web2py.gluon.html.OL.tag
7719
web2py.gluon.html.OPTGROUP.tag
7720
web2py.gluon.html.OPTION.tag
7721
web2py.gluon.html.P.tag
7722
web2py.gluon.html.PRE.tag
7723
web2py.gluon.html.SCRIPT.tag
7724
web2py.gluon.html.SELECT.tag
7725
web2py.gluon.html.SPAN.tag
7726
web2py.gluon.html.STYLE.tag
7727
web2py.gluon.html.TABLE.tag
7728
web2py.gluon.html.TBODY.tag
7729
web2py.gluon.html.TD.tag
7730
web2py.gluon.html.TEXTAREA.tag
7731
web2py.gluon.html.TFOOT.tag
7732
web2py.gluon.html.TH.tag
7733
web2py.gluon.html.THEAD.tag
7734
web2py.gluon.html.TITLE.tag
7735
web2py.gluon.html.TR.tag
7736
web2py.gluon.html.TT.tag
7737
web2py.gluon.html.UL.tag
7738
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-526', 'tag', 'link-82');">tag</a></tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="web2py.gluon.html.A.tag
7739
web2py.gluon.html.B.tag
7740
web2py.gluon.html.BEAUTIFY.tag
7741
web2py.gluon.html.BODY.tag
7742
web2py.gluon.html.BR.tag
7743
web2py.gluon.html.BUTTON.tag
7744
web2py.gluon.html.CAT.tag
7745
web2py.gluon.html.CENTER.tag
7746
web2py.gluon.html.COL.tag
7747
web2py.gluon.html.COLGROUP.tag
7748
web2py.gluon.html.DIV.tag
7749
web2py.gluon.html.EM.tag
7750
web2py.gluon.html.EMBED.tag
7751
web2py.gluon.html.FIELDSET.tag
7752
web2py.gluon.html.FORM.tag
7753
web2py.gluon.html.H1.tag
7754
web2py.gluon.html.H2.tag
7755
web2py.gluon.html.H3.tag
7756
web2py.gluon.html.H4.tag
7757
web2py.gluon.html.H5.tag
7758
web2py.gluon.html.H6.tag
7759
web2py.gluon.html.HEAD.tag
7760
web2py.gluon.html.HR.tag
7761
web2py.gluon.html.HTML.tag
7762
web2py.gluon.html.I.tag
7763
web2py.gluon.html.IFRAME.tag
7764
web2py.gluon.html.IMG.tag
7765
web2py.gluon.html.INPUT.tag
7766
web2py.gluon.html.LABEL.tag
7767
web2py.gluon.html.LEGEND.tag
7768
web2py.gluon.html.LI.tag
7769
web2py.gluon.html.LINK.tag
7770
web2py.gluon.html.MENU.tag
7771
web2py.gluon.html.META.tag
7772
web2py.gluon.html.OBJECT.tag
7773
web2py.gluon.html.OL.tag
7774
web2py.gluon.html.OPTGROUP.tag
7775
web2py.gluon.html.OPTION.tag
7776
web2py.gluon.html.P.tag
7777
web2py.gluon.html.PRE.tag
7778
web2py.gluon.html.SCRIPT.tag
7779
web2py.gluon.html.SELECT.tag
7780
web2py.gluon.html.SPAN.tag
7781
web2py.gluon.html.STYLE.tag
7782
web2py.gluon.html.TABLE.tag
7783
web2py.gluon.html.TBODY.tag
7784
web2py.gluon.html.TD.tag
7785
web2py.gluon.html.TEXTAREA.tag
7786
web2py.gluon.html.TFOOT.tag
7787
web2py.gluon.html.TH.tag
7788
web2py.gluon.html.THEAD.tag
7789
web2py.gluon.html.TITLE.tag
7790
web2py.gluon.html.TR.tag
7791
web2py.gluon.html.TT.tag
7792
web2py.gluon.html.UL.tag
7793
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-527', 'tag', 'link-82');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
7794
</div><a name="web2pyHTMLParser.handle_data"></a><div id="web2pyHTMLParser.handle_data-def"><a name="L2143"></a><tt class="py-lineno">2143</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_data-toggle" onclick="return toggle('web2pyHTMLParser.handle_data');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_data">handle_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7795
</div><div id="web2pyHTMLParser.handle_data-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_data-expanded"><a name="L2144"></a><tt class="py-lineno">2144</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
7796
<a name="L2145"></a><tt class="py-lineno">2145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-528" class="py-name"><a title="web2py.gluon.html.DIV.append
7797
web2py.gluon.template.BlockNode.append
7798
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-528', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-529', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt><tt class="py-string">'xmlcharref'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7799
<a name="L2146"></a><tt class="py-lineno">2146</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
7800
<a name="L2147"></a><tt class="py-lineno">2147</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-530" class="py-name"><a title="web2py.gluon.html.DIV.append
7801
web2py.gluon.template.BlockNode.append
7802
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-530', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-531" class="py-name" targets="Method web2py.gluon.languages.lazyT.decode()=web2py.gluon.languages.lazyT-class.html#decode"><a title="web2py.gluon.languages.lazyT.decode" class="py-name" href="#" onclick="return doclink('link-531', 'decode', 'link-531');">decode</a></tt><tt class="py-op">(</tt><tt class="py-string">'latin1'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-532', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt><tt class="py-string">'xmlcharref'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7803
</div><a name="web2pyHTMLParser.handle_charref"></a><div id="web2pyHTMLParser.handle_charref-def"><a name="L2148"></a><tt class="py-lineno">2148</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_charref-toggle" onclick="return toggle('web2pyHTMLParser.handle_charref');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_charref">handle_charref</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7804
</div><div id="web2pyHTMLParser.handle_charref-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_charref-expanded"><a name="L2149"></a><tt class="py-lineno">2149</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-533" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-533', 'name', 'link-74');">name</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="web2py.gluon.dal.Expression.lower" class="py-name" href="#" onclick="return doclink('link-534', 'lower', 'link-354');">lower</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-string">'x'</tt><tt class="py-op">:</tt> </tt>
7805
<a name="L2150"></a><tt class="py-lineno">2150</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="web2py.gluon.html.DIV.append
7806
web2py.gluon.template.BlockNode.append
7807
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-535', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">unichr</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-536" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-536', 'name', 'link-74');">name</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-537" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-537', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7808
<a name="L2151"></a><tt class="py-lineno">2151</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
7809
<a name="L2152"></a><tt class="py-lineno">2152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="web2py.gluon.html.DIV.append
7810
web2py.gluon.template.BlockNode.append
7811
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-538', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">unichr</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-539" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-539', 'name', 'link-74');">name</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-540" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-540', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7812
</div><a name="web2pyHTMLParser.handle_entityref"></a><div id="web2pyHTMLParser.handle_entityref-def"><a name="L2153"></a><tt class="py-lineno">2153</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_entityref-toggle" onclick="return toggle('web2pyHTMLParser.handle_entityref');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_entityref">handle_entityref</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7813
</div><div id="web2pyHTMLParser.handle_entityref-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_entityref-expanded"><a name="L2154"></a><tt class="py-lineno">2154</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-541" class="py-name"><a title="web2py.gluon.html.DIV.append
7814
web2py.gluon.template.BlockNode.append
7815
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-541', 'append', 'link-30');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">unichr</tt><tt class="py-op">(</tt><tt class="py-name">name2codepoint</tt><tt class="py-op">[</tt><tt id="link-542" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-542', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-543" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-543', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7816
</div><a name="web2pyHTMLParser.handle_endtag"></a><div id="web2pyHTMLParser.handle_endtag-def"><a name="L2155"></a><tt class="py-lineno">2155</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_endtag-toggle" onclick="return toggle('web2pyHTMLParser.handle_endtag');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_endtag">handle_endtag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tagname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7817
</div><div id="web2pyHTMLParser.handle_endtag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_endtag-expanded"><a name="L2156"></a><tt class="py-lineno">2156</tt> <tt class="py-line"> <tt class="py-comment"># this deals with unbalanced tags</tt> </tt>
7818
<a name="L2157"></a><tt class="py-lineno">2157</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">tagname</tt><tt class="py-op">==</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="web2py.gluon.dal.Rows.last" class="py-name" href="#" onclick="return doclink('link-544', 'last', 'link-511');">last</a></tt><tt class="py-op">:</tt> </tt>
7819
<a name="L2158"></a><tt class="py-lineno">2158</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
7820
<a name="L2159"></a><tt class="py-lineno">2159</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
7821
<a name="L2160"></a><tt class="py-lineno">2160</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
7822
<a name="L2161"></a><tt class="py-lineno">2161</tt> <tt class="py-line"> <tt class="py-name">parent_tagname</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="web2py.gluon.html.A.tag
7823
web2py.gluon.html.B.tag
7824
web2py.gluon.html.BEAUTIFY.tag
7825
web2py.gluon.html.BODY.tag
7826
web2py.gluon.html.BR.tag
7827
web2py.gluon.html.BUTTON.tag
7828
web2py.gluon.html.CAT.tag
7829
web2py.gluon.html.CENTER.tag
7830
web2py.gluon.html.COL.tag
7831
web2py.gluon.html.COLGROUP.tag
7832
web2py.gluon.html.DIV.tag
7833
web2py.gluon.html.EM.tag
7834
web2py.gluon.html.EMBED.tag
7835
web2py.gluon.html.FIELDSET.tag
7836
web2py.gluon.html.FORM.tag
7837
web2py.gluon.html.H1.tag
7838
web2py.gluon.html.H2.tag
7839
web2py.gluon.html.H3.tag
7840
web2py.gluon.html.H4.tag
7841
web2py.gluon.html.H5.tag
7842
web2py.gluon.html.H6.tag
7843
web2py.gluon.html.HEAD.tag
7844
web2py.gluon.html.HR.tag
7845
web2py.gluon.html.HTML.tag
7846
web2py.gluon.html.I.tag
7847
web2py.gluon.html.IFRAME.tag
7848
web2py.gluon.html.IMG.tag
7849
web2py.gluon.html.INPUT.tag
7850
web2py.gluon.html.LABEL.tag
7851
web2py.gluon.html.LEGEND.tag
7852
web2py.gluon.html.LI.tag
7853
web2py.gluon.html.LINK.tag
7854
web2py.gluon.html.MENU.tag
7855
web2py.gluon.html.META.tag
7856
web2py.gluon.html.OBJECT.tag
7857
web2py.gluon.html.OL.tag
7858
web2py.gluon.html.OPTGROUP.tag
7859
web2py.gluon.html.OPTION.tag
7860
web2py.gluon.html.P.tag
7861
web2py.gluon.html.PRE.tag
7862
web2py.gluon.html.SCRIPT.tag
7863
web2py.gluon.html.SELECT.tag
7864
web2py.gluon.html.SPAN.tag
7865
web2py.gluon.html.STYLE.tag
7866
web2py.gluon.html.TABLE.tag
7867
web2py.gluon.html.TBODY.tag
7868
web2py.gluon.html.TD.tag
7869
web2py.gluon.html.TEXTAREA.tag
7870
web2py.gluon.html.TFOOT.tag
7871
web2py.gluon.html.TH.tag
7872
web2py.gluon.html.THEAD.tag
7873
web2py.gluon.html.TITLE.tag
7874
web2py.gluon.html.TR.tag
7875
web2py.gluon.html.TT.tag
7876
web2py.gluon.html.UL.tag
7877
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-545', 'tag', 'link-82');">tag</a></tt> </tt>
7878
<a name="L2162"></a><tt class="py-lineno">2162</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> </tt>
7879
<a name="L2163"></a><tt class="py-lineno">2163</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
7880
<a name="L2164"></a><tt class="py-lineno">2164</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">,</tt> <tt class="py-string">"unable to balance tag %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">tagname</tt> </tt>
7881
<a name="L2165"></a><tt class="py-lineno">2165</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">parent_tagname</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt id="link-546" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-546', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">tagname</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">==</tt><tt class="py-name">tagname</tt><tt class="py-op">:</tt> <tt class="py-keyword">break</tt> </tt>
7882
</div></div><a name="L2166"></a><tt class="py-lineno">2166</tt> <tt class="py-line"> </tt>
7883
<a name="markdown_serializer"></a><div id="markdown_serializer-def"><a name="L2167"></a><tt class="py-lineno">2167</tt> <a class="py-toggle" href="#" id="markdown_serializer-toggle" onclick="return toggle('markdown_serializer');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html-module.html#markdown_serializer">markdown_serializer</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt><tt class="py-param">tag</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-param">attr</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7884
</div><div id="markdown_serializer-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="markdown_serializer-expanded"><a name="L2168"></a><tt class="py-lineno">2168</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-547" class="py-name"><a title="web2py.gluon.html.A.tag
7885
web2py.gluon.html.B.tag
7886
web2py.gluon.html.BEAUTIFY.tag
7887
web2py.gluon.html.BODY.tag
7888
web2py.gluon.html.BR.tag
7889
web2py.gluon.html.BUTTON.tag
7890
web2py.gluon.html.CAT.tag
7891
web2py.gluon.html.CENTER.tag
7892
web2py.gluon.html.COL.tag
7893
web2py.gluon.html.COLGROUP.tag
7894
web2py.gluon.html.DIV.tag
7895
web2py.gluon.html.EM.tag
7896
web2py.gluon.html.EMBED.tag
7897
web2py.gluon.html.FIELDSET.tag
7898
web2py.gluon.html.FORM.tag
7899
web2py.gluon.html.H1.tag
7900
web2py.gluon.html.H2.tag
7901
web2py.gluon.html.H3.tag
7902
web2py.gluon.html.H4.tag
7903
web2py.gluon.html.H5.tag
7904
web2py.gluon.html.H6.tag
7905
web2py.gluon.html.HEAD.tag
7906
web2py.gluon.html.HR.tag
7907
web2py.gluon.html.HTML.tag
7908
web2py.gluon.html.I.tag
7909
web2py.gluon.html.IFRAME.tag
7910
web2py.gluon.html.IMG.tag
7911
web2py.gluon.html.INPUT.tag
7912
web2py.gluon.html.LABEL.tag
7913
web2py.gluon.html.LEGEND.tag
7914
web2py.gluon.html.LI.tag
7915
web2py.gluon.html.LINK.tag
7916
web2py.gluon.html.MENU.tag
7917
web2py.gluon.html.META.tag
7918
web2py.gluon.html.OBJECT.tag
7919
web2py.gluon.html.OL.tag
7920
web2py.gluon.html.OPTGROUP.tag
7921
web2py.gluon.html.OPTION.tag
7922
web2py.gluon.html.P.tag
7923
web2py.gluon.html.PRE.tag
7924
web2py.gluon.html.SCRIPT.tag
7925
web2py.gluon.html.SELECT.tag
7926
web2py.gluon.html.SPAN.tag
7927
web2py.gluon.html.STYLE.tag
7928
web2py.gluon.html.TABLE.tag
7929
web2py.gluon.html.TBODY.tag
7930
web2py.gluon.html.TD.tag
7931
web2py.gluon.html.TEXTAREA.tag
7932
web2py.gluon.html.TFOOT.tag
7933
web2py.gluon.html.TH.tag
7934
web2py.gluon.html.THEAD.tag
7935
web2py.gluon.html.TITLE.tag
7936
web2py.gluon.html.TR.tag
7937
web2py.gluon.html.TT.tag
7938
web2py.gluon.html.UL.tag
7939
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-547', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'\s+'</tt><tt class="py-op">,</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
7940
<a name="L2169"></a><tt class="py-lineno">2169</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-548" class="py-name"><a title="web2py.gluon.html.A.tag
7941
web2py.gluon.html.B.tag
7942
web2py.gluon.html.BEAUTIFY.tag
7943
web2py.gluon.html.BODY.tag
7944
web2py.gluon.html.BR.tag
7945
web2py.gluon.html.BUTTON.tag
7946
web2py.gluon.html.CAT.tag
7947
web2py.gluon.html.CENTER.tag
7948
web2py.gluon.html.COL.tag
7949
web2py.gluon.html.COLGROUP.tag
7950
web2py.gluon.html.DIV.tag
7951
web2py.gluon.html.EM.tag
7952
web2py.gluon.html.EMBED.tag
7953
web2py.gluon.html.FIELDSET.tag
7954
web2py.gluon.html.FORM.tag
7955
web2py.gluon.html.H1.tag
7956
web2py.gluon.html.H2.tag
7957
web2py.gluon.html.H3.tag
7958
web2py.gluon.html.H4.tag
7959
web2py.gluon.html.H5.tag
7960
web2py.gluon.html.H6.tag
7961
web2py.gluon.html.HEAD.tag
7962
web2py.gluon.html.HR.tag
7963
web2py.gluon.html.HTML.tag
7964
web2py.gluon.html.I.tag
7965
web2py.gluon.html.IFRAME.tag
7966
web2py.gluon.html.IMG.tag
7967
web2py.gluon.html.INPUT.tag
7968
web2py.gluon.html.LABEL.tag
7969
web2py.gluon.html.LEGEND.tag
7970
web2py.gluon.html.LI.tag
7971
web2py.gluon.html.LINK.tag
7972
web2py.gluon.html.MENU.tag
7973
web2py.gluon.html.META.tag
7974
web2py.gluon.html.OBJECT.tag
7975
web2py.gluon.html.OL.tag
7976
web2py.gluon.html.OPTGROUP.tag
7977
web2py.gluon.html.OPTION.tag
7978
web2py.gluon.html.P.tag
7979
web2py.gluon.html.PRE.tag
7980
web2py.gluon.html.SCRIPT.tag
7981
web2py.gluon.html.SELECT.tag
7982
web2py.gluon.html.SPAN.tag
7983
web2py.gluon.html.STYLE.tag
7984
web2py.gluon.html.TABLE.tag
7985
web2py.gluon.html.TBODY.tag
7986
web2py.gluon.html.TD.tag
7987
web2py.gluon.html.TEXTAREA.tag
7988
web2py.gluon.html.TFOOT.tag
7989
web2py.gluon.html.TH.tag
7990
web2py.gluon.html.THEAD.tag
7991
web2py.gluon.html.TITLE.tag
7992
web2py.gluon.html.TR.tag
7993
web2py.gluon.html.TT.tag
7994
web2py.gluon.html.UL.tag
7995
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-548', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'br'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'\n\n'</tt> </tt>
7996
<a name="L2170"></a><tt class="py-lineno">2170</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-549" class="py-name"><a title="web2py.gluon.html.A.tag
7997
web2py.gluon.html.B.tag
7998
web2py.gluon.html.BEAUTIFY.tag
7999
web2py.gluon.html.BODY.tag
8000
web2py.gluon.html.BR.tag
8001
web2py.gluon.html.BUTTON.tag
8002
web2py.gluon.html.CAT.tag
8003
web2py.gluon.html.CENTER.tag
8004
web2py.gluon.html.COL.tag
8005
web2py.gluon.html.COLGROUP.tag
8006
web2py.gluon.html.DIV.tag
8007
web2py.gluon.html.EM.tag
8008
web2py.gluon.html.EMBED.tag
8009
web2py.gluon.html.FIELDSET.tag
8010
web2py.gluon.html.FORM.tag
8011
web2py.gluon.html.H1.tag
8012
web2py.gluon.html.H2.tag
8013
web2py.gluon.html.H3.tag
8014
web2py.gluon.html.H4.tag
8015
web2py.gluon.html.H5.tag
8016
web2py.gluon.html.H6.tag
8017
web2py.gluon.html.HEAD.tag
8018
web2py.gluon.html.HR.tag
8019
web2py.gluon.html.HTML.tag
8020
web2py.gluon.html.I.tag
8021
web2py.gluon.html.IFRAME.tag
8022
web2py.gluon.html.IMG.tag
8023
web2py.gluon.html.INPUT.tag
8024
web2py.gluon.html.LABEL.tag
8025
web2py.gluon.html.LEGEND.tag
8026
web2py.gluon.html.LI.tag
8027
web2py.gluon.html.LINK.tag
8028
web2py.gluon.html.MENU.tag
8029
web2py.gluon.html.META.tag
8030
web2py.gluon.html.OBJECT.tag
8031
web2py.gluon.html.OL.tag
8032
web2py.gluon.html.OPTGROUP.tag
8033
web2py.gluon.html.OPTION.tag
8034
web2py.gluon.html.P.tag
8035
web2py.gluon.html.PRE.tag
8036
web2py.gluon.html.SCRIPT.tag
8037
web2py.gluon.html.SELECT.tag
8038
web2py.gluon.html.SPAN.tag
8039
web2py.gluon.html.STYLE.tag
8040
web2py.gluon.html.TABLE.tag
8041
web2py.gluon.html.TBODY.tag
8042
web2py.gluon.html.TD.tag
8043
web2py.gluon.html.TEXTAREA.tag
8044
web2py.gluon.html.TFOOT.tag
8045
web2py.gluon.html.TH.tag
8046
web2py.gluon.html.THEAD.tag
8047
web2py.gluon.html.TITLE.tag
8048
web2py.gluon.html.TR.tag
8049
web2py.gluon.html.TT.tag
8050
web2py.gluon.html.UL.tag
8051
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-549', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h1'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8052
<a name="L2171"></a><tt class="py-lineno">2171</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-550" class="py-name"><a title="web2py.gluon.html.A.tag
8053
web2py.gluon.html.B.tag
8054
web2py.gluon.html.BEAUTIFY.tag
8055
web2py.gluon.html.BODY.tag
8056
web2py.gluon.html.BR.tag
8057
web2py.gluon.html.BUTTON.tag
8058
web2py.gluon.html.CAT.tag
8059
web2py.gluon.html.CENTER.tag
8060
web2py.gluon.html.COL.tag
8061
web2py.gluon.html.COLGROUP.tag
8062
web2py.gluon.html.DIV.tag
8063
web2py.gluon.html.EM.tag
8064
web2py.gluon.html.EMBED.tag
8065
web2py.gluon.html.FIELDSET.tag
8066
web2py.gluon.html.FORM.tag
8067
web2py.gluon.html.H1.tag
8068
web2py.gluon.html.H2.tag
8069
web2py.gluon.html.H3.tag
8070
web2py.gluon.html.H4.tag
8071
web2py.gluon.html.H5.tag
8072
web2py.gluon.html.H6.tag
8073
web2py.gluon.html.HEAD.tag
8074
web2py.gluon.html.HR.tag
8075
web2py.gluon.html.HTML.tag
8076
web2py.gluon.html.I.tag
8077
web2py.gluon.html.IFRAME.tag
8078
web2py.gluon.html.IMG.tag
8079
web2py.gluon.html.INPUT.tag
8080
web2py.gluon.html.LABEL.tag
8081
web2py.gluon.html.LEGEND.tag
8082
web2py.gluon.html.LI.tag
8083
web2py.gluon.html.LINK.tag
8084
web2py.gluon.html.MENU.tag
8085
web2py.gluon.html.META.tag
8086
web2py.gluon.html.OBJECT.tag
8087
web2py.gluon.html.OL.tag
8088
web2py.gluon.html.OPTGROUP.tag
8089
web2py.gluon.html.OPTION.tag
8090
web2py.gluon.html.P.tag
8091
web2py.gluon.html.PRE.tag
8092
web2py.gluon.html.SCRIPT.tag
8093
web2py.gluon.html.SELECT.tag
8094
web2py.gluon.html.SPAN.tag
8095
web2py.gluon.html.STYLE.tag
8096
web2py.gluon.html.TABLE.tag
8097
web2py.gluon.html.TBODY.tag
8098
web2py.gluon.html.TD.tag
8099
web2py.gluon.html.TEXTAREA.tag
8100
web2py.gluon.html.TFOOT.tag
8101
web2py.gluon.html.TH.tag
8102
web2py.gluon.html.THEAD.tag
8103
web2py.gluon.html.TITLE.tag
8104
web2py.gluon.html.TR.tag
8105
web2py.gluon.html.TT.tag
8106
web2py.gluon.html.UL.tag
8107
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-550', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h2'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">2</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8108
<a name="L2172"></a><tt class="py-lineno">2172</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-551" class="py-name"><a title="web2py.gluon.html.A.tag
8109
web2py.gluon.html.B.tag
8110
web2py.gluon.html.BEAUTIFY.tag
8111
web2py.gluon.html.BODY.tag
8112
web2py.gluon.html.BR.tag
8113
web2py.gluon.html.BUTTON.tag
8114
web2py.gluon.html.CAT.tag
8115
web2py.gluon.html.CENTER.tag
8116
web2py.gluon.html.COL.tag
8117
web2py.gluon.html.COLGROUP.tag
8118
web2py.gluon.html.DIV.tag
8119
web2py.gluon.html.EM.tag
8120
web2py.gluon.html.EMBED.tag
8121
web2py.gluon.html.FIELDSET.tag
8122
web2py.gluon.html.FORM.tag
8123
web2py.gluon.html.H1.tag
8124
web2py.gluon.html.H2.tag
8125
web2py.gluon.html.H3.tag
8126
web2py.gluon.html.H4.tag
8127
web2py.gluon.html.H5.tag
8128
web2py.gluon.html.H6.tag
8129
web2py.gluon.html.HEAD.tag
8130
web2py.gluon.html.HR.tag
8131
web2py.gluon.html.HTML.tag
8132
web2py.gluon.html.I.tag
8133
web2py.gluon.html.IFRAME.tag
8134
web2py.gluon.html.IMG.tag
8135
web2py.gluon.html.INPUT.tag
8136
web2py.gluon.html.LABEL.tag
8137
web2py.gluon.html.LEGEND.tag
8138
web2py.gluon.html.LI.tag
8139
web2py.gluon.html.LINK.tag
8140
web2py.gluon.html.MENU.tag
8141
web2py.gluon.html.META.tag
8142
web2py.gluon.html.OBJECT.tag
8143
web2py.gluon.html.OL.tag
8144
web2py.gluon.html.OPTGROUP.tag
8145
web2py.gluon.html.OPTION.tag
8146
web2py.gluon.html.P.tag
8147
web2py.gluon.html.PRE.tag
8148
web2py.gluon.html.SCRIPT.tag
8149
web2py.gluon.html.SELECT.tag
8150
web2py.gluon.html.SPAN.tag
8151
web2py.gluon.html.STYLE.tag
8152
web2py.gluon.html.TABLE.tag
8153
web2py.gluon.html.TBODY.tag
8154
web2py.gluon.html.TD.tag
8155
web2py.gluon.html.TEXTAREA.tag
8156
web2py.gluon.html.TFOOT.tag
8157
web2py.gluon.html.TH.tag
8158
web2py.gluon.html.THEAD.tag
8159
web2py.gluon.html.TITLE.tag
8160
web2py.gluon.html.TR.tag
8161
web2py.gluon.html.TT.tag
8162
web2py.gluon.html.UL.tag
8163
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-551', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h3'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8164
<a name="L2173"></a><tt class="py-lineno">2173</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-552" class="py-name"><a title="web2py.gluon.html.A.tag
8165
web2py.gluon.html.B.tag
8166
web2py.gluon.html.BEAUTIFY.tag
8167
web2py.gluon.html.BODY.tag
8168
web2py.gluon.html.BR.tag
8169
web2py.gluon.html.BUTTON.tag
8170
web2py.gluon.html.CAT.tag
8171
web2py.gluon.html.CENTER.tag
8172
web2py.gluon.html.COL.tag
8173
web2py.gluon.html.COLGROUP.tag
8174
web2py.gluon.html.DIV.tag
8175
web2py.gluon.html.EM.tag
8176
web2py.gluon.html.EMBED.tag
8177
web2py.gluon.html.FIELDSET.tag
8178
web2py.gluon.html.FORM.tag
8179
web2py.gluon.html.H1.tag
8180
web2py.gluon.html.H2.tag
8181
web2py.gluon.html.H3.tag
8182
web2py.gluon.html.H4.tag
8183
web2py.gluon.html.H5.tag
8184
web2py.gluon.html.H6.tag
8185
web2py.gluon.html.HEAD.tag
8186
web2py.gluon.html.HR.tag
8187
web2py.gluon.html.HTML.tag
8188
web2py.gluon.html.I.tag
8189
web2py.gluon.html.IFRAME.tag
8190
web2py.gluon.html.IMG.tag
8191
web2py.gluon.html.INPUT.tag
8192
web2py.gluon.html.LABEL.tag
8193
web2py.gluon.html.LEGEND.tag
8194
web2py.gluon.html.LI.tag
8195
web2py.gluon.html.LINK.tag
8196
web2py.gluon.html.MENU.tag
8197
web2py.gluon.html.META.tag
8198
web2py.gluon.html.OBJECT.tag
8199
web2py.gluon.html.OL.tag
8200
web2py.gluon.html.OPTGROUP.tag
8201
web2py.gluon.html.OPTION.tag
8202
web2py.gluon.html.P.tag
8203
web2py.gluon.html.PRE.tag
8204
web2py.gluon.html.SCRIPT.tag
8205
web2py.gluon.html.SELECT.tag
8206
web2py.gluon.html.SPAN.tag
8207
web2py.gluon.html.STYLE.tag
8208
web2py.gluon.html.TABLE.tag
8209
web2py.gluon.html.TBODY.tag
8210
web2py.gluon.html.TD.tag
8211
web2py.gluon.html.TEXTAREA.tag
8212
web2py.gluon.html.TFOOT.tag
8213
web2py.gluon.html.TH.tag
8214
web2py.gluon.html.THEAD.tag
8215
web2py.gluon.html.TITLE.tag
8216
web2py.gluon.html.TR.tag
8217
web2py.gluon.html.TT.tag
8218
web2py.gluon.html.UL.tag
8219
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-552', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h4'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">4</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8220
<a name="L2174"></a><tt class="py-lineno">2174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-553" class="py-name"><a title="web2py.gluon.html.A.tag
8221
web2py.gluon.html.B.tag
8222
web2py.gluon.html.BEAUTIFY.tag
8223
web2py.gluon.html.BODY.tag
8224
web2py.gluon.html.BR.tag
8225
web2py.gluon.html.BUTTON.tag
8226
web2py.gluon.html.CAT.tag
8227
web2py.gluon.html.CENTER.tag
8228
web2py.gluon.html.COL.tag
8229
web2py.gluon.html.COLGROUP.tag
8230
web2py.gluon.html.DIV.tag
8231
web2py.gluon.html.EM.tag
8232
web2py.gluon.html.EMBED.tag
8233
web2py.gluon.html.FIELDSET.tag
8234
web2py.gluon.html.FORM.tag
8235
web2py.gluon.html.H1.tag
8236
web2py.gluon.html.H2.tag
8237
web2py.gluon.html.H3.tag
8238
web2py.gluon.html.H4.tag
8239
web2py.gluon.html.H5.tag
8240
web2py.gluon.html.H6.tag
8241
web2py.gluon.html.HEAD.tag
8242
web2py.gluon.html.HR.tag
8243
web2py.gluon.html.HTML.tag
8244
web2py.gluon.html.I.tag
8245
web2py.gluon.html.IFRAME.tag
8246
web2py.gluon.html.IMG.tag
8247
web2py.gluon.html.INPUT.tag
8248
web2py.gluon.html.LABEL.tag
8249
web2py.gluon.html.LEGEND.tag
8250
web2py.gluon.html.LI.tag
8251
web2py.gluon.html.LINK.tag
8252
web2py.gluon.html.MENU.tag
8253
web2py.gluon.html.META.tag
8254
web2py.gluon.html.OBJECT.tag
8255
web2py.gluon.html.OL.tag
8256
web2py.gluon.html.OPTGROUP.tag
8257
web2py.gluon.html.OPTION.tag
8258
web2py.gluon.html.P.tag
8259
web2py.gluon.html.PRE.tag
8260
web2py.gluon.html.SCRIPT.tag
8261
web2py.gluon.html.SELECT.tag
8262
web2py.gluon.html.SPAN.tag
8263
web2py.gluon.html.STYLE.tag
8264
web2py.gluon.html.TABLE.tag
8265
web2py.gluon.html.TBODY.tag
8266
web2py.gluon.html.TD.tag
8267
web2py.gluon.html.TEXTAREA.tag
8268
web2py.gluon.html.TFOOT.tag
8269
web2py.gluon.html.TH.tag
8270
web2py.gluon.html.THEAD.tag
8271
web2py.gluon.html.TITLE.tag
8272
web2py.gluon.html.TR.tag
8273
web2py.gluon.html.TT.tag
8274
web2py.gluon.html.UL.tag
8275
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-553', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'p'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8276
<a name="L2175"></a><tt class="py-lineno">2175</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-554" class="py-name"><a title="web2py.gluon.html.A.tag
8277
web2py.gluon.html.B.tag
8278
web2py.gluon.html.BEAUTIFY.tag
8279
web2py.gluon.html.BODY.tag
8280
web2py.gluon.html.BR.tag
8281
web2py.gluon.html.BUTTON.tag
8282
web2py.gluon.html.CAT.tag
8283
web2py.gluon.html.CENTER.tag
8284
web2py.gluon.html.COL.tag
8285
web2py.gluon.html.COLGROUP.tag
8286
web2py.gluon.html.DIV.tag
8287
web2py.gluon.html.EM.tag
8288
web2py.gluon.html.EMBED.tag
8289
web2py.gluon.html.FIELDSET.tag
8290
web2py.gluon.html.FORM.tag
8291
web2py.gluon.html.H1.tag
8292
web2py.gluon.html.H2.tag
8293
web2py.gluon.html.H3.tag
8294
web2py.gluon.html.H4.tag
8295
web2py.gluon.html.H5.tag
8296
web2py.gluon.html.H6.tag
8297
web2py.gluon.html.HEAD.tag
8298
web2py.gluon.html.HR.tag
8299
web2py.gluon.html.HTML.tag
8300
web2py.gluon.html.I.tag
8301
web2py.gluon.html.IFRAME.tag
8302
web2py.gluon.html.IMG.tag
8303
web2py.gluon.html.INPUT.tag
8304
web2py.gluon.html.LABEL.tag
8305
web2py.gluon.html.LEGEND.tag
8306
web2py.gluon.html.LI.tag
8307
web2py.gluon.html.LINK.tag
8308
web2py.gluon.html.MENU.tag
8309
web2py.gluon.html.META.tag
8310
web2py.gluon.html.OBJECT.tag
8311
web2py.gluon.html.OL.tag
8312
web2py.gluon.html.OPTGROUP.tag
8313
web2py.gluon.html.OPTION.tag
8314
web2py.gluon.html.P.tag
8315
web2py.gluon.html.PRE.tag
8316
web2py.gluon.html.SCRIPT.tag
8317
web2py.gluon.html.SELECT.tag
8318
web2py.gluon.html.SPAN.tag
8319
web2py.gluon.html.STYLE.tag
8320
web2py.gluon.html.TABLE.tag
8321
web2py.gluon.html.TBODY.tag
8322
web2py.gluon.html.TD.tag
8323
web2py.gluon.html.TEXTAREA.tag
8324
web2py.gluon.html.TFOOT.tag
8325
web2py.gluon.html.TH.tag
8326
web2py.gluon.html.THEAD.tag
8327
web2py.gluon.html.TITLE.tag
8328
web2py.gluon.html.TR.tag
8329
web2py.gluon.html.TT.tag
8330
web2py.gluon.html.UL.tag
8331
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-554', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'b'</tt> <tt class="py-keyword">or</tt> <tt id="link-555" class="py-name"><a title="web2py.gluon.html.A.tag
8332
web2py.gluon.html.B.tag
8333
web2py.gluon.html.BEAUTIFY.tag
8334
web2py.gluon.html.BODY.tag
8335
web2py.gluon.html.BR.tag
8336
web2py.gluon.html.BUTTON.tag
8337
web2py.gluon.html.CAT.tag
8338
web2py.gluon.html.CENTER.tag
8339
web2py.gluon.html.COL.tag
8340
web2py.gluon.html.COLGROUP.tag
8341
web2py.gluon.html.DIV.tag
8342
web2py.gluon.html.EM.tag
8343
web2py.gluon.html.EMBED.tag
8344
web2py.gluon.html.FIELDSET.tag
8345
web2py.gluon.html.FORM.tag
8346
web2py.gluon.html.H1.tag
8347
web2py.gluon.html.H2.tag
8348
web2py.gluon.html.H3.tag
8349
web2py.gluon.html.H4.tag
8350
web2py.gluon.html.H5.tag
8351
web2py.gluon.html.H6.tag
8352
web2py.gluon.html.HEAD.tag
8353
web2py.gluon.html.HR.tag
8354
web2py.gluon.html.HTML.tag
8355
web2py.gluon.html.I.tag
8356
web2py.gluon.html.IFRAME.tag
8357
web2py.gluon.html.IMG.tag
8358
web2py.gluon.html.INPUT.tag
8359
web2py.gluon.html.LABEL.tag
8360
web2py.gluon.html.LEGEND.tag
8361
web2py.gluon.html.LI.tag
8362
web2py.gluon.html.LINK.tag
8363
web2py.gluon.html.MENU.tag
8364
web2py.gluon.html.META.tag
8365
web2py.gluon.html.OBJECT.tag
8366
web2py.gluon.html.OL.tag
8367
web2py.gluon.html.OPTGROUP.tag
8368
web2py.gluon.html.OPTION.tag
8369
web2py.gluon.html.P.tag
8370
web2py.gluon.html.PRE.tag
8371
web2py.gluon.html.SCRIPT.tag
8372
web2py.gluon.html.SELECT.tag
8373
web2py.gluon.html.SPAN.tag
8374
web2py.gluon.html.STYLE.tag
8375
web2py.gluon.html.TABLE.tag
8376
web2py.gluon.html.TBODY.tag
8377
web2py.gluon.html.TD.tag
8378
web2py.gluon.html.TEXTAREA.tag
8379
web2py.gluon.html.TFOOT.tag
8380
web2py.gluon.html.TH.tag
8381
web2py.gluon.html.THEAD.tag
8382
web2py.gluon.html.TITLE.tag
8383
web2py.gluon.html.TR.tag
8384
web2py.gluon.html.TT.tag
8385
web2py.gluon.html.UL.tag
8386
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-555', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'strong'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'**%s**'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
8387
<a name="L2176"></a><tt class="py-lineno">2176</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-556" class="py-name"><a title="web2py.gluon.html.A.tag
8388
web2py.gluon.html.B.tag
8389
web2py.gluon.html.BEAUTIFY.tag
8390
web2py.gluon.html.BODY.tag
8391
web2py.gluon.html.BR.tag
8392
web2py.gluon.html.BUTTON.tag
8393
web2py.gluon.html.CAT.tag
8394
web2py.gluon.html.CENTER.tag
8395
web2py.gluon.html.COL.tag
8396
web2py.gluon.html.COLGROUP.tag
8397
web2py.gluon.html.DIV.tag
8398
web2py.gluon.html.EM.tag
8399
web2py.gluon.html.EMBED.tag
8400
web2py.gluon.html.FIELDSET.tag
8401
web2py.gluon.html.FORM.tag
8402
web2py.gluon.html.H1.tag
8403
web2py.gluon.html.H2.tag
8404
web2py.gluon.html.H3.tag
8405
web2py.gluon.html.H4.tag
8406
web2py.gluon.html.H5.tag
8407
web2py.gluon.html.H6.tag
8408
web2py.gluon.html.HEAD.tag
8409
web2py.gluon.html.HR.tag
8410
web2py.gluon.html.HTML.tag
8411
web2py.gluon.html.I.tag
8412
web2py.gluon.html.IFRAME.tag
8413
web2py.gluon.html.IMG.tag
8414
web2py.gluon.html.INPUT.tag
8415
web2py.gluon.html.LABEL.tag
8416
web2py.gluon.html.LEGEND.tag
8417
web2py.gluon.html.LI.tag
8418
web2py.gluon.html.LINK.tag
8419
web2py.gluon.html.MENU.tag
8420
web2py.gluon.html.META.tag
8421
web2py.gluon.html.OBJECT.tag
8422
web2py.gluon.html.OL.tag
8423
web2py.gluon.html.OPTGROUP.tag
8424
web2py.gluon.html.OPTION.tag
8425
web2py.gluon.html.P.tag
8426
web2py.gluon.html.PRE.tag
8427
web2py.gluon.html.SCRIPT.tag
8428
web2py.gluon.html.SELECT.tag
8429
web2py.gluon.html.SPAN.tag
8430
web2py.gluon.html.STYLE.tag
8431
web2py.gluon.html.TABLE.tag
8432
web2py.gluon.html.TBODY.tag
8433
web2py.gluon.html.TD.tag
8434
web2py.gluon.html.TEXTAREA.tag
8435
web2py.gluon.html.TFOOT.tag
8436
web2py.gluon.html.TH.tag
8437
web2py.gluon.html.THEAD.tag
8438
web2py.gluon.html.TITLE.tag
8439
web2py.gluon.html.TR.tag
8440
web2py.gluon.html.TT.tag
8441
web2py.gluon.html.UL.tag
8442
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-556', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'em'</tt> <tt class="py-keyword">or</tt> <tt id="link-557" class="py-name"><a title="web2py.gluon.html.A.tag
8443
web2py.gluon.html.B.tag
8444
web2py.gluon.html.BEAUTIFY.tag
8445
web2py.gluon.html.BODY.tag
8446
web2py.gluon.html.BR.tag
8447
web2py.gluon.html.BUTTON.tag
8448
web2py.gluon.html.CAT.tag
8449
web2py.gluon.html.CENTER.tag
8450
web2py.gluon.html.COL.tag
8451
web2py.gluon.html.COLGROUP.tag
8452
web2py.gluon.html.DIV.tag
8453
web2py.gluon.html.EM.tag
8454
web2py.gluon.html.EMBED.tag
8455
web2py.gluon.html.FIELDSET.tag
8456
web2py.gluon.html.FORM.tag
8457
web2py.gluon.html.H1.tag
8458
web2py.gluon.html.H2.tag
8459
web2py.gluon.html.H3.tag
8460
web2py.gluon.html.H4.tag
8461
web2py.gluon.html.H5.tag
8462
web2py.gluon.html.H6.tag
8463
web2py.gluon.html.HEAD.tag
8464
web2py.gluon.html.HR.tag
8465
web2py.gluon.html.HTML.tag
8466
web2py.gluon.html.I.tag
8467
web2py.gluon.html.IFRAME.tag
8468
web2py.gluon.html.IMG.tag
8469
web2py.gluon.html.INPUT.tag
8470
web2py.gluon.html.LABEL.tag
8471
web2py.gluon.html.LEGEND.tag
8472
web2py.gluon.html.LI.tag
8473
web2py.gluon.html.LINK.tag
8474
web2py.gluon.html.MENU.tag
8475
web2py.gluon.html.META.tag
8476
web2py.gluon.html.OBJECT.tag
8477
web2py.gluon.html.OL.tag
8478
web2py.gluon.html.OPTGROUP.tag
8479
web2py.gluon.html.OPTION.tag
8480
web2py.gluon.html.P.tag
8481
web2py.gluon.html.PRE.tag
8482
web2py.gluon.html.SCRIPT.tag
8483
web2py.gluon.html.SELECT.tag
8484
web2py.gluon.html.SPAN.tag
8485
web2py.gluon.html.STYLE.tag
8486
web2py.gluon.html.TABLE.tag
8487
web2py.gluon.html.TBODY.tag
8488
web2py.gluon.html.TD.tag
8489
web2py.gluon.html.TEXTAREA.tag
8490
web2py.gluon.html.TFOOT.tag
8491
web2py.gluon.html.TH.tag
8492
web2py.gluon.html.THEAD.tag
8493
web2py.gluon.html.TITLE.tag
8494
web2py.gluon.html.TR.tag
8495
web2py.gluon.html.TT.tag
8496
web2py.gluon.html.UL.tag
8497
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-557', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'i'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'*%s*'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
8498
<a name="L2177"></a><tt class="py-lineno">2177</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-558" class="py-name"><a title="web2py.gluon.html.A.tag
8499
web2py.gluon.html.B.tag
8500
web2py.gluon.html.BEAUTIFY.tag
8501
web2py.gluon.html.BODY.tag
8502
web2py.gluon.html.BR.tag
8503
web2py.gluon.html.BUTTON.tag
8504
web2py.gluon.html.CAT.tag
8505
web2py.gluon.html.CENTER.tag
8506
web2py.gluon.html.COL.tag
8507
web2py.gluon.html.COLGROUP.tag
8508
web2py.gluon.html.DIV.tag
8509
web2py.gluon.html.EM.tag
8510
web2py.gluon.html.EMBED.tag
8511
web2py.gluon.html.FIELDSET.tag
8512
web2py.gluon.html.FORM.tag
8513
web2py.gluon.html.H1.tag
8514
web2py.gluon.html.H2.tag
8515
web2py.gluon.html.H3.tag
8516
web2py.gluon.html.H4.tag
8517
web2py.gluon.html.H5.tag
8518
web2py.gluon.html.H6.tag
8519
web2py.gluon.html.HEAD.tag
8520
web2py.gluon.html.HR.tag
8521
web2py.gluon.html.HTML.tag
8522
web2py.gluon.html.I.tag
8523
web2py.gluon.html.IFRAME.tag
8524
web2py.gluon.html.IMG.tag
8525
web2py.gluon.html.INPUT.tag
8526
web2py.gluon.html.LABEL.tag
8527
web2py.gluon.html.LEGEND.tag
8528
web2py.gluon.html.LI.tag
8529
web2py.gluon.html.LINK.tag
8530
web2py.gluon.html.MENU.tag
8531
web2py.gluon.html.META.tag
8532
web2py.gluon.html.OBJECT.tag
8533
web2py.gluon.html.OL.tag
8534
web2py.gluon.html.OPTGROUP.tag
8535
web2py.gluon.html.OPTION.tag
8536
web2py.gluon.html.P.tag
8537
web2py.gluon.html.PRE.tag
8538
web2py.gluon.html.SCRIPT.tag
8539
web2py.gluon.html.SELECT.tag
8540
web2py.gluon.html.SPAN.tag
8541
web2py.gluon.html.STYLE.tag
8542
web2py.gluon.html.TABLE.tag
8543
web2py.gluon.html.TBODY.tag
8544
web2py.gluon.html.TD.tag
8545
web2py.gluon.html.TEXTAREA.tag
8546
web2py.gluon.html.TFOOT.tag
8547
web2py.gluon.html.TH.tag
8548
web2py.gluon.html.THEAD.tag
8549
web2py.gluon.html.TITLE.tag
8550
web2py.gluon.html.TR.tag
8551
web2py.gluon.html.TT.tag
8552
web2py.gluon.html.UL.tag
8553
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-558', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'tt'</tt> <tt class="py-keyword">or</tt> <tt id="link-559" class="py-name"><a title="web2py.gluon.html.A.tag
8554
web2py.gluon.html.B.tag
8555
web2py.gluon.html.BEAUTIFY.tag
8556
web2py.gluon.html.BODY.tag
8557
web2py.gluon.html.BR.tag
8558
web2py.gluon.html.BUTTON.tag
8559
web2py.gluon.html.CAT.tag
8560
web2py.gluon.html.CENTER.tag
8561
web2py.gluon.html.COL.tag
8562
web2py.gluon.html.COLGROUP.tag
8563
web2py.gluon.html.DIV.tag
8564
web2py.gluon.html.EM.tag
8565
web2py.gluon.html.EMBED.tag
8566
web2py.gluon.html.FIELDSET.tag
8567
web2py.gluon.html.FORM.tag
8568
web2py.gluon.html.H1.tag
8569
web2py.gluon.html.H2.tag
8570
web2py.gluon.html.H3.tag
8571
web2py.gluon.html.H4.tag
8572
web2py.gluon.html.H5.tag
8573
web2py.gluon.html.H6.tag
8574
web2py.gluon.html.HEAD.tag
8575
web2py.gluon.html.HR.tag
8576
web2py.gluon.html.HTML.tag
8577
web2py.gluon.html.I.tag
8578
web2py.gluon.html.IFRAME.tag
8579
web2py.gluon.html.IMG.tag
8580
web2py.gluon.html.INPUT.tag
8581
web2py.gluon.html.LABEL.tag
8582
web2py.gluon.html.LEGEND.tag
8583
web2py.gluon.html.LI.tag
8584
web2py.gluon.html.LINK.tag
8585
web2py.gluon.html.MENU.tag
8586
web2py.gluon.html.META.tag
8587
web2py.gluon.html.OBJECT.tag
8588
web2py.gluon.html.OL.tag
8589
web2py.gluon.html.OPTGROUP.tag
8590
web2py.gluon.html.OPTION.tag
8591
web2py.gluon.html.P.tag
8592
web2py.gluon.html.PRE.tag
8593
web2py.gluon.html.SCRIPT.tag
8594
web2py.gluon.html.SELECT.tag
8595
web2py.gluon.html.SPAN.tag
8596
web2py.gluon.html.STYLE.tag
8597
web2py.gluon.html.TABLE.tag
8598
web2py.gluon.html.TBODY.tag
8599
web2py.gluon.html.TD.tag
8600
web2py.gluon.html.TEXTAREA.tag
8601
web2py.gluon.html.TFOOT.tag
8602
web2py.gluon.html.TH.tag
8603
web2py.gluon.html.THEAD.tag
8604
web2py.gluon.html.TITLE.tag
8605
web2py.gluon.html.TR.tag
8606
web2py.gluon.html.TT.tag
8607
web2py.gluon.html.UL.tag
8608
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-559', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'code'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'`%s`'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
8609
<a name="L2178"></a><tt class="py-lineno">2178</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-560" class="py-name"><a title="web2py.gluon.html.A.tag
8610
web2py.gluon.html.B.tag
8611
web2py.gluon.html.BEAUTIFY.tag
8612
web2py.gluon.html.BODY.tag
8613
web2py.gluon.html.BR.tag
8614
web2py.gluon.html.BUTTON.tag
8615
web2py.gluon.html.CAT.tag
8616
web2py.gluon.html.CENTER.tag
8617
web2py.gluon.html.COL.tag
8618
web2py.gluon.html.COLGROUP.tag
8619
web2py.gluon.html.DIV.tag
8620
web2py.gluon.html.EM.tag
8621
web2py.gluon.html.EMBED.tag
8622
web2py.gluon.html.FIELDSET.tag
8623
web2py.gluon.html.FORM.tag
8624
web2py.gluon.html.H1.tag
8625
web2py.gluon.html.H2.tag
8626
web2py.gluon.html.H3.tag
8627
web2py.gluon.html.H4.tag
8628
web2py.gluon.html.H5.tag
8629
web2py.gluon.html.H6.tag
8630
web2py.gluon.html.HEAD.tag
8631
web2py.gluon.html.HR.tag
8632
web2py.gluon.html.HTML.tag
8633
web2py.gluon.html.I.tag
8634
web2py.gluon.html.IFRAME.tag
8635
web2py.gluon.html.IMG.tag
8636
web2py.gluon.html.INPUT.tag
8637
web2py.gluon.html.LABEL.tag
8638
web2py.gluon.html.LEGEND.tag
8639
web2py.gluon.html.LI.tag
8640
web2py.gluon.html.LINK.tag
8641
web2py.gluon.html.MENU.tag
8642
web2py.gluon.html.META.tag
8643
web2py.gluon.html.OBJECT.tag
8644
web2py.gluon.html.OL.tag
8645
web2py.gluon.html.OPTGROUP.tag
8646
web2py.gluon.html.OPTION.tag
8647
web2py.gluon.html.P.tag
8648
web2py.gluon.html.PRE.tag
8649
web2py.gluon.html.SCRIPT.tag
8650
web2py.gluon.html.SELECT.tag
8651
web2py.gluon.html.SPAN.tag
8652
web2py.gluon.html.STYLE.tag
8653
web2py.gluon.html.TABLE.tag
8654
web2py.gluon.html.TBODY.tag
8655
web2py.gluon.html.TD.tag
8656
web2py.gluon.html.TEXTAREA.tag
8657
web2py.gluon.html.TFOOT.tag
8658
web2py.gluon.html.TH.tag
8659
web2py.gluon.html.THEAD.tag
8660
web2py.gluon.html.TITLE.tag
8661
web2py.gluon.html.TR.tag
8662
web2py.gluon.html.TT.tag
8663
web2py.gluon.html.UL.tag
8664
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-560', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'a'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'[%s](%s)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-561', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_href'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
8665
<a name="L2179"></a><tt class="py-lineno">2179</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-562" class="py-name"><a title="web2py.gluon.html.A.tag
8666
web2py.gluon.html.B.tag
8667
web2py.gluon.html.BEAUTIFY.tag
8668
web2py.gluon.html.BODY.tag
8669
web2py.gluon.html.BR.tag
8670
web2py.gluon.html.BUTTON.tag
8671
web2py.gluon.html.CAT.tag
8672
web2py.gluon.html.CENTER.tag
8673
web2py.gluon.html.COL.tag
8674
web2py.gluon.html.COLGROUP.tag
8675
web2py.gluon.html.DIV.tag
8676
web2py.gluon.html.EM.tag
8677
web2py.gluon.html.EMBED.tag
8678
web2py.gluon.html.FIELDSET.tag
8679
web2py.gluon.html.FORM.tag
8680
web2py.gluon.html.H1.tag
8681
web2py.gluon.html.H2.tag
8682
web2py.gluon.html.H3.tag
8683
web2py.gluon.html.H4.tag
8684
web2py.gluon.html.H5.tag
8685
web2py.gluon.html.H6.tag
8686
web2py.gluon.html.HEAD.tag
8687
web2py.gluon.html.HR.tag
8688
web2py.gluon.html.HTML.tag
8689
web2py.gluon.html.I.tag
8690
web2py.gluon.html.IFRAME.tag
8691
web2py.gluon.html.IMG.tag
8692
web2py.gluon.html.INPUT.tag
8693
web2py.gluon.html.LABEL.tag
8694
web2py.gluon.html.LEGEND.tag
8695
web2py.gluon.html.LI.tag
8696
web2py.gluon.html.LINK.tag
8697
web2py.gluon.html.MENU.tag
8698
web2py.gluon.html.META.tag
8699
web2py.gluon.html.OBJECT.tag
8700
web2py.gluon.html.OL.tag
8701
web2py.gluon.html.OPTGROUP.tag
8702
web2py.gluon.html.OPTION.tag
8703
web2py.gluon.html.P.tag
8704
web2py.gluon.html.PRE.tag
8705
web2py.gluon.html.SCRIPT.tag
8706
web2py.gluon.html.SELECT.tag
8707
web2py.gluon.html.SPAN.tag
8708
web2py.gluon.html.STYLE.tag
8709
web2py.gluon.html.TABLE.tag
8710
web2py.gluon.html.TBODY.tag
8711
web2py.gluon.html.TD.tag
8712
web2py.gluon.html.TEXTAREA.tag
8713
web2py.gluon.html.TFOOT.tag
8714
web2py.gluon.html.TH.tag
8715
web2py.gluon.html.THEAD.tag
8716
web2py.gluon.html.TITLE.tag
8717
web2py.gluon.html.TR.tag
8718
web2py.gluon.html.TT.tag
8719
web2py.gluon.html.UL.tag
8720
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-562', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'img'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'![%s](%s)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-563" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-563', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_alt'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-564" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-564', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_src'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
8721
<a name="L2180"></a><tt class="py-lineno">2180</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
8722
</div><a name="L2181"></a><tt class="py-lineno">2181</tt> <tt class="py-line"> </tt>
8723
<a name="markmin_serializer"></a><div id="markmin_serializer-def"><a name="L2182"></a><tt class="py-lineno">2182</tt> <a class="py-toggle" href="#" id="markmin_serializer-toggle" onclick="return toggle('markmin_serializer');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html-module.html#markmin_serializer">markmin_serializer</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt><tt class="py-param">tag</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-param">attr</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
8724
</div><div id="markmin_serializer-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="markmin_serializer-expanded"><a name="L2183"></a><tt class="py-lineno">2183</tt> <tt class="py-line"> <tt class="py-comment"># if tag is None: return re.sub('\s+',' ',text)</tt> </tt>
8725
<a name="L2184"></a><tt class="py-lineno">2184</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-565" class="py-name"><a title="web2py.gluon.html.A.tag
8726
web2py.gluon.html.B.tag
8727
web2py.gluon.html.BEAUTIFY.tag
8728
web2py.gluon.html.BODY.tag
8729
web2py.gluon.html.BR.tag
8730
web2py.gluon.html.BUTTON.tag
8731
web2py.gluon.html.CAT.tag
8732
web2py.gluon.html.CENTER.tag
8733
web2py.gluon.html.COL.tag
8734
web2py.gluon.html.COLGROUP.tag
8735
web2py.gluon.html.DIV.tag
8736
web2py.gluon.html.EM.tag
8737
web2py.gluon.html.EMBED.tag
8738
web2py.gluon.html.FIELDSET.tag
8739
web2py.gluon.html.FORM.tag
8740
web2py.gluon.html.H1.tag
8741
web2py.gluon.html.H2.tag
8742
web2py.gluon.html.H3.tag
8743
web2py.gluon.html.H4.tag
8744
web2py.gluon.html.H5.tag
8745
web2py.gluon.html.H6.tag
8746
web2py.gluon.html.HEAD.tag
8747
web2py.gluon.html.HR.tag
8748
web2py.gluon.html.HTML.tag
8749
web2py.gluon.html.I.tag
8750
web2py.gluon.html.IFRAME.tag
8751
web2py.gluon.html.IMG.tag
8752
web2py.gluon.html.INPUT.tag
8753
web2py.gluon.html.LABEL.tag
8754
web2py.gluon.html.LEGEND.tag
8755
web2py.gluon.html.LI.tag
8756
web2py.gluon.html.LINK.tag
8757
web2py.gluon.html.MENU.tag
8758
web2py.gluon.html.META.tag
8759
web2py.gluon.html.OBJECT.tag
8760
web2py.gluon.html.OL.tag
8761
web2py.gluon.html.OPTGROUP.tag
8762
web2py.gluon.html.OPTION.tag
8763
web2py.gluon.html.P.tag
8764
web2py.gluon.html.PRE.tag
8765
web2py.gluon.html.SCRIPT.tag
8766
web2py.gluon.html.SELECT.tag
8767
web2py.gluon.html.SPAN.tag
8768
web2py.gluon.html.STYLE.tag
8769
web2py.gluon.html.TABLE.tag
8770
web2py.gluon.html.TBODY.tag
8771
web2py.gluon.html.TD.tag
8772
web2py.gluon.html.TEXTAREA.tag
8773
web2py.gluon.html.TFOOT.tag
8774
web2py.gluon.html.TH.tag
8775
web2py.gluon.html.THEAD.tag
8776
web2py.gluon.html.TITLE.tag
8777
web2py.gluon.html.TR.tag
8778
web2py.gluon.html.TT.tag
8779
web2py.gluon.html.UL.tag
8780
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-565', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'br'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'\n\n'</tt> </tt>
8781
<a name="L2185"></a><tt class="py-lineno">2185</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-566" class="py-name"><a title="web2py.gluon.html.A.tag
8782
web2py.gluon.html.B.tag
8783
web2py.gluon.html.BEAUTIFY.tag
8784
web2py.gluon.html.BODY.tag
8785
web2py.gluon.html.BR.tag
8786
web2py.gluon.html.BUTTON.tag
8787
web2py.gluon.html.CAT.tag
8788
web2py.gluon.html.CENTER.tag
8789
web2py.gluon.html.COL.tag
8790
web2py.gluon.html.COLGROUP.tag
8791
web2py.gluon.html.DIV.tag
8792
web2py.gluon.html.EM.tag
8793
web2py.gluon.html.EMBED.tag
8794
web2py.gluon.html.FIELDSET.tag
8795
web2py.gluon.html.FORM.tag
8796
web2py.gluon.html.H1.tag
8797
web2py.gluon.html.H2.tag
8798
web2py.gluon.html.H3.tag
8799
web2py.gluon.html.H4.tag
8800
web2py.gluon.html.H5.tag
8801
web2py.gluon.html.H6.tag
8802
web2py.gluon.html.HEAD.tag
8803
web2py.gluon.html.HR.tag
8804
web2py.gluon.html.HTML.tag
8805
web2py.gluon.html.I.tag
8806
web2py.gluon.html.IFRAME.tag
8807
web2py.gluon.html.IMG.tag
8808
web2py.gluon.html.INPUT.tag
8809
web2py.gluon.html.LABEL.tag
8810
web2py.gluon.html.LEGEND.tag
8811
web2py.gluon.html.LI.tag
8812
web2py.gluon.html.LINK.tag
8813
web2py.gluon.html.MENU.tag
8814
web2py.gluon.html.META.tag
8815
web2py.gluon.html.OBJECT.tag
8816
web2py.gluon.html.OL.tag
8817
web2py.gluon.html.OPTGROUP.tag
8818
web2py.gluon.html.OPTION.tag
8819
web2py.gluon.html.P.tag
8820
web2py.gluon.html.PRE.tag
8821
web2py.gluon.html.SCRIPT.tag
8822
web2py.gluon.html.SELECT.tag
8823
web2py.gluon.html.SPAN.tag
8824
web2py.gluon.html.STYLE.tag
8825
web2py.gluon.html.TABLE.tag
8826
web2py.gluon.html.TBODY.tag
8827
web2py.gluon.html.TD.tag
8828
web2py.gluon.html.TEXTAREA.tag
8829
web2py.gluon.html.TFOOT.tag
8830
web2py.gluon.html.TH.tag
8831
web2py.gluon.html.THEAD.tag
8832
web2py.gluon.html.TITLE.tag
8833
web2py.gluon.html.TR.tag
8834
web2py.gluon.html.TT.tag
8835
web2py.gluon.html.UL.tag
8836
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-566', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h1'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'# '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8837
<a name="L2186"></a><tt class="py-lineno">2186</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-567" class="py-name"><a title="web2py.gluon.html.A.tag
8838
web2py.gluon.html.B.tag
8839
web2py.gluon.html.BEAUTIFY.tag
8840
web2py.gluon.html.BODY.tag
8841
web2py.gluon.html.BR.tag
8842
web2py.gluon.html.BUTTON.tag
8843
web2py.gluon.html.CAT.tag
8844
web2py.gluon.html.CENTER.tag
8845
web2py.gluon.html.COL.tag
8846
web2py.gluon.html.COLGROUP.tag
8847
web2py.gluon.html.DIV.tag
8848
web2py.gluon.html.EM.tag
8849
web2py.gluon.html.EMBED.tag
8850
web2py.gluon.html.FIELDSET.tag
8851
web2py.gluon.html.FORM.tag
8852
web2py.gluon.html.H1.tag
8853
web2py.gluon.html.H2.tag
8854
web2py.gluon.html.H3.tag
8855
web2py.gluon.html.H4.tag
8856
web2py.gluon.html.H5.tag
8857
web2py.gluon.html.H6.tag
8858
web2py.gluon.html.HEAD.tag
8859
web2py.gluon.html.HR.tag
8860
web2py.gluon.html.HTML.tag
8861
web2py.gluon.html.I.tag
8862
web2py.gluon.html.IFRAME.tag
8863
web2py.gluon.html.IMG.tag
8864
web2py.gluon.html.INPUT.tag
8865
web2py.gluon.html.LABEL.tag
8866
web2py.gluon.html.LEGEND.tag
8867
web2py.gluon.html.LI.tag
8868
web2py.gluon.html.LINK.tag
8869
web2py.gluon.html.MENU.tag
8870
web2py.gluon.html.META.tag
8871
web2py.gluon.html.OBJECT.tag
8872
web2py.gluon.html.OL.tag
8873
web2py.gluon.html.OPTGROUP.tag
8874
web2py.gluon.html.OPTION.tag
8875
web2py.gluon.html.P.tag
8876
web2py.gluon.html.PRE.tag
8877
web2py.gluon.html.SCRIPT.tag
8878
web2py.gluon.html.SELECT.tag
8879
web2py.gluon.html.SPAN.tag
8880
web2py.gluon.html.STYLE.tag
8881
web2py.gluon.html.TABLE.tag
8882
web2py.gluon.html.TBODY.tag
8883
web2py.gluon.html.TD.tag
8884
web2py.gluon.html.TEXTAREA.tag
8885
web2py.gluon.html.TFOOT.tag
8886
web2py.gluon.html.TH.tag
8887
web2py.gluon.html.THEAD.tag
8888
web2py.gluon.html.TITLE.tag
8889
web2py.gluon.html.TR.tag
8890
web2py.gluon.html.TT.tag
8891
web2py.gluon.html.UL.tag
8892
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-567', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h2'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">2</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8893
<a name="L2187"></a><tt class="py-lineno">2187</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-568" class="py-name"><a title="web2py.gluon.html.A.tag
8894
web2py.gluon.html.B.tag
8895
web2py.gluon.html.BEAUTIFY.tag
8896
web2py.gluon.html.BODY.tag
8897
web2py.gluon.html.BR.tag
8898
web2py.gluon.html.BUTTON.tag
8899
web2py.gluon.html.CAT.tag
8900
web2py.gluon.html.CENTER.tag
8901
web2py.gluon.html.COL.tag
8902
web2py.gluon.html.COLGROUP.tag
8903
web2py.gluon.html.DIV.tag
8904
web2py.gluon.html.EM.tag
8905
web2py.gluon.html.EMBED.tag
8906
web2py.gluon.html.FIELDSET.tag
8907
web2py.gluon.html.FORM.tag
8908
web2py.gluon.html.H1.tag
8909
web2py.gluon.html.H2.tag
8910
web2py.gluon.html.H3.tag
8911
web2py.gluon.html.H4.tag
8912
web2py.gluon.html.H5.tag
8913
web2py.gluon.html.H6.tag
8914
web2py.gluon.html.HEAD.tag
8915
web2py.gluon.html.HR.tag
8916
web2py.gluon.html.HTML.tag
8917
web2py.gluon.html.I.tag
8918
web2py.gluon.html.IFRAME.tag
8919
web2py.gluon.html.IMG.tag
8920
web2py.gluon.html.INPUT.tag
8921
web2py.gluon.html.LABEL.tag
8922
web2py.gluon.html.LEGEND.tag
8923
web2py.gluon.html.LI.tag
8924
web2py.gluon.html.LINK.tag
8925
web2py.gluon.html.MENU.tag
8926
web2py.gluon.html.META.tag
8927
web2py.gluon.html.OBJECT.tag
8928
web2py.gluon.html.OL.tag
8929
web2py.gluon.html.OPTGROUP.tag
8930
web2py.gluon.html.OPTION.tag
8931
web2py.gluon.html.P.tag
8932
web2py.gluon.html.PRE.tag
8933
web2py.gluon.html.SCRIPT.tag
8934
web2py.gluon.html.SELECT.tag
8935
web2py.gluon.html.SPAN.tag
8936
web2py.gluon.html.STYLE.tag
8937
web2py.gluon.html.TABLE.tag
8938
web2py.gluon.html.TBODY.tag
8939
web2py.gluon.html.TD.tag
8940
web2py.gluon.html.TEXTAREA.tag
8941
web2py.gluon.html.TFOOT.tag
8942
web2py.gluon.html.TH.tag
8943
web2py.gluon.html.THEAD.tag
8944
web2py.gluon.html.TITLE.tag
8945
web2py.gluon.html.TR.tag
8946
web2py.gluon.html.TT.tag
8947
web2py.gluon.html.UL.tag
8948
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-568', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h3'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8949
<a name="L2188"></a><tt class="py-lineno">2188</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-569" class="py-name"><a title="web2py.gluon.html.A.tag
8950
web2py.gluon.html.B.tag
8951
web2py.gluon.html.BEAUTIFY.tag
8952
web2py.gluon.html.BODY.tag
8953
web2py.gluon.html.BR.tag
8954
web2py.gluon.html.BUTTON.tag
8955
web2py.gluon.html.CAT.tag
8956
web2py.gluon.html.CENTER.tag
8957
web2py.gluon.html.COL.tag
8958
web2py.gluon.html.COLGROUP.tag
8959
web2py.gluon.html.DIV.tag
8960
web2py.gluon.html.EM.tag
8961
web2py.gluon.html.EMBED.tag
8962
web2py.gluon.html.FIELDSET.tag
8963
web2py.gluon.html.FORM.tag
8964
web2py.gluon.html.H1.tag
8965
web2py.gluon.html.H2.tag
8966
web2py.gluon.html.H3.tag
8967
web2py.gluon.html.H4.tag
8968
web2py.gluon.html.H5.tag
8969
web2py.gluon.html.H6.tag
8970
web2py.gluon.html.HEAD.tag
8971
web2py.gluon.html.HR.tag
8972
web2py.gluon.html.HTML.tag
8973
web2py.gluon.html.I.tag
8974
web2py.gluon.html.IFRAME.tag
8975
web2py.gluon.html.IMG.tag
8976
web2py.gluon.html.INPUT.tag
8977
web2py.gluon.html.LABEL.tag
8978
web2py.gluon.html.LEGEND.tag
8979
web2py.gluon.html.LI.tag
8980
web2py.gluon.html.LINK.tag
8981
web2py.gluon.html.MENU.tag
8982
web2py.gluon.html.META.tag
8983
web2py.gluon.html.OBJECT.tag
8984
web2py.gluon.html.OL.tag
8985
web2py.gluon.html.OPTGROUP.tag
8986
web2py.gluon.html.OPTION.tag
8987
web2py.gluon.html.P.tag
8988
web2py.gluon.html.PRE.tag
8989
web2py.gluon.html.SCRIPT.tag
8990
web2py.gluon.html.SELECT.tag
8991
web2py.gluon.html.SPAN.tag
8992
web2py.gluon.html.STYLE.tag
8993
web2py.gluon.html.TABLE.tag
8994
web2py.gluon.html.TBODY.tag
8995
web2py.gluon.html.TD.tag
8996
web2py.gluon.html.TEXTAREA.tag
8997
web2py.gluon.html.TFOOT.tag
8998
web2py.gluon.html.TH.tag
8999
web2py.gluon.html.THEAD.tag
9000
web2py.gluon.html.TITLE.tag
9001
web2py.gluon.html.TR.tag
9002
web2py.gluon.html.TT.tag
9003
web2py.gluon.html.UL.tag
9004
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-569', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h4'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">4</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
9005
<a name="L2189"></a><tt class="py-lineno">2189</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-570" class="py-name"><a title="web2py.gluon.html.A.tag
9006
web2py.gluon.html.B.tag
9007
web2py.gluon.html.BEAUTIFY.tag
9008
web2py.gluon.html.BODY.tag
9009
web2py.gluon.html.BR.tag
9010
web2py.gluon.html.BUTTON.tag
9011
web2py.gluon.html.CAT.tag
9012
web2py.gluon.html.CENTER.tag
9013
web2py.gluon.html.COL.tag
9014
web2py.gluon.html.COLGROUP.tag
9015
web2py.gluon.html.DIV.tag
9016
web2py.gluon.html.EM.tag
9017
web2py.gluon.html.EMBED.tag
9018
web2py.gluon.html.FIELDSET.tag
9019
web2py.gluon.html.FORM.tag
9020
web2py.gluon.html.H1.tag
9021
web2py.gluon.html.H2.tag
9022
web2py.gluon.html.H3.tag
9023
web2py.gluon.html.H4.tag
9024
web2py.gluon.html.H5.tag
9025
web2py.gluon.html.H6.tag
9026
web2py.gluon.html.HEAD.tag
9027
web2py.gluon.html.HR.tag
9028
web2py.gluon.html.HTML.tag
9029
web2py.gluon.html.I.tag
9030
web2py.gluon.html.IFRAME.tag
9031
web2py.gluon.html.IMG.tag
9032
web2py.gluon.html.INPUT.tag
9033
web2py.gluon.html.LABEL.tag
9034
web2py.gluon.html.LEGEND.tag
9035
web2py.gluon.html.LI.tag
9036
web2py.gluon.html.LINK.tag
9037
web2py.gluon.html.MENU.tag
9038
web2py.gluon.html.META.tag
9039
web2py.gluon.html.OBJECT.tag
9040
web2py.gluon.html.OL.tag
9041
web2py.gluon.html.OPTGROUP.tag
9042
web2py.gluon.html.OPTION.tag
9043
web2py.gluon.html.P.tag
9044
web2py.gluon.html.PRE.tag
9045
web2py.gluon.html.SCRIPT.tag
9046
web2py.gluon.html.SELECT.tag
9047
web2py.gluon.html.SPAN.tag
9048
web2py.gluon.html.STYLE.tag
9049
web2py.gluon.html.TABLE.tag
9050
web2py.gluon.html.TBODY.tag
9051
web2py.gluon.html.TD.tag
9052
web2py.gluon.html.TEXTAREA.tag
9053
web2py.gluon.html.TFOOT.tag
9054
web2py.gluon.html.TH.tag
9055
web2py.gluon.html.THEAD.tag
9056
web2py.gluon.html.TITLE.tag
9057
web2py.gluon.html.TR.tag
9058
web2py.gluon.html.TT.tag
9059
web2py.gluon.html.UL.tag
9060
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-570', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'p'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
9061
<a name="L2190"></a><tt class="py-lineno">2190</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-571" class="py-name"><a title="web2py.gluon.html.A.tag
9062
web2py.gluon.html.B.tag
9063
web2py.gluon.html.BEAUTIFY.tag
9064
web2py.gluon.html.BODY.tag
9065
web2py.gluon.html.BR.tag
9066
web2py.gluon.html.BUTTON.tag
9067
web2py.gluon.html.CAT.tag
9068
web2py.gluon.html.CENTER.tag
9069
web2py.gluon.html.COL.tag
9070
web2py.gluon.html.COLGROUP.tag
9071
web2py.gluon.html.DIV.tag
9072
web2py.gluon.html.EM.tag
9073
web2py.gluon.html.EMBED.tag
9074
web2py.gluon.html.FIELDSET.tag
9075
web2py.gluon.html.FORM.tag
9076
web2py.gluon.html.H1.tag
9077
web2py.gluon.html.H2.tag
9078
web2py.gluon.html.H3.tag
9079
web2py.gluon.html.H4.tag
9080
web2py.gluon.html.H5.tag
9081
web2py.gluon.html.H6.tag
9082
web2py.gluon.html.HEAD.tag
9083
web2py.gluon.html.HR.tag
9084
web2py.gluon.html.HTML.tag
9085
web2py.gluon.html.I.tag
9086
web2py.gluon.html.IFRAME.tag
9087
web2py.gluon.html.IMG.tag
9088
web2py.gluon.html.INPUT.tag
9089
web2py.gluon.html.LABEL.tag
9090
web2py.gluon.html.LEGEND.tag
9091
web2py.gluon.html.LI.tag
9092
web2py.gluon.html.LINK.tag
9093
web2py.gluon.html.MENU.tag
9094
web2py.gluon.html.META.tag
9095
web2py.gluon.html.OBJECT.tag
9096
web2py.gluon.html.OL.tag
9097
web2py.gluon.html.OPTGROUP.tag
9098
web2py.gluon.html.OPTION.tag
9099
web2py.gluon.html.P.tag
9100
web2py.gluon.html.PRE.tag
9101
web2py.gluon.html.SCRIPT.tag
9102
web2py.gluon.html.SELECT.tag
9103
web2py.gluon.html.SPAN.tag
9104
web2py.gluon.html.STYLE.tag
9105
web2py.gluon.html.TABLE.tag
9106
web2py.gluon.html.TBODY.tag
9107
web2py.gluon.html.TD.tag
9108
web2py.gluon.html.TEXTAREA.tag
9109
web2py.gluon.html.TFOOT.tag
9110
web2py.gluon.html.TH.tag
9111
web2py.gluon.html.THEAD.tag
9112
web2py.gluon.html.TITLE.tag
9113
web2py.gluon.html.TR.tag
9114
web2py.gluon.html.TT.tag
9115
web2py.gluon.html.UL.tag
9116
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-571', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'li'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'\n- '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
9117
<a name="L2191"></a><tt class="py-lineno">2191</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-572" class="py-name"><a title="web2py.gluon.html.A.tag
9118
web2py.gluon.html.B.tag
9119
web2py.gluon.html.BEAUTIFY.tag
9120
web2py.gluon.html.BODY.tag
9121
web2py.gluon.html.BR.tag
9122
web2py.gluon.html.BUTTON.tag
9123
web2py.gluon.html.CAT.tag
9124
web2py.gluon.html.CENTER.tag
9125
web2py.gluon.html.COL.tag
9126
web2py.gluon.html.COLGROUP.tag
9127
web2py.gluon.html.DIV.tag
9128
web2py.gluon.html.EM.tag
9129
web2py.gluon.html.EMBED.tag
9130
web2py.gluon.html.FIELDSET.tag
9131
web2py.gluon.html.FORM.tag
9132
web2py.gluon.html.H1.tag
9133
web2py.gluon.html.H2.tag
9134
web2py.gluon.html.H3.tag
9135
web2py.gluon.html.H4.tag
9136
web2py.gluon.html.H5.tag
9137
web2py.gluon.html.H6.tag
9138
web2py.gluon.html.HEAD.tag
9139
web2py.gluon.html.HR.tag
9140
web2py.gluon.html.HTML.tag
9141
web2py.gluon.html.I.tag
9142
web2py.gluon.html.IFRAME.tag
9143
web2py.gluon.html.IMG.tag
9144
web2py.gluon.html.INPUT.tag
9145
web2py.gluon.html.LABEL.tag
9146
web2py.gluon.html.LEGEND.tag
9147
web2py.gluon.html.LI.tag
9148
web2py.gluon.html.LINK.tag
9149
web2py.gluon.html.MENU.tag
9150
web2py.gluon.html.META.tag
9151
web2py.gluon.html.OBJECT.tag
9152
web2py.gluon.html.OL.tag
9153
web2py.gluon.html.OPTGROUP.tag
9154
web2py.gluon.html.OPTION.tag
9155
web2py.gluon.html.P.tag
9156
web2py.gluon.html.PRE.tag
9157
web2py.gluon.html.SCRIPT.tag
9158
web2py.gluon.html.SELECT.tag
9159
web2py.gluon.html.SPAN.tag
9160
web2py.gluon.html.STYLE.tag
9161
web2py.gluon.html.TABLE.tag
9162
web2py.gluon.html.TBODY.tag
9163
web2py.gluon.html.TD.tag
9164
web2py.gluon.html.TEXTAREA.tag
9165
web2py.gluon.html.TFOOT.tag
9166
web2py.gluon.html.TH.tag
9167
web2py.gluon.html.THEAD.tag
9168
web2py.gluon.html.TITLE.tag
9169
web2py.gluon.html.TR.tag
9170
web2py.gluon.html.TT.tag
9171
web2py.gluon.html.UL.tag
9172
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-572', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'tr'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">'\n'</tt> </tt>
9173
<a name="L2192"></a><tt class="py-lineno">2192</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-573" class="py-name"><a title="web2py.gluon.html.A.tag
9174
web2py.gluon.html.B.tag
9175
web2py.gluon.html.BEAUTIFY.tag
9176
web2py.gluon.html.BODY.tag
9177
web2py.gluon.html.BR.tag
9178
web2py.gluon.html.BUTTON.tag
9179
web2py.gluon.html.CAT.tag
9180
web2py.gluon.html.CENTER.tag
9181
web2py.gluon.html.COL.tag
9182
web2py.gluon.html.COLGROUP.tag
9183
web2py.gluon.html.DIV.tag
9184
web2py.gluon.html.EM.tag
9185
web2py.gluon.html.EMBED.tag
9186
web2py.gluon.html.FIELDSET.tag
9187
web2py.gluon.html.FORM.tag
9188
web2py.gluon.html.H1.tag
9189
web2py.gluon.html.H2.tag
9190
web2py.gluon.html.H3.tag
9191
web2py.gluon.html.H4.tag
9192
web2py.gluon.html.H5.tag
9193
web2py.gluon.html.H6.tag
9194
web2py.gluon.html.HEAD.tag
9195
web2py.gluon.html.HR.tag
9196
web2py.gluon.html.HTML.tag
9197
web2py.gluon.html.I.tag
9198
web2py.gluon.html.IFRAME.tag
9199
web2py.gluon.html.IMG.tag
9200
web2py.gluon.html.INPUT.tag
9201
web2py.gluon.html.LABEL.tag
9202
web2py.gluon.html.LEGEND.tag
9203
web2py.gluon.html.LI.tag
9204
web2py.gluon.html.LINK.tag
9205
web2py.gluon.html.MENU.tag
9206
web2py.gluon.html.META.tag
9207
web2py.gluon.html.OBJECT.tag
9208
web2py.gluon.html.OL.tag
9209
web2py.gluon.html.OPTGROUP.tag
9210
web2py.gluon.html.OPTION.tag
9211
web2py.gluon.html.P.tag
9212
web2py.gluon.html.PRE.tag
9213
web2py.gluon.html.SCRIPT.tag
9214
web2py.gluon.html.SELECT.tag
9215
web2py.gluon.html.SPAN.tag
9216
web2py.gluon.html.STYLE.tag
9217
web2py.gluon.html.TABLE.tag
9218
web2py.gluon.html.TBODY.tag
9219
web2py.gluon.html.TD.tag
9220
web2py.gluon.html.TEXTAREA.tag
9221
web2py.gluon.html.TFOOT.tag
9222
web2py.gluon.html.TH.tag
9223
web2py.gluon.html.THEAD.tag
9224
web2py.gluon.html.TITLE.tag
9225
web2py.gluon.html.TR.tag
9226
web2py.gluon.html.TT.tag
9227
web2py.gluon.html.UL.tag
9228
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-573', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'table'</tt><tt class="py-op">,</tt><tt class="py-string">'blockquote'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'\n-----\n'</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n------\n'</tt> </tt>
9229
<a name="L2193"></a><tt class="py-lineno">2193</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-574" class="py-name"><a title="web2py.gluon.html.A.tag
9230
web2py.gluon.html.B.tag
9231
web2py.gluon.html.BEAUTIFY.tag
9232
web2py.gluon.html.BODY.tag
9233
web2py.gluon.html.BR.tag
9234
web2py.gluon.html.BUTTON.tag
9235
web2py.gluon.html.CAT.tag
9236
web2py.gluon.html.CENTER.tag
9237
web2py.gluon.html.COL.tag
9238
web2py.gluon.html.COLGROUP.tag
9239
web2py.gluon.html.DIV.tag
9240
web2py.gluon.html.EM.tag
9241
web2py.gluon.html.EMBED.tag
9242
web2py.gluon.html.FIELDSET.tag
9243
web2py.gluon.html.FORM.tag
9244
web2py.gluon.html.H1.tag
9245
web2py.gluon.html.H2.tag
9246
web2py.gluon.html.H3.tag
9247
web2py.gluon.html.H4.tag
9248
web2py.gluon.html.H5.tag
9249
web2py.gluon.html.H6.tag
9250
web2py.gluon.html.HEAD.tag
9251
web2py.gluon.html.HR.tag
9252
web2py.gluon.html.HTML.tag
9253
web2py.gluon.html.I.tag
9254
web2py.gluon.html.IFRAME.tag
9255
web2py.gluon.html.IMG.tag
9256
web2py.gluon.html.INPUT.tag
9257
web2py.gluon.html.LABEL.tag
9258
web2py.gluon.html.LEGEND.tag
9259
web2py.gluon.html.LI.tag
9260
web2py.gluon.html.LINK.tag
9261
web2py.gluon.html.MENU.tag
9262
web2py.gluon.html.META.tag
9263
web2py.gluon.html.OBJECT.tag
9264
web2py.gluon.html.OL.tag
9265
web2py.gluon.html.OPTGROUP.tag
9266
web2py.gluon.html.OPTION.tag
9267
web2py.gluon.html.P.tag
9268
web2py.gluon.html.PRE.tag
9269
web2py.gluon.html.SCRIPT.tag
9270
web2py.gluon.html.SELECT.tag
9271
web2py.gluon.html.SPAN.tag
9272
web2py.gluon.html.STYLE.tag
9273
web2py.gluon.html.TABLE.tag
9274
web2py.gluon.html.TBODY.tag
9275
web2py.gluon.html.TD.tag
9276
web2py.gluon.html.TEXTAREA.tag
9277
web2py.gluon.html.TFOOT.tag
9278
web2py.gluon.html.TH.tag
9279
web2py.gluon.html.THEAD.tag
9280
web2py.gluon.html.TITLE.tag
9281
web2py.gluon.html.TR.tag
9282
web2py.gluon.html.TT.tag
9283
web2py.gluon.html.UL.tag
9284
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-574', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'td'</tt><tt class="py-op">,</tt><tt class="py-string">'th'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">' | '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt> </tt>
9285
<a name="L2194"></a><tt class="py-lineno">2194</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-575" class="py-name"><a title="web2py.gluon.html.A.tag
9286
web2py.gluon.html.B.tag
9287
web2py.gluon.html.BEAUTIFY.tag
9288
web2py.gluon.html.BODY.tag
9289
web2py.gluon.html.BR.tag
9290
web2py.gluon.html.BUTTON.tag
9291
web2py.gluon.html.CAT.tag
9292
web2py.gluon.html.CENTER.tag
9293
web2py.gluon.html.COL.tag
9294
web2py.gluon.html.COLGROUP.tag
9295
web2py.gluon.html.DIV.tag
9296
web2py.gluon.html.EM.tag
9297
web2py.gluon.html.EMBED.tag
9298
web2py.gluon.html.FIELDSET.tag
9299
web2py.gluon.html.FORM.tag
9300
web2py.gluon.html.H1.tag
9301
web2py.gluon.html.H2.tag
9302
web2py.gluon.html.H3.tag
9303
web2py.gluon.html.H4.tag
9304
web2py.gluon.html.H5.tag
9305
web2py.gluon.html.H6.tag
9306
web2py.gluon.html.HEAD.tag
9307
web2py.gluon.html.HR.tag
9308
web2py.gluon.html.HTML.tag
9309
web2py.gluon.html.I.tag
9310
web2py.gluon.html.IFRAME.tag
9311
web2py.gluon.html.IMG.tag
9312
web2py.gluon.html.INPUT.tag
9313
web2py.gluon.html.LABEL.tag
9314
web2py.gluon.html.LEGEND.tag
9315
web2py.gluon.html.LI.tag
9316
web2py.gluon.html.LINK.tag
9317
web2py.gluon.html.MENU.tag
9318
web2py.gluon.html.META.tag
9319
web2py.gluon.html.OBJECT.tag
9320
web2py.gluon.html.OL.tag
9321
web2py.gluon.html.OPTGROUP.tag
9322
web2py.gluon.html.OPTION.tag
9323
web2py.gluon.html.P.tag
9324
web2py.gluon.html.PRE.tag
9325
web2py.gluon.html.SCRIPT.tag
9326
web2py.gluon.html.SELECT.tag
9327
web2py.gluon.html.SPAN.tag
9328
web2py.gluon.html.STYLE.tag
9329
web2py.gluon.html.TABLE.tag
9330
web2py.gluon.html.TBODY.tag
9331
web2py.gluon.html.TD.tag
9332
web2py.gluon.html.TEXTAREA.tag
9333
web2py.gluon.html.TFOOT.tag
9334
web2py.gluon.html.TH.tag
9335
web2py.gluon.html.THEAD.tag
9336
web2py.gluon.html.TITLE.tag
9337
web2py.gluon.html.TR.tag
9338
web2py.gluon.html.TT.tag
9339
web2py.gluon.html.UL.tag
9340
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-575', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt><tt class="py-string">'strong'</tt><tt class="py-op">,</tt><tt class="py-string">'label'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'**%s**'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
9341
<a name="L2195"></a><tt class="py-lineno">2195</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-576" class="py-name"><a title="web2py.gluon.html.A.tag
9342
web2py.gluon.html.B.tag
9343
web2py.gluon.html.BEAUTIFY.tag
9344
web2py.gluon.html.BODY.tag
9345
web2py.gluon.html.BR.tag
9346
web2py.gluon.html.BUTTON.tag
9347
web2py.gluon.html.CAT.tag
9348
web2py.gluon.html.CENTER.tag
9349
web2py.gluon.html.COL.tag
9350
web2py.gluon.html.COLGROUP.tag
9351
web2py.gluon.html.DIV.tag
9352
web2py.gluon.html.EM.tag
9353
web2py.gluon.html.EMBED.tag
9354
web2py.gluon.html.FIELDSET.tag
9355
web2py.gluon.html.FORM.tag
9356
web2py.gluon.html.H1.tag
9357
web2py.gluon.html.H2.tag
9358
web2py.gluon.html.H3.tag
9359
web2py.gluon.html.H4.tag
9360
web2py.gluon.html.H5.tag
9361
web2py.gluon.html.H6.tag
9362
web2py.gluon.html.HEAD.tag
9363
web2py.gluon.html.HR.tag
9364
web2py.gluon.html.HTML.tag
9365
web2py.gluon.html.I.tag
9366
web2py.gluon.html.IFRAME.tag
9367
web2py.gluon.html.IMG.tag
9368
web2py.gluon.html.INPUT.tag
9369
web2py.gluon.html.LABEL.tag
9370
web2py.gluon.html.LEGEND.tag
9371
web2py.gluon.html.LI.tag
9372
web2py.gluon.html.LINK.tag
9373
web2py.gluon.html.MENU.tag
9374
web2py.gluon.html.META.tag
9375
web2py.gluon.html.OBJECT.tag
9376
web2py.gluon.html.OL.tag
9377
web2py.gluon.html.OPTGROUP.tag
9378
web2py.gluon.html.OPTION.tag
9379
web2py.gluon.html.P.tag
9380
web2py.gluon.html.PRE.tag
9381
web2py.gluon.html.SCRIPT.tag
9382
web2py.gluon.html.SELECT.tag
9383
web2py.gluon.html.SPAN.tag
9384
web2py.gluon.html.STYLE.tag
9385
web2py.gluon.html.TABLE.tag
9386
web2py.gluon.html.TBODY.tag
9387
web2py.gluon.html.TD.tag
9388
web2py.gluon.html.TEXTAREA.tag
9389
web2py.gluon.html.TFOOT.tag
9390
web2py.gluon.html.TH.tag
9391
web2py.gluon.html.THEAD.tag
9392
web2py.gluon.html.TITLE.tag
9393
web2py.gluon.html.TR.tag
9394
web2py.gluon.html.TT.tag
9395
web2py.gluon.html.UL.tag
9396
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-576', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'em'</tt><tt class="py-op">,</tt><tt class="py-string">'i'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">"''%s''"</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
9397
<a name="L2196"></a><tt class="py-lineno">2196</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-577" class="py-name"><a title="web2py.gluon.html.A.tag
9398
web2py.gluon.html.B.tag
9399
web2py.gluon.html.BEAUTIFY.tag
9400
web2py.gluon.html.BODY.tag
9401
web2py.gluon.html.BR.tag
9402
web2py.gluon.html.BUTTON.tag
9403
web2py.gluon.html.CAT.tag
9404
web2py.gluon.html.CENTER.tag
9405
web2py.gluon.html.COL.tag
9406
web2py.gluon.html.COLGROUP.tag
9407
web2py.gluon.html.DIV.tag
9408
web2py.gluon.html.EM.tag
9409
web2py.gluon.html.EMBED.tag
9410
web2py.gluon.html.FIELDSET.tag
9411
web2py.gluon.html.FORM.tag
9412
web2py.gluon.html.H1.tag
9413
web2py.gluon.html.H2.tag
9414
web2py.gluon.html.H3.tag
9415
web2py.gluon.html.H4.tag
9416
web2py.gluon.html.H5.tag
9417
web2py.gluon.html.H6.tag
9418
web2py.gluon.html.HEAD.tag
9419
web2py.gluon.html.HR.tag
9420
web2py.gluon.html.HTML.tag
9421
web2py.gluon.html.I.tag
9422
web2py.gluon.html.IFRAME.tag
9423
web2py.gluon.html.IMG.tag
9424
web2py.gluon.html.INPUT.tag
9425
web2py.gluon.html.LABEL.tag
9426
web2py.gluon.html.LEGEND.tag
9427
web2py.gluon.html.LI.tag
9428
web2py.gluon.html.LINK.tag
9429
web2py.gluon.html.MENU.tag
9430
web2py.gluon.html.META.tag
9431
web2py.gluon.html.OBJECT.tag
9432
web2py.gluon.html.OL.tag
9433
web2py.gluon.html.OPTGROUP.tag
9434
web2py.gluon.html.OPTION.tag
9435
web2py.gluon.html.P.tag
9436
web2py.gluon.html.PRE.tag
9437
web2py.gluon.html.SCRIPT.tag
9438
web2py.gluon.html.SELECT.tag
9439
web2py.gluon.html.SPAN.tag
9440
web2py.gluon.html.STYLE.tag
9441
web2py.gluon.html.TABLE.tag
9442
web2py.gluon.html.TBODY.tag
9443
web2py.gluon.html.TD.tag
9444
web2py.gluon.html.TEXTAREA.tag
9445
web2py.gluon.html.TFOOT.tag
9446
web2py.gluon.html.TH.tag
9447
web2py.gluon.html.THEAD.tag
9448
web2py.gluon.html.TITLE.tag
9449
web2py.gluon.html.TR.tag
9450
web2py.gluon.html.TT.tag
9451
web2py.gluon.html.UL.tag
9452
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-577', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'tt'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'``%s``'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt id="link-578" class="py-name"><a title="web2py.gluon.sanitizer.XssCleaner.strip" class="py-name" href="#" onclick="return doclink('link-578', 'strip', 'link-143');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
9453
<a name="L2197"></a><tt class="py-lineno">2197</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-579" class="py-name"><a title="web2py.gluon.html.A.tag
9454
web2py.gluon.html.B.tag
9455
web2py.gluon.html.BEAUTIFY.tag
9456
web2py.gluon.html.BODY.tag
9457
web2py.gluon.html.BR.tag
9458
web2py.gluon.html.BUTTON.tag
9459
web2py.gluon.html.CAT.tag
9460
web2py.gluon.html.CENTER.tag
9461
web2py.gluon.html.COL.tag
9462
web2py.gluon.html.COLGROUP.tag
9463
web2py.gluon.html.DIV.tag
9464
web2py.gluon.html.EM.tag
9465
web2py.gluon.html.EMBED.tag
9466
web2py.gluon.html.FIELDSET.tag
9467
web2py.gluon.html.FORM.tag
9468
web2py.gluon.html.H1.tag
9469
web2py.gluon.html.H2.tag
9470
web2py.gluon.html.H3.tag
9471
web2py.gluon.html.H4.tag
9472
web2py.gluon.html.H5.tag
9473
web2py.gluon.html.H6.tag
9474
web2py.gluon.html.HEAD.tag
9475
web2py.gluon.html.HR.tag
9476
web2py.gluon.html.HTML.tag
9477
web2py.gluon.html.I.tag
9478
web2py.gluon.html.IFRAME.tag
9479
web2py.gluon.html.IMG.tag
9480
web2py.gluon.html.INPUT.tag
9481
web2py.gluon.html.LABEL.tag
9482
web2py.gluon.html.LEGEND.tag
9483
web2py.gluon.html.LI.tag
9484
web2py.gluon.html.LINK.tag
9485
web2py.gluon.html.MENU.tag
9486
web2py.gluon.html.META.tag
9487
web2py.gluon.html.OBJECT.tag
9488
web2py.gluon.html.OL.tag
9489
web2py.gluon.html.OPTGROUP.tag
9490
web2py.gluon.html.OPTION.tag
9491
web2py.gluon.html.P.tag
9492
web2py.gluon.html.PRE.tag
9493
web2py.gluon.html.SCRIPT.tag
9494
web2py.gluon.html.SELECT.tag
9495
web2py.gluon.html.SPAN.tag
9496
web2py.gluon.html.STYLE.tag
9497
web2py.gluon.html.TABLE.tag
9498
web2py.gluon.html.TBODY.tag
9499
web2py.gluon.html.TD.tag
9500
web2py.gluon.html.TEXTAREA.tag
9501
web2py.gluon.html.TFOOT.tag
9502
web2py.gluon.html.TH.tag
9503
web2py.gluon.html.THEAD.tag
9504
web2py.gluon.html.TITLE.tag
9505
web2py.gluon.html.TR.tag
9506
web2py.gluon.html.TT.tag
9507
web2py.gluon.html.UL.tag
9508
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-579', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'code'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'``\n%s``'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
9509
<a name="L2198"></a><tt class="py-lineno">2198</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-580" class="py-name"><a title="web2py.gluon.html.A.tag
9510
web2py.gluon.html.B.tag
9511
web2py.gluon.html.BEAUTIFY.tag
9512
web2py.gluon.html.BODY.tag
9513
web2py.gluon.html.BR.tag
9514
web2py.gluon.html.BUTTON.tag
9515
web2py.gluon.html.CAT.tag
9516
web2py.gluon.html.CENTER.tag
9517
web2py.gluon.html.COL.tag
9518
web2py.gluon.html.COLGROUP.tag
9519
web2py.gluon.html.DIV.tag
9520
web2py.gluon.html.EM.tag
9521
web2py.gluon.html.EMBED.tag
9522
web2py.gluon.html.FIELDSET.tag
9523
web2py.gluon.html.FORM.tag
9524
web2py.gluon.html.H1.tag
9525
web2py.gluon.html.H2.tag
9526
web2py.gluon.html.H3.tag
9527
web2py.gluon.html.H4.tag
9528
web2py.gluon.html.H5.tag
9529
web2py.gluon.html.H6.tag
9530
web2py.gluon.html.HEAD.tag
9531
web2py.gluon.html.HR.tag
9532
web2py.gluon.html.HTML.tag
9533
web2py.gluon.html.I.tag
9534
web2py.gluon.html.IFRAME.tag
9535
web2py.gluon.html.IMG.tag
9536
web2py.gluon.html.INPUT.tag
9537
web2py.gluon.html.LABEL.tag
9538
web2py.gluon.html.LEGEND.tag
9539
web2py.gluon.html.LI.tag
9540
web2py.gluon.html.LINK.tag
9541
web2py.gluon.html.MENU.tag
9542
web2py.gluon.html.META.tag
9543
web2py.gluon.html.OBJECT.tag
9544
web2py.gluon.html.OL.tag
9545
web2py.gluon.html.OPTGROUP.tag
9546
web2py.gluon.html.OPTION.tag
9547
web2py.gluon.html.P.tag
9548
web2py.gluon.html.PRE.tag
9549
web2py.gluon.html.SCRIPT.tag
9550
web2py.gluon.html.SELECT.tag
9551
web2py.gluon.html.SPAN.tag
9552
web2py.gluon.html.STYLE.tag
9553
web2py.gluon.html.TABLE.tag
9554
web2py.gluon.html.TBODY.tag
9555
web2py.gluon.html.TD.tag
9556
web2py.gluon.html.TEXTAREA.tag
9557
web2py.gluon.html.TFOOT.tag
9558
web2py.gluon.html.TH.tag
9559
web2py.gluon.html.THEAD.tag
9560
web2py.gluon.html.TITLE.tag
9561
web2py.gluon.html.TR.tag
9562
web2py.gluon.html.TT.tag
9563
web2py.gluon.html.UL.tag
9564
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-580', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'a'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'[[%s %s]]'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-581" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-581', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_href'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
9565
<a name="L2199"></a><tt class="py-lineno">2199</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-582" class="py-name"><a title="web2py.gluon.html.A.tag
9566
web2py.gluon.html.B.tag
9567
web2py.gluon.html.BEAUTIFY.tag
9568
web2py.gluon.html.BODY.tag
9569
web2py.gluon.html.BR.tag
9570
web2py.gluon.html.BUTTON.tag
9571
web2py.gluon.html.CAT.tag
9572
web2py.gluon.html.CENTER.tag
9573
web2py.gluon.html.COL.tag
9574
web2py.gluon.html.COLGROUP.tag
9575
web2py.gluon.html.DIV.tag
9576
web2py.gluon.html.EM.tag
9577
web2py.gluon.html.EMBED.tag
9578
web2py.gluon.html.FIELDSET.tag
9579
web2py.gluon.html.FORM.tag
9580
web2py.gluon.html.H1.tag
9581
web2py.gluon.html.H2.tag
9582
web2py.gluon.html.H3.tag
9583
web2py.gluon.html.H4.tag
9584
web2py.gluon.html.H5.tag
9585
web2py.gluon.html.H6.tag
9586
web2py.gluon.html.HEAD.tag
9587
web2py.gluon.html.HR.tag
9588
web2py.gluon.html.HTML.tag
9589
web2py.gluon.html.I.tag
9590
web2py.gluon.html.IFRAME.tag
9591
web2py.gluon.html.IMG.tag
9592
web2py.gluon.html.INPUT.tag
9593
web2py.gluon.html.LABEL.tag
9594
web2py.gluon.html.LEGEND.tag
9595
web2py.gluon.html.LI.tag
9596
web2py.gluon.html.LINK.tag
9597
web2py.gluon.html.MENU.tag
9598
web2py.gluon.html.META.tag
9599
web2py.gluon.html.OBJECT.tag
9600
web2py.gluon.html.OL.tag
9601
web2py.gluon.html.OPTGROUP.tag
9602
web2py.gluon.html.OPTION.tag
9603
web2py.gluon.html.P.tag
9604
web2py.gluon.html.PRE.tag
9605
web2py.gluon.html.SCRIPT.tag
9606
web2py.gluon.html.SELECT.tag
9607
web2py.gluon.html.SPAN.tag
9608
web2py.gluon.html.STYLE.tag
9609
web2py.gluon.html.TABLE.tag
9610
web2py.gluon.html.TBODY.tag
9611
web2py.gluon.html.TD.tag
9612
web2py.gluon.html.TEXTAREA.tag
9613
web2py.gluon.html.TFOOT.tag
9614
web2py.gluon.html.TH.tag
9615
web2py.gluon.html.THEAD.tag
9616
web2py.gluon.html.TITLE.tag
9617
web2py.gluon.html.TR.tag
9618
web2py.gluon.html.TT.tag
9619
web2py.gluon.html.UL.tag
9620
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-582', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'img'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'[[%s %s left]]'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-583" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-583', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_alt'</tt><tt class="py-op">,</tt><tt class="py-string">'no title'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-584" class="py-name"><a title="web2py.gluon.rocket.Headers.get" class="py-name" href="#" onclick="return doclink('link-584', 'get', 'link-291');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_src'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
9621
<a name="L2200"></a><tt class="py-lineno">2200</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
9622
</div><a name="L2201"></a><tt class="py-lineno">2201</tt> <tt class="py-line"> </tt>
9623
<a name="L2202"></a><tt class="py-lineno">2202</tt> <tt class="py-line"> </tt>
9624
<a name="MARKMIN"></a><div id="MARKMIN-def"><a name="L2203"></a><tt class="py-lineno">2203</tt> <a class="py-toggle" href="#" id="MARKMIN-toggle" onclick="return toggle('MARKMIN');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.MARKMIN-class.html">MARKMIN</a><tt class="py-op">(</tt><tt class="py-base-class">XmlComponent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
9625
</div><div id="MARKMIN-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MARKMIN-expanded"><a name="L2204"></a><tt class="py-lineno">2204</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
9626
<a name="L2205"></a><tt class="py-lineno">2205</tt> <tt class="py-line"><tt class="py-docstring"> For documentation: http://web2py.com/examples/static/markmin.html</tt> </tt>
9627
<a name="L2206"></a><tt class="py-lineno">2206</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
9628
<a name="MARKMIN.__init__"></a><div id="MARKMIN.__init__-def"><a name="L2207"></a><tt class="py-lineno">2207</tt> <a class="py-toggle" href="#" id="MARKMIN.__init__-toggle" onclick="return toggle('MARKMIN.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.MARKMIN-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">extra</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> <tt class="py-param">allowed</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> <tt class="py-param">sep</tt><tt class="py-op">=</tt><tt class="py-string">'p'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
9629
</div><div id="MARKMIN.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MARKMIN.__init__-expanded"><a name="L2208"></a><tt class="py-lineno">2208</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt> </tt>
9630
<a name="L2209"></a><tt class="py-lineno">2209</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">extra</tt> <tt class="py-op">=</tt> <tt class="py-name">extra</tt> </tt>
9631
<a name="L2210"></a><tt class="py-lineno">2210</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed</tt> <tt class="py-op">=</tt> <tt class="py-name">allowed</tt> </tt>
9632
<a name="L2211"></a><tt class="py-lineno">2211</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sep</tt> <tt class="py-op">=</tt> <tt class="py-name">sep</tt> </tt>
9633
</div><a name="L2212"></a><tt class="py-lineno">2212</tt> <tt class="py-line"> </tt>
9634
<a name="MARKMIN.xml"></a><div id="MARKMIN.xml-def"><a name="L2213"></a><tt class="py-lineno">2213</tt> <a class="py-toggle" href="#" id="MARKMIN.xml-toggle" onclick="return toggle('MARKMIN.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.MARKMIN-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
9635
</div><div id="MARKMIN.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MARKMIN.xml-expanded"><a name="L2214"></a><tt class="py-lineno">2214</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
9636
<a name="L2215"></a><tt class="py-lineno">2215</tt> <tt class="py-line"><tt class="py-docstring"> calls the gluon.contrib.markmin render function to convert the wiki syntax</tt> </tt>
9637
<a name="L2216"></a><tt class="py-lineno">2216</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
9638
<a name="L2217"></a><tt class="py-lineno">2217</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-585" class="py-name"><a title="web2py.gluon.globals.Response.render
9639
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-585', 'render', 'link-4');">render</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">,</tt><tt class="py-name">extra</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">extra</tt><tt class="py-op">,</tt><tt class="py-name">allowed</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed</tt><tt class="py-op">,</tt><tt class="py-name">sep</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sep</tt><tt class="py-op">)</tt> </tt>
9640
</div><a name="L2218"></a><tt class="py-lineno">2218</tt> <tt class="py-line"> </tt>
9641
<a name="MARKMIN.__str__"></a><div id="MARKMIN.__str__-def"><a name="L2219"></a><tt class="py-lineno">2219</tt> <a class="py-toggle" href="#" id="MARKMIN.__str__-toggle" onclick="return toggle('MARKMIN.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.MARKMIN-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
9642
</div><div id="MARKMIN.__str__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MARKMIN.__str__-expanded"><a name="L2220"></a><tt class="py-lineno">2220</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-586" class="py-name"><a title="web2py.gluon.dal.Rows.xml
7428
web2py.gluon.tools.TAG" class="py-name" href="#" onclick="return doclink('link-520', 'TAG', 'link-208');">TAG</a></tt><tt class="py-op">[</tt><tt class="py-name">tagname</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
7429
<a name="L2179"></a><tt class="py-lineno">2179</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt><tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">attrs</tt><tt class="py-op">:</tt> <tt id="link-521" class="py-name"><a title="web2py.gluon.html.A.tag
7430
web2py.gluon.html.B.tag
7431
web2py.gluon.html.BEAUTIFY.tag
7432
web2py.gluon.html.BODY.tag
7433
web2py.gluon.html.BR.tag
7434
web2py.gluon.html.BUTTON.tag
7435
web2py.gluon.html.CAT.tag
7436
web2py.gluon.html.CENTER.tag
7437
web2py.gluon.html.COL.tag
7438
web2py.gluon.html.COLGROUP.tag
7439
web2py.gluon.html.DIV.tag
7440
web2py.gluon.html.EM.tag
7441
web2py.gluon.html.EMBED.tag
7442
web2py.gluon.html.FIELDSET.tag
7443
web2py.gluon.html.FORM.tag
7444
web2py.gluon.html.H1.tag
7445
web2py.gluon.html.H2.tag
7446
web2py.gluon.html.H3.tag
7447
web2py.gluon.html.H4.tag
7448
web2py.gluon.html.H5.tag
7449
web2py.gluon.html.H6.tag
7450
web2py.gluon.html.HEAD.tag
7451
web2py.gluon.html.HR.tag
7452
web2py.gluon.html.HTML.tag
7453
web2py.gluon.html.I.tag
7454
web2py.gluon.html.IFRAME.tag
7455
web2py.gluon.html.IMG.tag
7456
web2py.gluon.html.INPUT.tag
7457
web2py.gluon.html.LABEL.tag
7458
web2py.gluon.html.LEGEND.tag
7459
web2py.gluon.html.LI.tag
7460
web2py.gluon.html.LINK.tag
7461
web2py.gluon.html.MENU.tag
7462
web2py.gluon.html.META.tag
7463
web2py.gluon.html.OBJECT.tag
7464
web2py.gluon.html.OL.tag
7465
web2py.gluon.html.OPTGROUP.tag
7466
web2py.gluon.html.OPTION.tag
7467
web2py.gluon.html.P.tag
7468
web2py.gluon.html.PRE.tag
7469
web2py.gluon.html.SCRIPT.tag
7470
web2py.gluon.html.SELECT.tag
7471
web2py.gluon.html.SPAN.tag
7472
web2py.gluon.html.STYLE.tag
7473
web2py.gluon.html.TABLE.tag
7474
web2py.gluon.html.TBODY.tag
7475
web2py.gluon.html.TD.tag
7476
web2py.gluon.html.TEXTAREA.tag
7477
web2py.gluon.html.TFOOT.tag
7478
web2py.gluon.html.TH.tag
7479
web2py.gluon.html.THEAD.tag
7480
web2py.gluon.html.TITLE.tag
7481
web2py.gluon.html.TR.tag
7482
web2py.gluon.html.TT.tag
7483
web2py.gluon.html.UL.tag
7484
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-521', 'tag', 'link-82');">tag</a></tt><tt class="py-op">[</tt><tt class="py-string">'_'</tt><tt class="py-op">+</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">value</tt> </tt>
7485
<a name="L2180"></a><tt class="py-lineno">2180</tt> <tt class="py-line"> <tt id="link-522" class="py-name"><a title="web2py.gluon.html.A.tag
7486
web2py.gluon.html.B.tag
7487
web2py.gluon.html.BEAUTIFY.tag
7488
web2py.gluon.html.BODY.tag
7489
web2py.gluon.html.BR.tag
7490
web2py.gluon.html.BUTTON.tag
7491
web2py.gluon.html.CAT.tag
7492
web2py.gluon.html.CENTER.tag
7493
web2py.gluon.html.COL.tag
7494
web2py.gluon.html.COLGROUP.tag
7495
web2py.gluon.html.DIV.tag
7496
web2py.gluon.html.EM.tag
7497
web2py.gluon.html.EMBED.tag
7498
web2py.gluon.html.FIELDSET.tag
7499
web2py.gluon.html.FORM.tag
7500
web2py.gluon.html.H1.tag
7501
web2py.gluon.html.H2.tag
7502
web2py.gluon.html.H3.tag
7503
web2py.gluon.html.H4.tag
7504
web2py.gluon.html.H5.tag
7505
web2py.gluon.html.H6.tag
7506
web2py.gluon.html.HEAD.tag
7507
web2py.gluon.html.HR.tag
7508
web2py.gluon.html.HTML.tag
7509
web2py.gluon.html.I.tag
7510
web2py.gluon.html.IFRAME.tag
7511
web2py.gluon.html.IMG.tag
7512
web2py.gluon.html.INPUT.tag
7513
web2py.gluon.html.LABEL.tag
7514
web2py.gluon.html.LEGEND.tag
7515
web2py.gluon.html.LI.tag
7516
web2py.gluon.html.LINK.tag
7517
web2py.gluon.html.MENU.tag
7518
web2py.gluon.html.META.tag
7519
web2py.gluon.html.OBJECT.tag
7520
web2py.gluon.html.OL.tag
7521
web2py.gluon.html.OPTGROUP.tag
7522
web2py.gluon.html.OPTION.tag
7523
web2py.gluon.html.P.tag
7524
web2py.gluon.html.PRE.tag
7525
web2py.gluon.html.SCRIPT.tag
7526
web2py.gluon.html.SELECT.tag
7527
web2py.gluon.html.SPAN.tag
7528
web2py.gluon.html.STYLE.tag
7529
web2py.gluon.html.TABLE.tag
7530
web2py.gluon.html.TBODY.tag
7531
web2py.gluon.html.TD.tag
7532
web2py.gluon.html.TEXTAREA.tag
7533
web2py.gluon.html.TFOOT.tag
7534
web2py.gluon.html.TH.tag
7535
web2py.gluon.html.THEAD.tag
7536
web2py.gluon.html.TITLE.tag
7537
web2py.gluon.html.TR.tag
7538
web2py.gluon.html.TT.tag
7539
web2py.gluon.html.UL.tag
7540
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-522', 'tag', 'link-82');">tag</a></tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> </tt>
7541
<a name="L2181"></a><tt class="py-lineno">2181</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-523" class="py-name"><a title="web2py.gluon.html.DIV.append
7542
web2py.gluon.template.BlockNode.append
7543
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-523', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt id="link-524" class="py-name"><a title="web2py.gluon.html.A.tag
7544
web2py.gluon.html.B.tag
7545
web2py.gluon.html.BEAUTIFY.tag
7546
web2py.gluon.html.BODY.tag
7547
web2py.gluon.html.BR.tag
7548
web2py.gluon.html.BUTTON.tag
7549
web2py.gluon.html.CAT.tag
7550
web2py.gluon.html.CENTER.tag
7551
web2py.gluon.html.COL.tag
7552
web2py.gluon.html.COLGROUP.tag
7553
web2py.gluon.html.DIV.tag
7554
web2py.gluon.html.EM.tag
7555
web2py.gluon.html.EMBED.tag
7556
web2py.gluon.html.FIELDSET.tag
7557
web2py.gluon.html.FORM.tag
7558
web2py.gluon.html.H1.tag
7559
web2py.gluon.html.H2.tag
7560
web2py.gluon.html.H3.tag
7561
web2py.gluon.html.H4.tag
7562
web2py.gluon.html.H5.tag
7563
web2py.gluon.html.H6.tag
7564
web2py.gluon.html.HEAD.tag
7565
web2py.gluon.html.HR.tag
7566
web2py.gluon.html.HTML.tag
7567
web2py.gluon.html.I.tag
7568
web2py.gluon.html.IFRAME.tag
7569
web2py.gluon.html.IMG.tag
7570
web2py.gluon.html.INPUT.tag
7571
web2py.gluon.html.LABEL.tag
7572
web2py.gluon.html.LEGEND.tag
7573
web2py.gluon.html.LI.tag
7574
web2py.gluon.html.LINK.tag
7575
web2py.gluon.html.MENU.tag
7576
web2py.gluon.html.META.tag
7577
web2py.gluon.html.OBJECT.tag
7578
web2py.gluon.html.OL.tag
7579
web2py.gluon.html.OPTGROUP.tag
7580
web2py.gluon.html.OPTION.tag
7581
web2py.gluon.html.P.tag
7582
web2py.gluon.html.PRE.tag
7583
web2py.gluon.html.SCRIPT.tag
7584
web2py.gluon.html.SELECT.tag
7585
web2py.gluon.html.SPAN.tag
7586
web2py.gluon.html.STYLE.tag
7587
web2py.gluon.html.TABLE.tag
7588
web2py.gluon.html.TBODY.tag
7589
web2py.gluon.html.TD.tag
7590
web2py.gluon.html.TEXTAREA.tag
7591
web2py.gluon.html.TFOOT.tag
7592
web2py.gluon.html.TH.tag
7593
web2py.gluon.html.THEAD.tag
7594
web2py.gluon.html.TITLE.tag
7595
web2py.gluon.html.TR.tag
7596
web2py.gluon.html.TT.tag
7597
web2py.gluon.html.UL.tag
7598
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-524', 'tag', 'link-82');">tag</a></tt><tt class="py-op">)</tt> </tt>
7599
<a name="L2182"></a><tt class="py-lineno">2182</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-525" class="py-name"><a title="web2py.gluon.html.A.tag
7600
web2py.gluon.html.B.tag
7601
web2py.gluon.html.BEAUTIFY.tag
7602
web2py.gluon.html.BODY.tag
7603
web2py.gluon.html.BR.tag
7604
web2py.gluon.html.BUTTON.tag
7605
web2py.gluon.html.CAT.tag
7606
web2py.gluon.html.CENTER.tag
7607
web2py.gluon.html.COL.tag
7608
web2py.gluon.html.COLGROUP.tag
7609
web2py.gluon.html.DIV.tag
7610
web2py.gluon.html.EM.tag
7611
web2py.gluon.html.EMBED.tag
7612
web2py.gluon.html.FIELDSET.tag
7613
web2py.gluon.html.FORM.tag
7614
web2py.gluon.html.H1.tag
7615
web2py.gluon.html.H2.tag
7616
web2py.gluon.html.H3.tag
7617
web2py.gluon.html.H4.tag
7618
web2py.gluon.html.H5.tag
7619
web2py.gluon.html.H6.tag
7620
web2py.gluon.html.HEAD.tag
7621
web2py.gluon.html.HR.tag
7622
web2py.gluon.html.HTML.tag
7623
web2py.gluon.html.I.tag
7624
web2py.gluon.html.IFRAME.tag
7625
web2py.gluon.html.IMG.tag
7626
web2py.gluon.html.INPUT.tag
7627
web2py.gluon.html.LABEL.tag
7628
web2py.gluon.html.LEGEND.tag
7629
web2py.gluon.html.LI.tag
7630
web2py.gluon.html.LINK.tag
7631
web2py.gluon.html.MENU.tag
7632
web2py.gluon.html.META.tag
7633
web2py.gluon.html.OBJECT.tag
7634
web2py.gluon.html.OL.tag
7635
web2py.gluon.html.OPTGROUP.tag
7636
web2py.gluon.html.OPTION.tag
7637
web2py.gluon.html.P.tag
7638
web2py.gluon.html.PRE.tag
7639
web2py.gluon.html.SCRIPT.tag
7640
web2py.gluon.html.SELECT.tag
7641
web2py.gluon.html.SPAN.tag
7642
web2py.gluon.html.STYLE.tag
7643
web2py.gluon.html.TABLE.tag
7644
web2py.gluon.html.TBODY.tag
7645
web2py.gluon.html.TD.tag
7646
web2py.gluon.html.TEXTAREA.tag
7647
web2py.gluon.html.TFOOT.tag
7648
web2py.gluon.html.TH.tag
7649
web2py.gluon.html.THEAD.tag
7650
web2py.gluon.html.TITLE.tag
7651
web2py.gluon.html.TR.tag
7652
web2py.gluon.html.TT.tag
7653
web2py.gluon.html.UL.tag
7654
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-525', 'tag', 'link-82');">tag</a></tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="web2py.gluon.html.A.tag
7655
web2py.gluon.html.B.tag
7656
web2py.gluon.html.BEAUTIFY.tag
7657
web2py.gluon.html.BODY.tag
7658
web2py.gluon.html.BR.tag
7659
web2py.gluon.html.BUTTON.tag
7660
web2py.gluon.html.CAT.tag
7661
web2py.gluon.html.CENTER.tag
7662
web2py.gluon.html.COL.tag
7663
web2py.gluon.html.COLGROUP.tag
7664
web2py.gluon.html.DIV.tag
7665
web2py.gluon.html.EM.tag
7666
web2py.gluon.html.EMBED.tag
7667
web2py.gluon.html.FIELDSET.tag
7668
web2py.gluon.html.FORM.tag
7669
web2py.gluon.html.H1.tag
7670
web2py.gluon.html.H2.tag
7671
web2py.gluon.html.H3.tag
7672
web2py.gluon.html.H4.tag
7673
web2py.gluon.html.H5.tag
7674
web2py.gluon.html.H6.tag
7675
web2py.gluon.html.HEAD.tag
7676
web2py.gluon.html.HR.tag
7677
web2py.gluon.html.HTML.tag
7678
web2py.gluon.html.I.tag
7679
web2py.gluon.html.IFRAME.tag
7680
web2py.gluon.html.IMG.tag
7681
web2py.gluon.html.INPUT.tag
7682
web2py.gluon.html.LABEL.tag
7683
web2py.gluon.html.LEGEND.tag
7684
web2py.gluon.html.LI.tag
7685
web2py.gluon.html.LINK.tag
7686
web2py.gluon.html.MENU.tag
7687
web2py.gluon.html.META.tag
7688
web2py.gluon.html.OBJECT.tag
7689
web2py.gluon.html.OL.tag
7690
web2py.gluon.html.OPTGROUP.tag
7691
web2py.gluon.html.OPTION.tag
7692
web2py.gluon.html.P.tag
7693
web2py.gluon.html.PRE.tag
7694
web2py.gluon.html.SCRIPT.tag
7695
web2py.gluon.html.SELECT.tag
7696
web2py.gluon.html.SPAN.tag
7697
web2py.gluon.html.STYLE.tag
7698
web2py.gluon.html.TABLE.tag
7699
web2py.gluon.html.TBODY.tag
7700
web2py.gluon.html.TD.tag
7701
web2py.gluon.html.TEXTAREA.tag
7702
web2py.gluon.html.TFOOT.tag
7703
web2py.gluon.html.TH.tag
7704
web2py.gluon.html.THEAD.tag
7705
web2py.gluon.html.TITLE.tag
7706
web2py.gluon.html.TR.tag
7707
web2py.gluon.html.TT.tag
7708
web2py.gluon.html.UL.tag
7709
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-526', 'tag', 'link-82');">tag</a></tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="web2py.gluon.dal.Expression.endswith" class="py-name" href="#" onclick="return doclink('link-527', 'endswith', 'link-31');">endswith</a></tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7710
<a name="L2183"></a><tt class="py-lineno">2183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">=</tt><tt id="link-528" class="py-name"><a title="web2py.gluon.html.A.tag
7711
web2py.gluon.html.B.tag
7712
web2py.gluon.html.BEAUTIFY.tag
7713
web2py.gluon.html.BODY.tag
7714
web2py.gluon.html.BR.tag
7715
web2py.gluon.html.BUTTON.tag
7716
web2py.gluon.html.CAT.tag
7717
web2py.gluon.html.CENTER.tag
7718
web2py.gluon.html.COL.tag
7719
web2py.gluon.html.COLGROUP.tag
7720
web2py.gluon.html.DIV.tag
7721
web2py.gluon.html.EM.tag
7722
web2py.gluon.html.EMBED.tag
7723
web2py.gluon.html.FIELDSET.tag
7724
web2py.gluon.html.FORM.tag
7725
web2py.gluon.html.H1.tag
7726
web2py.gluon.html.H2.tag
7727
web2py.gluon.html.H3.tag
7728
web2py.gluon.html.H4.tag
7729
web2py.gluon.html.H5.tag
7730
web2py.gluon.html.H6.tag
7731
web2py.gluon.html.HEAD.tag
7732
web2py.gluon.html.HR.tag
7733
web2py.gluon.html.HTML.tag
7734
web2py.gluon.html.I.tag
7735
web2py.gluon.html.IFRAME.tag
7736
web2py.gluon.html.IMG.tag
7737
web2py.gluon.html.INPUT.tag
7738
web2py.gluon.html.LABEL.tag
7739
web2py.gluon.html.LEGEND.tag
7740
web2py.gluon.html.LI.tag
7741
web2py.gluon.html.LINK.tag
7742
web2py.gluon.html.MENU.tag
7743
web2py.gluon.html.META.tag
7744
web2py.gluon.html.OBJECT.tag
7745
web2py.gluon.html.OL.tag
7746
web2py.gluon.html.OPTGROUP.tag
7747
web2py.gluon.html.OPTION.tag
7748
web2py.gluon.html.P.tag
7749
web2py.gluon.html.PRE.tag
7750
web2py.gluon.html.SCRIPT.tag
7751
web2py.gluon.html.SELECT.tag
7752
web2py.gluon.html.SPAN.tag
7753
web2py.gluon.html.STYLE.tag
7754
web2py.gluon.html.TABLE.tag
7755
web2py.gluon.html.TBODY.tag
7756
web2py.gluon.html.TD.tag
7757
web2py.gluon.html.TEXTAREA.tag
7758
web2py.gluon.html.TFOOT.tag
7759
web2py.gluon.html.TH.tag
7760
web2py.gluon.html.THEAD.tag
7761
web2py.gluon.html.TITLE.tag
7762
web2py.gluon.html.TR.tag
7763
web2py.gluon.html.TT.tag
7764
web2py.gluon.html.UL.tag
7765
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-528', 'tag', 'link-82');">tag</a></tt> </tt>
7766
<a name="L2184"></a><tt class="py-lineno">2184</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
7767
<a name="L2185"></a><tt class="py-lineno">2185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="web2py.gluon.dal.Rows.last" class="py-name" href="#" onclick="return doclink('link-529', 'last', 'link-515');">last</a></tt> <tt class="py-op">=</tt> <tt id="link-530" class="py-name"><a title="web2py.gluon.html.A.tag
7768
web2py.gluon.html.B.tag
7769
web2py.gluon.html.BEAUTIFY.tag
7770
web2py.gluon.html.BODY.tag
7771
web2py.gluon.html.BR.tag
7772
web2py.gluon.html.BUTTON.tag
7773
web2py.gluon.html.CAT.tag
7774
web2py.gluon.html.CENTER.tag
7775
web2py.gluon.html.COL.tag
7776
web2py.gluon.html.COLGROUP.tag
7777
web2py.gluon.html.DIV.tag
7778
web2py.gluon.html.EM.tag
7779
web2py.gluon.html.EMBED.tag
7780
web2py.gluon.html.FIELDSET.tag
7781
web2py.gluon.html.FORM.tag
7782
web2py.gluon.html.H1.tag
7783
web2py.gluon.html.H2.tag
7784
web2py.gluon.html.H3.tag
7785
web2py.gluon.html.H4.tag
7786
web2py.gluon.html.H5.tag
7787
web2py.gluon.html.H6.tag
7788
web2py.gluon.html.HEAD.tag
7789
web2py.gluon.html.HR.tag
7790
web2py.gluon.html.HTML.tag
7791
web2py.gluon.html.I.tag
7792
web2py.gluon.html.IFRAME.tag
7793
web2py.gluon.html.IMG.tag
7794
web2py.gluon.html.INPUT.tag
7795
web2py.gluon.html.LABEL.tag
7796
web2py.gluon.html.LEGEND.tag
7797
web2py.gluon.html.LI.tag
7798
web2py.gluon.html.LINK.tag
7799
web2py.gluon.html.MENU.tag
7800
web2py.gluon.html.META.tag
7801
web2py.gluon.html.OBJECT.tag
7802
web2py.gluon.html.OL.tag
7803
web2py.gluon.html.OPTGROUP.tag
7804
web2py.gluon.html.OPTION.tag
7805
web2py.gluon.html.P.tag
7806
web2py.gluon.html.PRE.tag
7807
web2py.gluon.html.SCRIPT.tag
7808
web2py.gluon.html.SELECT.tag
7809
web2py.gluon.html.SPAN.tag
7810
web2py.gluon.html.STYLE.tag
7811
web2py.gluon.html.TABLE.tag
7812
web2py.gluon.html.TBODY.tag
7813
web2py.gluon.html.TD.tag
7814
web2py.gluon.html.TEXTAREA.tag
7815
web2py.gluon.html.TFOOT.tag
7816
web2py.gluon.html.TH.tag
7817
web2py.gluon.html.THEAD.tag
7818
web2py.gluon.html.TITLE.tag
7819
web2py.gluon.html.TR.tag
7820
web2py.gluon.html.TT.tag
7821
web2py.gluon.html.UL.tag
7822
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-530', 'tag', 'link-82');">tag</a></tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="web2py.gluon.html.A.tag
7823
web2py.gluon.html.B.tag
7824
web2py.gluon.html.BEAUTIFY.tag
7825
web2py.gluon.html.BODY.tag
7826
web2py.gluon.html.BR.tag
7827
web2py.gluon.html.BUTTON.tag
7828
web2py.gluon.html.CAT.tag
7829
web2py.gluon.html.CENTER.tag
7830
web2py.gluon.html.COL.tag
7831
web2py.gluon.html.COLGROUP.tag
7832
web2py.gluon.html.DIV.tag
7833
web2py.gluon.html.EM.tag
7834
web2py.gluon.html.EMBED.tag
7835
web2py.gluon.html.FIELDSET.tag
7836
web2py.gluon.html.FORM.tag
7837
web2py.gluon.html.H1.tag
7838
web2py.gluon.html.H2.tag
7839
web2py.gluon.html.H3.tag
7840
web2py.gluon.html.H4.tag
7841
web2py.gluon.html.H5.tag
7842
web2py.gluon.html.H6.tag
7843
web2py.gluon.html.HEAD.tag
7844
web2py.gluon.html.HR.tag
7845
web2py.gluon.html.HTML.tag
7846
web2py.gluon.html.I.tag
7847
web2py.gluon.html.IFRAME.tag
7848
web2py.gluon.html.IMG.tag
7849
web2py.gluon.html.INPUT.tag
7850
web2py.gluon.html.LABEL.tag
7851
web2py.gluon.html.LEGEND.tag
7852
web2py.gluon.html.LI.tag
7853
web2py.gluon.html.LINK.tag
7854
web2py.gluon.html.MENU.tag
7855
web2py.gluon.html.META.tag
7856
web2py.gluon.html.OBJECT.tag
7857
web2py.gluon.html.OL.tag
7858
web2py.gluon.html.OPTGROUP.tag
7859
web2py.gluon.html.OPTION.tag
7860
web2py.gluon.html.P.tag
7861
web2py.gluon.html.PRE.tag
7862
web2py.gluon.html.SCRIPT.tag
7863
web2py.gluon.html.SELECT.tag
7864
web2py.gluon.html.SPAN.tag
7865
web2py.gluon.html.STYLE.tag
7866
web2py.gluon.html.TABLE.tag
7867
web2py.gluon.html.TBODY.tag
7868
web2py.gluon.html.TD.tag
7869
web2py.gluon.html.TEXTAREA.tag
7870
web2py.gluon.html.TFOOT.tag
7871
web2py.gluon.html.TH.tag
7872
web2py.gluon.html.THEAD.tag
7873
web2py.gluon.html.TITLE.tag
7874
web2py.gluon.html.TR.tag
7875
web2py.gluon.html.TT.tag
7876
web2py.gluon.html.UL.tag
7877
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-531', 'tag', 'link-82');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
7878
</div><a name="web2pyHTMLParser.handle_data"></a><div id="web2pyHTMLParser.handle_data-def"><a name="L2186"></a><tt class="py-lineno">2186</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_data-toggle" onclick="return toggle('web2pyHTMLParser.handle_data');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_data">handle_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7879
</div><div id="web2pyHTMLParser.handle_data-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_data-expanded"><a name="L2187"></a><tt class="py-lineno">2187</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
7880
<a name="L2188"></a><tt class="py-lineno">2188</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="web2py.gluon.html.DIV.append
7881
web2py.gluon.template.BlockNode.append
7882
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-532', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-533', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt><tt class="py-string">'xmlcharref'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7883
<a name="L2189"></a><tt class="py-lineno">2189</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
7884
<a name="L2190"></a><tt class="py-lineno">2190</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="web2py.gluon.html.DIV.append
7885
web2py.gluon.template.BlockNode.append
7886
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-534', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-535" class="py-name" targets="Method web2py.gluon.languages.lazyT.decode()=web2py.gluon.languages.lazyT-class.html#decode"><a title="web2py.gluon.languages.lazyT.decode" class="py-name" href="#" onclick="return doclink('link-535', 'decode', 'link-535');">decode</a></tt><tt class="py-op">(</tt><tt class="py-string">'latin1'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-536" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-536', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt><tt class="py-string">'xmlcharref'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7887
</div><a name="web2pyHTMLParser.handle_charref"></a><div id="web2pyHTMLParser.handle_charref-def"><a name="L2191"></a><tt class="py-lineno">2191</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_charref-toggle" onclick="return toggle('web2pyHTMLParser.handle_charref');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_charref">handle_charref</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7888
</div><div id="web2pyHTMLParser.handle_charref-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_charref-expanded"><a name="L2192"></a><tt class="py-lineno">2192</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-537" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-537', 'name', 'link-74');">name</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="web2py.gluon.dal.Expression.lower" class="py-name" href="#" onclick="return doclink('link-538', 'lower', 'link-344');">lower</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-string">'x'</tt><tt class="py-op">:</tt> </tt>
7889
<a name="L2193"></a><tt class="py-lineno">2193</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="web2py.gluon.html.DIV.append
7890
web2py.gluon.template.BlockNode.append
7891
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-539', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">unichr</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-540" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-540', 'name', 'link-74');">name</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-541" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-541', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7892
<a name="L2194"></a><tt class="py-lineno">2194</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
7893
<a name="L2195"></a><tt class="py-lineno">2195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-542" class="py-name"><a title="web2py.gluon.html.DIV.append
7894
web2py.gluon.template.BlockNode.append
7895
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-542', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">unichr</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-543" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-543', 'name', 'link-74');">name</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-544', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7896
</div><a name="web2pyHTMLParser.handle_entityref"></a><div id="web2pyHTMLParser.handle_entityref-def"><a name="L2196"></a><tt class="py-lineno">2196</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_entityref-toggle" onclick="return toggle('web2pyHTMLParser.handle_entityref');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_entityref">handle_entityref</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7897
</div><div id="web2pyHTMLParser.handle_entityref-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_entityref-expanded"><a name="L2197"></a><tt class="py-lineno">2197</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="web2py.gluon.html.DIV.append
7898
web2py.gluon.template.BlockNode.append
7899
web2py.gluon.template.Content.append" class="py-name" href="#" onclick="return doclink('link-545', 'append', 'link-32');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">unichr</tt><tt class="py-op">(</tt><tt class="py-name">name2codepoint</tt><tt class="py-op">[</tt><tt id="link-546" class="py-name"><a title="web2py.gluon.import_all.name" class="py-name" href="#" onclick="return doclink('link-546', 'name', 'link-74');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="web2py.gluon.languages.lazyT.encode" class="py-name" href="#" onclick="return doclink('link-547', 'encode', 'link-17');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
7900
</div><a name="web2pyHTMLParser.handle_endtag"></a><div id="web2pyHTMLParser.handle_endtag-def"><a name="L2198"></a><tt class="py-lineno">2198</tt> <a class="py-toggle" href="#" id="web2pyHTMLParser.handle_endtag-toggle" onclick="return toggle('web2pyHTMLParser.handle_endtag');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.web2pyHTMLParser-class.html#handle_endtag">handle_endtag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tagname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7901
</div><div id="web2pyHTMLParser.handle_endtag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="web2pyHTMLParser.handle_endtag-expanded"><a name="L2199"></a><tt class="py-lineno">2199</tt> <tt class="py-line"> <tt class="py-comment"># this deals with unbalanced tags</tt> </tt>
7902
<a name="L2200"></a><tt class="py-lineno">2200</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">tagname</tt><tt class="py-op">==</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-548" class="py-name"><a title="web2py.gluon.dal.Rows.last" class="py-name" href="#" onclick="return doclink('link-548', 'last', 'link-515');">last</a></tt><tt class="py-op">:</tt> </tt>
7903
<a name="L2201"></a><tt class="py-lineno">2201</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
7904
<a name="L2202"></a><tt class="py-lineno">2202</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
7905
<a name="L2203"></a><tt class="py-lineno">2203</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
7906
<a name="L2204"></a><tt class="py-lineno">2204</tt> <tt class="py-line"> <tt class="py-name">parent_tagname</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="web2py.gluon.html.A.tag
7907
web2py.gluon.html.B.tag
7908
web2py.gluon.html.BEAUTIFY.tag
7909
web2py.gluon.html.BODY.tag
7910
web2py.gluon.html.BR.tag
7911
web2py.gluon.html.BUTTON.tag
7912
web2py.gluon.html.CAT.tag
7913
web2py.gluon.html.CENTER.tag
7914
web2py.gluon.html.COL.tag
7915
web2py.gluon.html.COLGROUP.tag
7916
web2py.gluon.html.DIV.tag
7917
web2py.gluon.html.EM.tag
7918
web2py.gluon.html.EMBED.tag
7919
web2py.gluon.html.FIELDSET.tag
7920
web2py.gluon.html.FORM.tag
7921
web2py.gluon.html.H1.tag
7922
web2py.gluon.html.H2.tag
7923
web2py.gluon.html.H3.tag
7924
web2py.gluon.html.H4.tag
7925
web2py.gluon.html.H5.tag
7926
web2py.gluon.html.H6.tag
7927
web2py.gluon.html.HEAD.tag
7928
web2py.gluon.html.HR.tag
7929
web2py.gluon.html.HTML.tag
7930
web2py.gluon.html.I.tag
7931
web2py.gluon.html.IFRAME.tag
7932
web2py.gluon.html.IMG.tag
7933
web2py.gluon.html.INPUT.tag
7934
web2py.gluon.html.LABEL.tag
7935
web2py.gluon.html.LEGEND.tag
7936
web2py.gluon.html.LI.tag
7937
web2py.gluon.html.LINK.tag
7938
web2py.gluon.html.MENU.tag
7939
web2py.gluon.html.META.tag
7940
web2py.gluon.html.OBJECT.tag
7941
web2py.gluon.html.OL.tag
7942
web2py.gluon.html.OPTGROUP.tag
7943
web2py.gluon.html.OPTION.tag
7944
web2py.gluon.html.P.tag
7945
web2py.gluon.html.PRE.tag
7946
web2py.gluon.html.SCRIPT.tag
7947
web2py.gluon.html.SELECT.tag
7948
web2py.gluon.html.SPAN.tag
7949
web2py.gluon.html.STYLE.tag
7950
web2py.gluon.html.TABLE.tag
7951
web2py.gluon.html.TBODY.tag
7952
web2py.gluon.html.TD.tag
7953
web2py.gluon.html.TEXTAREA.tag
7954
web2py.gluon.html.TFOOT.tag
7955
web2py.gluon.html.TH.tag
7956
web2py.gluon.html.THEAD.tag
7957
web2py.gluon.html.TITLE.tag
7958
web2py.gluon.html.TR.tag
7959
web2py.gluon.html.TT.tag
7960
web2py.gluon.html.UL.tag
7961
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-549', 'tag', 'link-82');">tag</a></tt> </tt>
7962
<a name="L2205"></a><tt class="py-lineno">2205</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt><tt class="py-op">.</tt><tt class="py-name">parent</tt> </tt>
7963
<a name="L2206"></a><tt class="py-lineno">2206</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
7964
<a name="L2207"></a><tt class="py-lineno">2207</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">,</tt> <tt class="py-string">"unable to balance tag %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">tagname</tt> </tt>
7965
<a name="L2208"></a><tt class="py-lineno">2208</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">parent_tagname</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt id="link-550" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-550', 'len', 'link-75');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">tagname</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">==</tt><tt class="py-name">tagname</tt><tt class="py-op">:</tt> <tt class="py-keyword">break</tt> </tt>
7966
</div></div><a name="L2209"></a><tt class="py-lineno">2209</tt> <tt class="py-line"> </tt>
7967
<a name="markdown_serializer"></a><div id="markdown_serializer-def"><a name="L2210"></a><tt class="py-lineno">2210</tt> <a class="py-toggle" href="#" id="markdown_serializer-toggle" onclick="return toggle('markdown_serializer');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html-module.html#markdown_serializer">markdown_serializer</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt><tt class="py-param">tag</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-param">attr</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
7968
</div><div id="markdown_serializer-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="markdown_serializer-expanded"><a name="L2211"></a><tt class="py-lineno">2211</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-name">attr</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
7969
<a name="L2212"></a><tt class="py-lineno">2212</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-551" class="py-name"><a title="web2py.gluon.html.A.tag
7970
web2py.gluon.html.B.tag
7971
web2py.gluon.html.BEAUTIFY.tag
7972
web2py.gluon.html.BODY.tag
7973
web2py.gluon.html.BR.tag
7974
web2py.gluon.html.BUTTON.tag
7975
web2py.gluon.html.CAT.tag
7976
web2py.gluon.html.CENTER.tag
7977
web2py.gluon.html.COL.tag
7978
web2py.gluon.html.COLGROUP.tag
7979
web2py.gluon.html.DIV.tag
7980
web2py.gluon.html.EM.tag
7981
web2py.gluon.html.EMBED.tag
7982
web2py.gluon.html.FIELDSET.tag
7983
web2py.gluon.html.FORM.tag
7984
web2py.gluon.html.H1.tag
7985
web2py.gluon.html.H2.tag
7986
web2py.gluon.html.H3.tag
7987
web2py.gluon.html.H4.tag
7988
web2py.gluon.html.H5.tag
7989
web2py.gluon.html.H6.tag
7990
web2py.gluon.html.HEAD.tag
7991
web2py.gluon.html.HR.tag
7992
web2py.gluon.html.HTML.tag
7993
web2py.gluon.html.I.tag
7994
web2py.gluon.html.IFRAME.tag
7995
web2py.gluon.html.IMG.tag
7996
web2py.gluon.html.INPUT.tag
7997
web2py.gluon.html.LABEL.tag
7998
web2py.gluon.html.LEGEND.tag
7999
web2py.gluon.html.LI.tag
8000
web2py.gluon.html.LINK.tag
8001
web2py.gluon.html.MENU.tag
8002
web2py.gluon.html.META.tag
8003
web2py.gluon.html.OBJECT.tag
8004
web2py.gluon.html.OL.tag
8005
web2py.gluon.html.OPTGROUP.tag
8006
web2py.gluon.html.OPTION.tag
8007
web2py.gluon.html.P.tag
8008
web2py.gluon.html.PRE.tag
8009
web2py.gluon.html.SCRIPT.tag
8010
web2py.gluon.html.SELECT.tag
8011
web2py.gluon.html.SPAN.tag
8012
web2py.gluon.html.STYLE.tag
8013
web2py.gluon.html.TABLE.tag
8014
web2py.gluon.html.TBODY.tag
8015
web2py.gluon.html.TD.tag
8016
web2py.gluon.html.TEXTAREA.tag
8017
web2py.gluon.html.TFOOT.tag
8018
web2py.gluon.html.TH.tag
8019
web2py.gluon.html.THEAD.tag
8020
web2py.gluon.html.TITLE.tag
8021
web2py.gluon.html.TR.tag
8022
web2py.gluon.html.TT.tag
8023
web2py.gluon.html.UL.tag
8024
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-551', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">'\s+'</tt><tt class="py-op">,</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
8025
<a name="L2213"></a><tt class="py-lineno">2213</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-552" class="py-name"><a title="web2py.gluon.html.A.tag
8026
web2py.gluon.html.B.tag
8027
web2py.gluon.html.BEAUTIFY.tag
8028
web2py.gluon.html.BODY.tag
8029
web2py.gluon.html.BR.tag
8030
web2py.gluon.html.BUTTON.tag
8031
web2py.gluon.html.CAT.tag
8032
web2py.gluon.html.CENTER.tag
8033
web2py.gluon.html.COL.tag
8034
web2py.gluon.html.COLGROUP.tag
8035
web2py.gluon.html.DIV.tag
8036
web2py.gluon.html.EM.tag
8037
web2py.gluon.html.EMBED.tag
8038
web2py.gluon.html.FIELDSET.tag
8039
web2py.gluon.html.FORM.tag
8040
web2py.gluon.html.H1.tag
8041
web2py.gluon.html.H2.tag
8042
web2py.gluon.html.H3.tag
8043
web2py.gluon.html.H4.tag
8044
web2py.gluon.html.H5.tag
8045
web2py.gluon.html.H6.tag
8046
web2py.gluon.html.HEAD.tag
8047
web2py.gluon.html.HR.tag
8048
web2py.gluon.html.HTML.tag
8049
web2py.gluon.html.I.tag
8050
web2py.gluon.html.IFRAME.tag
8051
web2py.gluon.html.IMG.tag
8052
web2py.gluon.html.INPUT.tag
8053
web2py.gluon.html.LABEL.tag
8054
web2py.gluon.html.LEGEND.tag
8055
web2py.gluon.html.LI.tag
8056
web2py.gluon.html.LINK.tag
8057
web2py.gluon.html.MENU.tag
8058
web2py.gluon.html.META.tag
8059
web2py.gluon.html.OBJECT.tag
8060
web2py.gluon.html.OL.tag
8061
web2py.gluon.html.OPTGROUP.tag
8062
web2py.gluon.html.OPTION.tag
8063
web2py.gluon.html.P.tag
8064
web2py.gluon.html.PRE.tag
8065
web2py.gluon.html.SCRIPT.tag
8066
web2py.gluon.html.SELECT.tag
8067
web2py.gluon.html.SPAN.tag
8068
web2py.gluon.html.STYLE.tag
8069
web2py.gluon.html.TABLE.tag
8070
web2py.gluon.html.TBODY.tag
8071
web2py.gluon.html.TD.tag
8072
web2py.gluon.html.TEXTAREA.tag
8073
web2py.gluon.html.TFOOT.tag
8074
web2py.gluon.html.TH.tag
8075
web2py.gluon.html.THEAD.tag
8076
web2py.gluon.html.TITLE.tag
8077
web2py.gluon.html.TR.tag
8078
web2py.gluon.html.TT.tag
8079
web2py.gluon.html.UL.tag
8080
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-552', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'br'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'\n\n'</tt> </tt>
8081
<a name="L2214"></a><tt class="py-lineno">2214</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-553" class="py-name"><a title="web2py.gluon.html.A.tag
8082
web2py.gluon.html.B.tag
8083
web2py.gluon.html.BEAUTIFY.tag
8084
web2py.gluon.html.BODY.tag
8085
web2py.gluon.html.BR.tag
8086
web2py.gluon.html.BUTTON.tag
8087
web2py.gluon.html.CAT.tag
8088
web2py.gluon.html.CENTER.tag
8089
web2py.gluon.html.COL.tag
8090
web2py.gluon.html.COLGROUP.tag
8091
web2py.gluon.html.DIV.tag
8092
web2py.gluon.html.EM.tag
8093
web2py.gluon.html.EMBED.tag
8094
web2py.gluon.html.FIELDSET.tag
8095
web2py.gluon.html.FORM.tag
8096
web2py.gluon.html.H1.tag
8097
web2py.gluon.html.H2.tag
8098
web2py.gluon.html.H3.tag
8099
web2py.gluon.html.H4.tag
8100
web2py.gluon.html.H5.tag
8101
web2py.gluon.html.H6.tag
8102
web2py.gluon.html.HEAD.tag
8103
web2py.gluon.html.HR.tag
8104
web2py.gluon.html.HTML.tag
8105
web2py.gluon.html.I.tag
8106
web2py.gluon.html.IFRAME.tag
8107
web2py.gluon.html.IMG.tag
8108
web2py.gluon.html.INPUT.tag
8109
web2py.gluon.html.LABEL.tag
8110
web2py.gluon.html.LEGEND.tag
8111
web2py.gluon.html.LI.tag
8112
web2py.gluon.html.LINK.tag
8113
web2py.gluon.html.MENU.tag
8114
web2py.gluon.html.META.tag
8115
web2py.gluon.html.OBJECT.tag
8116
web2py.gluon.html.OL.tag
8117
web2py.gluon.html.OPTGROUP.tag
8118
web2py.gluon.html.OPTION.tag
8119
web2py.gluon.html.P.tag
8120
web2py.gluon.html.PRE.tag
8121
web2py.gluon.html.SCRIPT.tag
8122
web2py.gluon.html.SELECT.tag
8123
web2py.gluon.html.SPAN.tag
8124
web2py.gluon.html.STYLE.tag
8125
web2py.gluon.html.TABLE.tag
8126
web2py.gluon.html.TBODY.tag
8127
web2py.gluon.html.TD.tag
8128
web2py.gluon.html.TEXTAREA.tag
8129
web2py.gluon.html.TFOOT.tag
8130
web2py.gluon.html.TH.tag
8131
web2py.gluon.html.THEAD.tag
8132
web2py.gluon.html.TITLE.tag
8133
web2py.gluon.html.TR.tag
8134
web2py.gluon.html.TT.tag
8135
web2py.gluon.html.UL.tag
8136
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-553', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h1'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8137
<a name="L2215"></a><tt class="py-lineno">2215</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-554" class="py-name"><a title="web2py.gluon.html.A.tag
8138
web2py.gluon.html.B.tag
8139
web2py.gluon.html.BEAUTIFY.tag
8140
web2py.gluon.html.BODY.tag
8141
web2py.gluon.html.BR.tag
8142
web2py.gluon.html.BUTTON.tag
8143
web2py.gluon.html.CAT.tag
8144
web2py.gluon.html.CENTER.tag
8145
web2py.gluon.html.COL.tag
8146
web2py.gluon.html.COLGROUP.tag
8147
web2py.gluon.html.DIV.tag
8148
web2py.gluon.html.EM.tag
8149
web2py.gluon.html.EMBED.tag
8150
web2py.gluon.html.FIELDSET.tag
8151
web2py.gluon.html.FORM.tag
8152
web2py.gluon.html.H1.tag
8153
web2py.gluon.html.H2.tag
8154
web2py.gluon.html.H3.tag
8155
web2py.gluon.html.H4.tag
8156
web2py.gluon.html.H5.tag
8157
web2py.gluon.html.H6.tag
8158
web2py.gluon.html.HEAD.tag
8159
web2py.gluon.html.HR.tag
8160
web2py.gluon.html.HTML.tag
8161
web2py.gluon.html.I.tag
8162
web2py.gluon.html.IFRAME.tag
8163
web2py.gluon.html.IMG.tag
8164
web2py.gluon.html.INPUT.tag
8165
web2py.gluon.html.LABEL.tag
8166
web2py.gluon.html.LEGEND.tag
8167
web2py.gluon.html.LI.tag
8168
web2py.gluon.html.LINK.tag
8169
web2py.gluon.html.MENU.tag
8170
web2py.gluon.html.META.tag
8171
web2py.gluon.html.OBJECT.tag
8172
web2py.gluon.html.OL.tag
8173
web2py.gluon.html.OPTGROUP.tag
8174
web2py.gluon.html.OPTION.tag
8175
web2py.gluon.html.P.tag
8176
web2py.gluon.html.PRE.tag
8177
web2py.gluon.html.SCRIPT.tag
8178
web2py.gluon.html.SELECT.tag
8179
web2py.gluon.html.SPAN.tag
8180
web2py.gluon.html.STYLE.tag
8181
web2py.gluon.html.TABLE.tag
8182
web2py.gluon.html.TBODY.tag
8183
web2py.gluon.html.TD.tag
8184
web2py.gluon.html.TEXTAREA.tag
8185
web2py.gluon.html.TFOOT.tag
8186
web2py.gluon.html.TH.tag
8187
web2py.gluon.html.THEAD.tag
8188
web2py.gluon.html.TITLE.tag
8189
web2py.gluon.html.TR.tag
8190
web2py.gluon.html.TT.tag
8191
web2py.gluon.html.UL.tag
8192
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-554', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h2'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">2</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8193
<a name="L2216"></a><tt class="py-lineno">2216</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-555" class="py-name"><a title="web2py.gluon.html.A.tag
8194
web2py.gluon.html.B.tag
8195
web2py.gluon.html.BEAUTIFY.tag
8196
web2py.gluon.html.BODY.tag
8197
web2py.gluon.html.BR.tag
8198
web2py.gluon.html.BUTTON.tag
8199
web2py.gluon.html.CAT.tag
8200
web2py.gluon.html.CENTER.tag
8201
web2py.gluon.html.COL.tag
8202
web2py.gluon.html.COLGROUP.tag
8203
web2py.gluon.html.DIV.tag
8204
web2py.gluon.html.EM.tag
8205
web2py.gluon.html.EMBED.tag
8206
web2py.gluon.html.FIELDSET.tag
8207
web2py.gluon.html.FORM.tag
8208
web2py.gluon.html.H1.tag
8209
web2py.gluon.html.H2.tag
8210
web2py.gluon.html.H3.tag
8211
web2py.gluon.html.H4.tag
8212
web2py.gluon.html.H5.tag
8213
web2py.gluon.html.H6.tag
8214
web2py.gluon.html.HEAD.tag
8215
web2py.gluon.html.HR.tag
8216
web2py.gluon.html.HTML.tag
8217
web2py.gluon.html.I.tag
8218
web2py.gluon.html.IFRAME.tag
8219
web2py.gluon.html.IMG.tag
8220
web2py.gluon.html.INPUT.tag
8221
web2py.gluon.html.LABEL.tag
8222
web2py.gluon.html.LEGEND.tag
8223
web2py.gluon.html.LI.tag
8224
web2py.gluon.html.LINK.tag
8225
web2py.gluon.html.MENU.tag
8226
web2py.gluon.html.META.tag
8227
web2py.gluon.html.OBJECT.tag
8228
web2py.gluon.html.OL.tag
8229
web2py.gluon.html.OPTGROUP.tag
8230
web2py.gluon.html.OPTION.tag
8231
web2py.gluon.html.P.tag
8232
web2py.gluon.html.PRE.tag
8233
web2py.gluon.html.SCRIPT.tag
8234
web2py.gluon.html.SELECT.tag
8235
web2py.gluon.html.SPAN.tag
8236
web2py.gluon.html.STYLE.tag
8237
web2py.gluon.html.TABLE.tag
8238
web2py.gluon.html.TBODY.tag
8239
web2py.gluon.html.TD.tag
8240
web2py.gluon.html.TEXTAREA.tag
8241
web2py.gluon.html.TFOOT.tag
8242
web2py.gluon.html.TH.tag
8243
web2py.gluon.html.THEAD.tag
8244
web2py.gluon.html.TITLE.tag
8245
web2py.gluon.html.TR.tag
8246
web2py.gluon.html.TT.tag
8247
web2py.gluon.html.UL.tag
8248
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-555', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h3'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8249
<a name="L2217"></a><tt class="py-lineno">2217</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-556" class="py-name"><a title="web2py.gluon.html.A.tag
8250
web2py.gluon.html.B.tag
8251
web2py.gluon.html.BEAUTIFY.tag
8252
web2py.gluon.html.BODY.tag
8253
web2py.gluon.html.BR.tag
8254
web2py.gluon.html.BUTTON.tag
8255
web2py.gluon.html.CAT.tag
8256
web2py.gluon.html.CENTER.tag
8257
web2py.gluon.html.COL.tag
8258
web2py.gluon.html.COLGROUP.tag
8259
web2py.gluon.html.DIV.tag
8260
web2py.gluon.html.EM.tag
8261
web2py.gluon.html.EMBED.tag
8262
web2py.gluon.html.FIELDSET.tag
8263
web2py.gluon.html.FORM.tag
8264
web2py.gluon.html.H1.tag
8265
web2py.gluon.html.H2.tag
8266
web2py.gluon.html.H3.tag
8267
web2py.gluon.html.H4.tag
8268
web2py.gluon.html.H5.tag
8269
web2py.gluon.html.H6.tag
8270
web2py.gluon.html.HEAD.tag
8271
web2py.gluon.html.HR.tag
8272
web2py.gluon.html.HTML.tag
8273
web2py.gluon.html.I.tag
8274
web2py.gluon.html.IFRAME.tag
8275
web2py.gluon.html.IMG.tag
8276
web2py.gluon.html.INPUT.tag
8277
web2py.gluon.html.LABEL.tag
8278
web2py.gluon.html.LEGEND.tag
8279
web2py.gluon.html.LI.tag
8280
web2py.gluon.html.LINK.tag
8281
web2py.gluon.html.MENU.tag
8282
web2py.gluon.html.META.tag
8283
web2py.gluon.html.OBJECT.tag
8284
web2py.gluon.html.OL.tag
8285
web2py.gluon.html.OPTGROUP.tag
8286
web2py.gluon.html.OPTION.tag
8287
web2py.gluon.html.P.tag
8288
web2py.gluon.html.PRE.tag
8289
web2py.gluon.html.SCRIPT.tag
8290
web2py.gluon.html.SELECT.tag
8291
web2py.gluon.html.SPAN.tag
8292
web2py.gluon.html.STYLE.tag
8293
web2py.gluon.html.TABLE.tag
8294
web2py.gluon.html.TBODY.tag
8295
web2py.gluon.html.TD.tag
8296
web2py.gluon.html.TEXTAREA.tag
8297
web2py.gluon.html.TFOOT.tag
8298
web2py.gluon.html.TH.tag
8299
web2py.gluon.html.THEAD.tag
8300
web2py.gluon.html.TITLE.tag
8301
web2py.gluon.html.TR.tag
8302
web2py.gluon.html.TT.tag
8303
web2py.gluon.html.UL.tag
8304
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-556', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h4'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">4</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8305
<a name="L2218"></a><tt class="py-lineno">2218</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-557" class="py-name"><a title="web2py.gluon.html.A.tag
8306
web2py.gluon.html.B.tag
8307
web2py.gluon.html.BEAUTIFY.tag
8308
web2py.gluon.html.BODY.tag
8309
web2py.gluon.html.BR.tag
8310
web2py.gluon.html.BUTTON.tag
8311
web2py.gluon.html.CAT.tag
8312
web2py.gluon.html.CENTER.tag
8313
web2py.gluon.html.COL.tag
8314
web2py.gluon.html.COLGROUP.tag
8315
web2py.gluon.html.DIV.tag
8316
web2py.gluon.html.EM.tag
8317
web2py.gluon.html.EMBED.tag
8318
web2py.gluon.html.FIELDSET.tag
8319
web2py.gluon.html.FORM.tag
8320
web2py.gluon.html.H1.tag
8321
web2py.gluon.html.H2.tag
8322
web2py.gluon.html.H3.tag
8323
web2py.gluon.html.H4.tag
8324
web2py.gluon.html.H5.tag
8325
web2py.gluon.html.H6.tag
8326
web2py.gluon.html.HEAD.tag
8327
web2py.gluon.html.HR.tag
8328
web2py.gluon.html.HTML.tag
8329
web2py.gluon.html.I.tag
8330
web2py.gluon.html.IFRAME.tag
8331
web2py.gluon.html.IMG.tag
8332
web2py.gluon.html.INPUT.tag
8333
web2py.gluon.html.LABEL.tag
8334
web2py.gluon.html.LEGEND.tag
8335
web2py.gluon.html.LI.tag
8336
web2py.gluon.html.LINK.tag
8337
web2py.gluon.html.MENU.tag
8338
web2py.gluon.html.META.tag
8339
web2py.gluon.html.OBJECT.tag
8340
web2py.gluon.html.OL.tag
8341
web2py.gluon.html.OPTGROUP.tag
8342
web2py.gluon.html.OPTION.tag
8343
web2py.gluon.html.P.tag
8344
web2py.gluon.html.PRE.tag
8345
web2py.gluon.html.SCRIPT.tag
8346
web2py.gluon.html.SELECT.tag
8347
web2py.gluon.html.SPAN.tag
8348
web2py.gluon.html.STYLE.tag
8349
web2py.gluon.html.TABLE.tag
8350
web2py.gluon.html.TBODY.tag
8351
web2py.gluon.html.TD.tag
8352
web2py.gluon.html.TEXTAREA.tag
8353
web2py.gluon.html.TFOOT.tag
8354
web2py.gluon.html.TH.tag
8355
web2py.gluon.html.THEAD.tag
8356
web2py.gluon.html.TITLE.tag
8357
web2py.gluon.html.TR.tag
8358
web2py.gluon.html.TT.tag
8359
web2py.gluon.html.UL.tag
8360
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-557', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'p'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8361
<a name="L2219"></a><tt class="py-lineno">2219</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-558" class="py-name"><a title="web2py.gluon.html.A.tag
8362
web2py.gluon.html.B.tag
8363
web2py.gluon.html.BEAUTIFY.tag
8364
web2py.gluon.html.BODY.tag
8365
web2py.gluon.html.BR.tag
8366
web2py.gluon.html.BUTTON.tag
8367
web2py.gluon.html.CAT.tag
8368
web2py.gluon.html.CENTER.tag
8369
web2py.gluon.html.COL.tag
8370
web2py.gluon.html.COLGROUP.tag
8371
web2py.gluon.html.DIV.tag
8372
web2py.gluon.html.EM.tag
8373
web2py.gluon.html.EMBED.tag
8374
web2py.gluon.html.FIELDSET.tag
8375
web2py.gluon.html.FORM.tag
8376
web2py.gluon.html.H1.tag
8377
web2py.gluon.html.H2.tag
8378
web2py.gluon.html.H3.tag
8379
web2py.gluon.html.H4.tag
8380
web2py.gluon.html.H5.tag
8381
web2py.gluon.html.H6.tag
8382
web2py.gluon.html.HEAD.tag
8383
web2py.gluon.html.HR.tag
8384
web2py.gluon.html.HTML.tag
8385
web2py.gluon.html.I.tag
8386
web2py.gluon.html.IFRAME.tag
8387
web2py.gluon.html.IMG.tag
8388
web2py.gluon.html.INPUT.tag
8389
web2py.gluon.html.LABEL.tag
8390
web2py.gluon.html.LEGEND.tag
8391
web2py.gluon.html.LI.tag
8392
web2py.gluon.html.LINK.tag
8393
web2py.gluon.html.MENU.tag
8394
web2py.gluon.html.META.tag
8395
web2py.gluon.html.OBJECT.tag
8396
web2py.gluon.html.OL.tag
8397
web2py.gluon.html.OPTGROUP.tag
8398
web2py.gluon.html.OPTION.tag
8399
web2py.gluon.html.P.tag
8400
web2py.gluon.html.PRE.tag
8401
web2py.gluon.html.SCRIPT.tag
8402
web2py.gluon.html.SELECT.tag
8403
web2py.gluon.html.SPAN.tag
8404
web2py.gluon.html.STYLE.tag
8405
web2py.gluon.html.TABLE.tag
8406
web2py.gluon.html.TBODY.tag
8407
web2py.gluon.html.TD.tag
8408
web2py.gluon.html.TEXTAREA.tag
8409
web2py.gluon.html.TFOOT.tag
8410
web2py.gluon.html.TH.tag
8411
web2py.gluon.html.THEAD.tag
8412
web2py.gluon.html.TITLE.tag
8413
web2py.gluon.html.TR.tag
8414
web2py.gluon.html.TT.tag
8415
web2py.gluon.html.UL.tag
8416
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-558', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'b'</tt> <tt class="py-keyword">or</tt> <tt id="link-559" class="py-name"><a title="web2py.gluon.html.A.tag
8417
web2py.gluon.html.B.tag
8418
web2py.gluon.html.BEAUTIFY.tag
8419
web2py.gluon.html.BODY.tag
8420
web2py.gluon.html.BR.tag
8421
web2py.gluon.html.BUTTON.tag
8422
web2py.gluon.html.CAT.tag
8423
web2py.gluon.html.CENTER.tag
8424
web2py.gluon.html.COL.tag
8425
web2py.gluon.html.COLGROUP.tag
8426
web2py.gluon.html.DIV.tag
8427
web2py.gluon.html.EM.tag
8428
web2py.gluon.html.EMBED.tag
8429
web2py.gluon.html.FIELDSET.tag
8430
web2py.gluon.html.FORM.tag
8431
web2py.gluon.html.H1.tag
8432
web2py.gluon.html.H2.tag
8433
web2py.gluon.html.H3.tag
8434
web2py.gluon.html.H4.tag
8435
web2py.gluon.html.H5.tag
8436
web2py.gluon.html.H6.tag
8437
web2py.gluon.html.HEAD.tag
8438
web2py.gluon.html.HR.tag
8439
web2py.gluon.html.HTML.tag
8440
web2py.gluon.html.I.tag
8441
web2py.gluon.html.IFRAME.tag
8442
web2py.gluon.html.IMG.tag
8443
web2py.gluon.html.INPUT.tag
8444
web2py.gluon.html.LABEL.tag
8445
web2py.gluon.html.LEGEND.tag
8446
web2py.gluon.html.LI.tag
8447
web2py.gluon.html.LINK.tag
8448
web2py.gluon.html.MENU.tag
8449
web2py.gluon.html.META.tag
8450
web2py.gluon.html.OBJECT.tag
8451
web2py.gluon.html.OL.tag
8452
web2py.gluon.html.OPTGROUP.tag
8453
web2py.gluon.html.OPTION.tag
8454
web2py.gluon.html.P.tag
8455
web2py.gluon.html.PRE.tag
8456
web2py.gluon.html.SCRIPT.tag
8457
web2py.gluon.html.SELECT.tag
8458
web2py.gluon.html.SPAN.tag
8459
web2py.gluon.html.STYLE.tag
8460
web2py.gluon.html.TABLE.tag
8461
web2py.gluon.html.TBODY.tag
8462
web2py.gluon.html.TD.tag
8463
web2py.gluon.html.TEXTAREA.tag
8464
web2py.gluon.html.TFOOT.tag
8465
web2py.gluon.html.TH.tag
8466
web2py.gluon.html.THEAD.tag
8467
web2py.gluon.html.TITLE.tag
8468
web2py.gluon.html.TR.tag
8469
web2py.gluon.html.TT.tag
8470
web2py.gluon.html.UL.tag
8471
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-559', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'strong'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'**%s**'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
8472
<a name="L2220"></a><tt class="py-lineno">2220</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-560" class="py-name"><a title="web2py.gluon.html.A.tag
8473
web2py.gluon.html.B.tag
8474
web2py.gluon.html.BEAUTIFY.tag
8475
web2py.gluon.html.BODY.tag
8476
web2py.gluon.html.BR.tag
8477
web2py.gluon.html.BUTTON.tag
8478
web2py.gluon.html.CAT.tag
8479
web2py.gluon.html.CENTER.tag
8480
web2py.gluon.html.COL.tag
8481
web2py.gluon.html.COLGROUP.tag
8482
web2py.gluon.html.DIV.tag
8483
web2py.gluon.html.EM.tag
8484
web2py.gluon.html.EMBED.tag
8485
web2py.gluon.html.FIELDSET.tag
8486
web2py.gluon.html.FORM.tag
8487
web2py.gluon.html.H1.tag
8488
web2py.gluon.html.H2.tag
8489
web2py.gluon.html.H3.tag
8490
web2py.gluon.html.H4.tag
8491
web2py.gluon.html.H5.tag
8492
web2py.gluon.html.H6.tag
8493
web2py.gluon.html.HEAD.tag
8494
web2py.gluon.html.HR.tag
8495
web2py.gluon.html.HTML.tag
8496
web2py.gluon.html.I.tag
8497
web2py.gluon.html.IFRAME.tag
8498
web2py.gluon.html.IMG.tag
8499
web2py.gluon.html.INPUT.tag
8500
web2py.gluon.html.LABEL.tag
8501
web2py.gluon.html.LEGEND.tag
8502
web2py.gluon.html.LI.tag
8503
web2py.gluon.html.LINK.tag
8504
web2py.gluon.html.MENU.tag
8505
web2py.gluon.html.META.tag
8506
web2py.gluon.html.OBJECT.tag
8507
web2py.gluon.html.OL.tag
8508
web2py.gluon.html.OPTGROUP.tag
8509
web2py.gluon.html.OPTION.tag
8510
web2py.gluon.html.P.tag
8511
web2py.gluon.html.PRE.tag
8512
web2py.gluon.html.SCRIPT.tag
8513
web2py.gluon.html.SELECT.tag
8514
web2py.gluon.html.SPAN.tag
8515
web2py.gluon.html.STYLE.tag
8516
web2py.gluon.html.TABLE.tag
8517
web2py.gluon.html.TBODY.tag
8518
web2py.gluon.html.TD.tag
8519
web2py.gluon.html.TEXTAREA.tag
8520
web2py.gluon.html.TFOOT.tag
8521
web2py.gluon.html.TH.tag
8522
web2py.gluon.html.THEAD.tag
8523
web2py.gluon.html.TITLE.tag
8524
web2py.gluon.html.TR.tag
8525
web2py.gluon.html.TT.tag
8526
web2py.gluon.html.UL.tag
8527
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-560', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'em'</tt> <tt class="py-keyword">or</tt> <tt id="link-561" class="py-name"><a title="web2py.gluon.html.A.tag
8528
web2py.gluon.html.B.tag
8529
web2py.gluon.html.BEAUTIFY.tag
8530
web2py.gluon.html.BODY.tag
8531
web2py.gluon.html.BR.tag
8532
web2py.gluon.html.BUTTON.tag
8533
web2py.gluon.html.CAT.tag
8534
web2py.gluon.html.CENTER.tag
8535
web2py.gluon.html.COL.tag
8536
web2py.gluon.html.COLGROUP.tag
8537
web2py.gluon.html.DIV.tag
8538
web2py.gluon.html.EM.tag
8539
web2py.gluon.html.EMBED.tag
8540
web2py.gluon.html.FIELDSET.tag
8541
web2py.gluon.html.FORM.tag
8542
web2py.gluon.html.H1.tag
8543
web2py.gluon.html.H2.tag
8544
web2py.gluon.html.H3.tag
8545
web2py.gluon.html.H4.tag
8546
web2py.gluon.html.H5.tag
8547
web2py.gluon.html.H6.tag
8548
web2py.gluon.html.HEAD.tag
8549
web2py.gluon.html.HR.tag
8550
web2py.gluon.html.HTML.tag
8551
web2py.gluon.html.I.tag
8552
web2py.gluon.html.IFRAME.tag
8553
web2py.gluon.html.IMG.tag
8554
web2py.gluon.html.INPUT.tag
8555
web2py.gluon.html.LABEL.tag
8556
web2py.gluon.html.LEGEND.tag
8557
web2py.gluon.html.LI.tag
8558
web2py.gluon.html.LINK.tag
8559
web2py.gluon.html.MENU.tag
8560
web2py.gluon.html.META.tag
8561
web2py.gluon.html.OBJECT.tag
8562
web2py.gluon.html.OL.tag
8563
web2py.gluon.html.OPTGROUP.tag
8564
web2py.gluon.html.OPTION.tag
8565
web2py.gluon.html.P.tag
8566
web2py.gluon.html.PRE.tag
8567
web2py.gluon.html.SCRIPT.tag
8568
web2py.gluon.html.SELECT.tag
8569
web2py.gluon.html.SPAN.tag
8570
web2py.gluon.html.STYLE.tag
8571
web2py.gluon.html.TABLE.tag
8572
web2py.gluon.html.TBODY.tag
8573
web2py.gluon.html.TD.tag
8574
web2py.gluon.html.TEXTAREA.tag
8575
web2py.gluon.html.TFOOT.tag
8576
web2py.gluon.html.TH.tag
8577
web2py.gluon.html.THEAD.tag
8578
web2py.gluon.html.TITLE.tag
8579
web2py.gluon.html.TR.tag
8580
web2py.gluon.html.TT.tag
8581
web2py.gluon.html.UL.tag
8582
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-561', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'i'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'*%s*'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
8583
<a name="L2221"></a><tt class="py-lineno">2221</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-562" class="py-name"><a title="web2py.gluon.html.A.tag
8584
web2py.gluon.html.B.tag
8585
web2py.gluon.html.BEAUTIFY.tag
8586
web2py.gluon.html.BODY.tag
8587
web2py.gluon.html.BR.tag
8588
web2py.gluon.html.BUTTON.tag
8589
web2py.gluon.html.CAT.tag
8590
web2py.gluon.html.CENTER.tag
8591
web2py.gluon.html.COL.tag
8592
web2py.gluon.html.COLGROUP.tag
8593
web2py.gluon.html.DIV.tag
8594
web2py.gluon.html.EM.tag
8595
web2py.gluon.html.EMBED.tag
8596
web2py.gluon.html.FIELDSET.tag
8597
web2py.gluon.html.FORM.tag
8598
web2py.gluon.html.H1.tag
8599
web2py.gluon.html.H2.tag
8600
web2py.gluon.html.H3.tag
8601
web2py.gluon.html.H4.tag
8602
web2py.gluon.html.H5.tag
8603
web2py.gluon.html.H6.tag
8604
web2py.gluon.html.HEAD.tag
8605
web2py.gluon.html.HR.tag
8606
web2py.gluon.html.HTML.tag
8607
web2py.gluon.html.I.tag
8608
web2py.gluon.html.IFRAME.tag
8609
web2py.gluon.html.IMG.tag
8610
web2py.gluon.html.INPUT.tag
8611
web2py.gluon.html.LABEL.tag
8612
web2py.gluon.html.LEGEND.tag
8613
web2py.gluon.html.LI.tag
8614
web2py.gluon.html.LINK.tag
8615
web2py.gluon.html.MENU.tag
8616
web2py.gluon.html.META.tag
8617
web2py.gluon.html.OBJECT.tag
8618
web2py.gluon.html.OL.tag
8619
web2py.gluon.html.OPTGROUP.tag
8620
web2py.gluon.html.OPTION.tag
8621
web2py.gluon.html.P.tag
8622
web2py.gluon.html.PRE.tag
8623
web2py.gluon.html.SCRIPT.tag
8624
web2py.gluon.html.SELECT.tag
8625
web2py.gluon.html.SPAN.tag
8626
web2py.gluon.html.STYLE.tag
8627
web2py.gluon.html.TABLE.tag
8628
web2py.gluon.html.TBODY.tag
8629
web2py.gluon.html.TD.tag
8630
web2py.gluon.html.TEXTAREA.tag
8631
web2py.gluon.html.TFOOT.tag
8632
web2py.gluon.html.TH.tag
8633
web2py.gluon.html.THEAD.tag
8634
web2py.gluon.html.TITLE.tag
8635
web2py.gluon.html.TR.tag
8636
web2py.gluon.html.TT.tag
8637
web2py.gluon.html.UL.tag
8638
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-562', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'tt'</tt> <tt class="py-keyword">or</tt> <tt id="link-563" class="py-name"><a title="web2py.gluon.html.A.tag
8639
web2py.gluon.html.B.tag
8640
web2py.gluon.html.BEAUTIFY.tag
8641
web2py.gluon.html.BODY.tag
8642
web2py.gluon.html.BR.tag
8643
web2py.gluon.html.BUTTON.tag
8644
web2py.gluon.html.CAT.tag
8645
web2py.gluon.html.CENTER.tag
8646
web2py.gluon.html.COL.tag
8647
web2py.gluon.html.COLGROUP.tag
8648
web2py.gluon.html.DIV.tag
8649
web2py.gluon.html.EM.tag
8650
web2py.gluon.html.EMBED.tag
8651
web2py.gluon.html.FIELDSET.tag
8652
web2py.gluon.html.FORM.tag
8653
web2py.gluon.html.H1.tag
8654
web2py.gluon.html.H2.tag
8655
web2py.gluon.html.H3.tag
8656
web2py.gluon.html.H4.tag
8657
web2py.gluon.html.H5.tag
8658
web2py.gluon.html.H6.tag
8659
web2py.gluon.html.HEAD.tag
8660
web2py.gluon.html.HR.tag
8661
web2py.gluon.html.HTML.tag
8662
web2py.gluon.html.I.tag
8663
web2py.gluon.html.IFRAME.tag
8664
web2py.gluon.html.IMG.tag
8665
web2py.gluon.html.INPUT.tag
8666
web2py.gluon.html.LABEL.tag
8667
web2py.gluon.html.LEGEND.tag
8668
web2py.gluon.html.LI.tag
8669
web2py.gluon.html.LINK.tag
8670
web2py.gluon.html.MENU.tag
8671
web2py.gluon.html.META.tag
8672
web2py.gluon.html.OBJECT.tag
8673
web2py.gluon.html.OL.tag
8674
web2py.gluon.html.OPTGROUP.tag
8675
web2py.gluon.html.OPTION.tag
8676
web2py.gluon.html.P.tag
8677
web2py.gluon.html.PRE.tag
8678
web2py.gluon.html.SCRIPT.tag
8679
web2py.gluon.html.SELECT.tag
8680
web2py.gluon.html.SPAN.tag
8681
web2py.gluon.html.STYLE.tag
8682
web2py.gluon.html.TABLE.tag
8683
web2py.gluon.html.TBODY.tag
8684
web2py.gluon.html.TD.tag
8685
web2py.gluon.html.TEXTAREA.tag
8686
web2py.gluon.html.TFOOT.tag
8687
web2py.gluon.html.TH.tag
8688
web2py.gluon.html.THEAD.tag
8689
web2py.gluon.html.TITLE.tag
8690
web2py.gluon.html.TR.tag
8691
web2py.gluon.html.TT.tag
8692
web2py.gluon.html.UL.tag
8693
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-563', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'code'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'`%s`'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
8694
<a name="L2222"></a><tt class="py-lineno">2222</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-564" class="py-name"><a title="web2py.gluon.html.A.tag
8695
web2py.gluon.html.B.tag
8696
web2py.gluon.html.BEAUTIFY.tag
8697
web2py.gluon.html.BODY.tag
8698
web2py.gluon.html.BR.tag
8699
web2py.gluon.html.BUTTON.tag
8700
web2py.gluon.html.CAT.tag
8701
web2py.gluon.html.CENTER.tag
8702
web2py.gluon.html.COL.tag
8703
web2py.gluon.html.COLGROUP.tag
8704
web2py.gluon.html.DIV.tag
8705
web2py.gluon.html.EM.tag
8706
web2py.gluon.html.EMBED.tag
8707
web2py.gluon.html.FIELDSET.tag
8708
web2py.gluon.html.FORM.tag
8709
web2py.gluon.html.H1.tag
8710
web2py.gluon.html.H2.tag
8711
web2py.gluon.html.H3.tag
8712
web2py.gluon.html.H4.tag
8713
web2py.gluon.html.H5.tag
8714
web2py.gluon.html.H6.tag
8715
web2py.gluon.html.HEAD.tag
8716
web2py.gluon.html.HR.tag
8717
web2py.gluon.html.HTML.tag
8718
web2py.gluon.html.I.tag
8719
web2py.gluon.html.IFRAME.tag
8720
web2py.gluon.html.IMG.tag
8721
web2py.gluon.html.INPUT.tag
8722
web2py.gluon.html.LABEL.tag
8723
web2py.gluon.html.LEGEND.tag
8724
web2py.gluon.html.LI.tag
8725
web2py.gluon.html.LINK.tag
8726
web2py.gluon.html.MENU.tag
8727
web2py.gluon.html.META.tag
8728
web2py.gluon.html.OBJECT.tag
8729
web2py.gluon.html.OL.tag
8730
web2py.gluon.html.OPTGROUP.tag
8731
web2py.gluon.html.OPTION.tag
8732
web2py.gluon.html.P.tag
8733
web2py.gluon.html.PRE.tag
8734
web2py.gluon.html.SCRIPT.tag
8735
web2py.gluon.html.SELECT.tag
8736
web2py.gluon.html.SPAN.tag
8737
web2py.gluon.html.STYLE.tag
8738
web2py.gluon.html.TABLE.tag
8739
web2py.gluon.html.TBODY.tag
8740
web2py.gluon.html.TD.tag
8741
web2py.gluon.html.TEXTAREA.tag
8742
web2py.gluon.html.TFOOT.tag
8743
web2py.gluon.html.TH.tag
8744
web2py.gluon.html.THEAD.tag
8745
web2py.gluon.html.TITLE.tag
8746
web2py.gluon.html.TR.tag
8747
web2py.gluon.html.TT.tag
8748
web2py.gluon.html.UL.tag
8749
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-564', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'a'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'[%s](%s)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-565', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_href'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
8750
<a name="L2223"></a><tt class="py-lineno">2223</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-566" class="py-name"><a title="web2py.gluon.html.A.tag
8751
web2py.gluon.html.B.tag
8752
web2py.gluon.html.BEAUTIFY.tag
8753
web2py.gluon.html.BODY.tag
8754
web2py.gluon.html.BR.tag
8755
web2py.gluon.html.BUTTON.tag
8756
web2py.gluon.html.CAT.tag
8757
web2py.gluon.html.CENTER.tag
8758
web2py.gluon.html.COL.tag
8759
web2py.gluon.html.COLGROUP.tag
8760
web2py.gluon.html.DIV.tag
8761
web2py.gluon.html.EM.tag
8762
web2py.gluon.html.EMBED.tag
8763
web2py.gluon.html.FIELDSET.tag
8764
web2py.gluon.html.FORM.tag
8765
web2py.gluon.html.H1.tag
8766
web2py.gluon.html.H2.tag
8767
web2py.gluon.html.H3.tag
8768
web2py.gluon.html.H4.tag
8769
web2py.gluon.html.H5.tag
8770
web2py.gluon.html.H6.tag
8771
web2py.gluon.html.HEAD.tag
8772
web2py.gluon.html.HR.tag
8773
web2py.gluon.html.HTML.tag
8774
web2py.gluon.html.I.tag
8775
web2py.gluon.html.IFRAME.tag
8776
web2py.gluon.html.IMG.tag
8777
web2py.gluon.html.INPUT.tag
8778
web2py.gluon.html.LABEL.tag
8779
web2py.gluon.html.LEGEND.tag
8780
web2py.gluon.html.LI.tag
8781
web2py.gluon.html.LINK.tag
8782
web2py.gluon.html.MENU.tag
8783
web2py.gluon.html.META.tag
8784
web2py.gluon.html.OBJECT.tag
8785
web2py.gluon.html.OL.tag
8786
web2py.gluon.html.OPTGROUP.tag
8787
web2py.gluon.html.OPTION.tag
8788
web2py.gluon.html.P.tag
8789
web2py.gluon.html.PRE.tag
8790
web2py.gluon.html.SCRIPT.tag
8791
web2py.gluon.html.SELECT.tag
8792
web2py.gluon.html.SPAN.tag
8793
web2py.gluon.html.STYLE.tag
8794
web2py.gluon.html.TABLE.tag
8795
web2py.gluon.html.TBODY.tag
8796
web2py.gluon.html.TD.tag
8797
web2py.gluon.html.TEXTAREA.tag
8798
web2py.gluon.html.TFOOT.tag
8799
web2py.gluon.html.TH.tag
8800
web2py.gluon.html.THEAD.tag
8801
web2py.gluon.html.TITLE.tag
8802
web2py.gluon.html.TR.tag
8803
web2py.gluon.html.TT.tag
8804
web2py.gluon.html.UL.tag
8805
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-566', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'img'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'![%s](%s)'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-567" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-567', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_alt'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-568', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_src'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
8806
<a name="L2224"></a><tt class="py-lineno">2224</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
8807
</div><a name="L2225"></a><tt class="py-lineno">2225</tt> <tt class="py-line"> </tt>
8808
<a name="markmin_serializer"></a><div id="markmin_serializer-def"><a name="L2226"></a><tt class="py-lineno">2226</tt> <a class="py-toggle" href="#" id="markmin_serializer-toggle" onclick="return toggle('markmin_serializer');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html-module.html#markmin_serializer">markmin_serializer</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt><tt class="py-param">tag</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-param">attr</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
8809
</div><div id="markmin_serializer-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="markmin_serializer-expanded"><a name="L2227"></a><tt class="py-lineno">2227</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-name">attr</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
8810
<a name="L2228"></a><tt class="py-lineno">2228</tt> <tt class="py-line"> <tt class="py-comment"># if tag is None: return re.sub('\s+',' ',text)</tt> </tt>
8811
<a name="L2229"></a><tt class="py-lineno">2229</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-569" class="py-name"><a title="web2py.gluon.html.A.tag
8812
web2py.gluon.html.B.tag
8813
web2py.gluon.html.BEAUTIFY.tag
8814
web2py.gluon.html.BODY.tag
8815
web2py.gluon.html.BR.tag
8816
web2py.gluon.html.BUTTON.tag
8817
web2py.gluon.html.CAT.tag
8818
web2py.gluon.html.CENTER.tag
8819
web2py.gluon.html.COL.tag
8820
web2py.gluon.html.COLGROUP.tag
8821
web2py.gluon.html.DIV.tag
8822
web2py.gluon.html.EM.tag
8823
web2py.gluon.html.EMBED.tag
8824
web2py.gluon.html.FIELDSET.tag
8825
web2py.gluon.html.FORM.tag
8826
web2py.gluon.html.H1.tag
8827
web2py.gluon.html.H2.tag
8828
web2py.gluon.html.H3.tag
8829
web2py.gluon.html.H4.tag
8830
web2py.gluon.html.H5.tag
8831
web2py.gluon.html.H6.tag
8832
web2py.gluon.html.HEAD.tag
8833
web2py.gluon.html.HR.tag
8834
web2py.gluon.html.HTML.tag
8835
web2py.gluon.html.I.tag
8836
web2py.gluon.html.IFRAME.tag
8837
web2py.gluon.html.IMG.tag
8838
web2py.gluon.html.INPUT.tag
8839
web2py.gluon.html.LABEL.tag
8840
web2py.gluon.html.LEGEND.tag
8841
web2py.gluon.html.LI.tag
8842
web2py.gluon.html.LINK.tag
8843
web2py.gluon.html.MENU.tag
8844
web2py.gluon.html.META.tag
8845
web2py.gluon.html.OBJECT.tag
8846
web2py.gluon.html.OL.tag
8847
web2py.gluon.html.OPTGROUP.tag
8848
web2py.gluon.html.OPTION.tag
8849
web2py.gluon.html.P.tag
8850
web2py.gluon.html.PRE.tag
8851
web2py.gluon.html.SCRIPT.tag
8852
web2py.gluon.html.SELECT.tag
8853
web2py.gluon.html.SPAN.tag
8854
web2py.gluon.html.STYLE.tag
8855
web2py.gluon.html.TABLE.tag
8856
web2py.gluon.html.TBODY.tag
8857
web2py.gluon.html.TD.tag
8858
web2py.gluon.html.TEXTAREA.tag
8859
web2py.gluon.html.TFOOT.tag
8860
web2py.gluon.html.TH.tag
8861
web2py.gluon.html.THEAD.tag
8862
web2py.gluon.html.TITLE.tag
8863
web2py.gluon.html.TR.tag
8864
web2py.gluon.html.TT.tag
8865
web2py.gluon.html.UL.tag
8866
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-569', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'br'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'\n\n'</tt> </tt>
8867
<a name="L2230"></a><tt class="py-lineno">2230</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-570" class="py-name"><a title="web2py.gluon.html.A.tag
8868
web2py.gluon.html.B.tag
8869
web2py.gluon.html.BEAUTIFY.tag
8870
web2py.gluon.html.BODY.tag
8871
web2py.gluon.html.BR.tag
8872
web2py.gluon.html.BUTTON.tag
8873
web2py.gluon.html.CAT.tag
8874
web2py.gluon.html.CENTER.tag
8875
web2py.gluon.html.COL.tag
8876
web2py.gluon.html.COLGROUP.tag
8877
web2py.gluon.html.DIV.tag
8878
web2py.gluon.html.EM.tag
8879
web2py.gluon.html.EMBED.tag
8880
web2py.gluon.html.FIELDSET.tag
8881
web2py.gluon.html.FORM.tag
8882
web2py.gluon.html.H1.tag
8883
web2py.gluon.html.H2.tag
8884
web2py.gluon.html.H3.tag
8885
web2py.gluon.html.H4.tag
8886
web2py.gluon.html.H5.tag
8887
web2py.gluon.html.H6.tag
8888
web2py.gluon.html.HEAD.tag
8889
web2py.gluon.html.HR.tag
8890
web2py.gluon.html.HTML.tag
8891
web2py.gluon.html.I.tag
8892
web2py.gluon.html.IFRAME.tag
8893
web2py.gluon.html.IMG.tag
8894
web2py.gluon.html.INPUT.tag
8895
web2py.gluon.html.LABEL.tag
8896
web2py.gluon.html.LEGEND.tag
8897
web2py.gluon.html.LI.tag
8898
web2py.gluon.html.LINK.tag
8899
web2py.gluon.html.MENU.tag
8900
web2py.gluon.html.META.tag
8901
web2py.gluon.html.OBJECT.tag
8902
web2py.gluon.html.OL.tag
8903
web2py.gluon.html.OPTGROUP.tag
8904
web2py.gluon.html.OPTION.tag
8905
web2py.gluon.html.P.tag
8906
web2py.gluon.html.PRE.tag
8907
web2py.gluon.html.SCRIPT.tag
8908
web2py.gluon.html.SELECT.tag
8909
web2py.gluon.html.SPAN.tag
8910
web2py.gluon.html.STYLE.tag
8911
web2py.gluon.html.TABLE.tag
8912
web2py.gluon.html.TBODY.tag
8913
web2py.gluon.html.TD.tag
8914
web2py.gluon.html.TEXTAREA.tag
8915
web2py.gluon.html.TFOOT.tag
8916
web2py.gluon.html.TH.tag
8917
web2py.gluon.html.THEAD.tag
8918
web2py.gluon.html.TITLE.tag
8919
web2py.gluon.html.TR.tag
8920
web2py.gluon.html.TT.tag
8921
web2py.gluon.html.UL.tag
8922
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-570', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h1'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'# '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8923
<a name="L2231"></a><tt class="py-lineno">2231</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-571" class="py-name"><a title="web2py.gluon.html.A.tag
8924
web2py.gluon.html.B.tag
8925
web2py.gluon.html.BEAUTIFY.tag
8926
web2py.gluon.html.BODY.tag
8927
web2py.gluon.html.BR.tag
8928
web2py.gluon.html.BUTTON.tag
8929
web2py.gluon.html.CAT.tag
8930
web2py.gluon.html.CENTER.tag
8931
web2py.gluon.html.COL.tag
8932
web2py.gluon.html.COLGROUP.tag
8933
web2py.gluon.html.DIV.tag
8934
web2py.gluon.html.EM.tag
8935
web2py.gluon.html.EMBED.tag
8936
web2py.gluon.html.FIELDSET.tag
8937
web2py.gluon.html.FORM.tag
8938
web2py.gluon.html.H1.tag
8939
web2py.gluon.html.H2.tag
8940
web2py.gluon.html.H3.tag
8941
web2py.gluon.html.H4.tag
8942
web2py.gluon.html.H5.tag
8943
web2py.gluon.html.H6.tag
8944
web2py.gluon.html.HEAD.tag
8945
web2py.gluon.html.HR.tag
8946
web2py.gluon.html.HTML.tag
8947
web2py.gluon.html.I.tag
8948
web2py.gluon.html.IFRAME.tag
8949
web2py.gluon.html.IMG.tag
8950
web2py.gluon.html.INPUT.tag
8951
web2py.gluon.html.LABEL.tag
8952
web2py.gluon.html.LEGEND.tag
8953
web2py.gluon.html.LI.tag
8954
web2py.gluon.html.LINK.tag
8955
web2py.gluon.html.MENU.tag
8956
web2py.gluon.html.META.tag
8957
web2py.gluon.html.OBJECT.tag
8958
web2py.gluon.html.OL.tag
8959
web2py.gluon.html.OPTGROUP.tag
8960
web2py.gluon.html.OPTION.tag
8961
web2py.gluon.html.P.tag
8962
web2py.gluon.html.PRE.tag
8963
web2py.gluon.html.SCRIPT.tag
8964
web2py.gluon.html.SELECT.tag
8965
web2py.gluon.html.SPAN.tag
8966
web2py.gluon.html.STYLE.tag
8967
web2py.gluon.html.TABLE.tag
8968
web2py.gluon.html.TBODY.tag
8969
web2py.gluon.html.TD.tag
8970
web2py.gluon.html.TEXTAREA.tag
8971
web2py.gluon.html.TFOOT.tag
8972
web2py.gluon.html.TH.tag
8973
web2py.gluon.html.THEAD.tag
8974
web2py.gluon.html.TITLE.tag
8975
web2py.gluon.html.TR.tag
8976
web2py.gluon.html.TT.tag
8977
web2py.gluon.html.UL.tag
8978
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-571', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h2'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">2</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
8979
<a name="L2232"></a><tt class="py-lineno">2232</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-572" class="py-name"><a title="web2py.gluon.html.A.tag
8980
web2py.gluon.html.B.tag
8981
web2py.gluon.html.BEAUTIFY.tag
8982
web2py.gluon.html.BODY.tag
8983
web2py.gluon.html.BR.tag
8984
web2py.gluon.html.BUTTON.tag
8985
web2py.gluon.html.CAT.tag
8986
web2py.gluon.html.CENTER.tag
8987
web2py.gluon.html.COL.tag
8988
web2py.gluon.html.COLGROUP.tag
8989
web2py.gluon.html.DIV.tag
8990
web2py.gluon.html.EM.tag
8991
web2py.gluon.html.EMBED.tag
8992
web2py.gluon.html.FIELDSET.tag
8993
web2py.gluon.html.FORM.tag
8994
web2py.gluon.html.H1.tag
8995
web2py.gluon.html.H2.tag
8996
web2py.gluon.html.H3.tag
8997
web2py.gluon.html.H4.tag
8998
web2py.gluon.html.H5.tag
8999
web2py.gluon.html.H6.tag
9000
web2py.gluon.html.HEAD.tag
9001
web2py.gluon.html.HR.tag
9002
web2py.gluon.html.HTML.tag
9003
web2py.gluon.html.I.tag
9004
web2py.gluon.html.IFRAME.tag
9005
web2py.gluon.html.IMG.tag
9006
web2py.gluon.html.INPUT.tag
9007
web2py.gluon.html.LABEL.tag
9008
web2py.gluon.html.LEGEND.tag
9009
web2py.gluon.html.LI.tag
9010
web2py.gluon.html.LINK.tag
9011
web2py.gluon.html.MENU.tag
9012
web2py.gluon.html.META.tag
9013
web2py.gluon.html.OBJECT.tag
9014
web2py.gluon.html.OL.tag
9015
web2py.gluon.html.OPTGROUP.tag
9016
web2py.gluon.html.OPTION.tag
9017
web2py.gluon.html.P.tag
9018
web2py.gluon.html.PRE.tag
9019
web2py.gluon.html.SCRIPT.tag
9020
web2py.gluon.html.SELECT.tag
9021
web2py.gluon.html.SPAN.tag
9022
web2py.gluon.html.STYLE.tag
9023
web2py.gluon.html.TABLE.tag
9024
web2py.gluon.html.TBODY.tag
9025
web2py.gluon.html.TD.tag
9026
web2py.gluon.html.TEXTAREA.tag
9027
web2py.gluon.html.TFOOT.tag
9028
web2py.gluon.html.TH.tag
9029
web2py.gluon.html.THEAD.tag
9030
web2py.gluon.html.TITLE.tag
9031
web2py.gluon.html.TR.tag
9032
web2py.gluon.html.TT.tag
9033
web2py.gluon.html.UL.tag
9034
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-572', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h3'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
9035
<a name="L2233"></a><tt class="py-lineno">2233</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-573" class="py-name"><a title="web2py.gluon.html.A.tag
9036
web2py.gluon.html.B.tag
9037
web2py.gluon.html.BEAUTIFY.tag
9038
web2py.gluon.html.BODY.tag
9039
web2py.gluon.html.BR.tag
9040
web2py.gluon.html.BUTTON.tag
9041
web2py.gluon.html.CAT.tag
9042
web2py.gluon.html.CENTER.tag
9043
web2py.gluon.html.COL.tag
9044
web2py.gluon.html.COLGROUP.tag
9045
web2py.gluon.html.DIV.tag
9046
web2py.gluon.html.EM.tag
9047
web2py.gluon.html.EMBED.tag
9048
web2py.gluon.html.FIELDSET.tag
9049
web2py.gluon.html.FORM.tag
9050
web2py.gluon.html.H1.tag
9051
web2py.gluon.html.H2.tag
9052
web2py.gluon.html.H3.tag
9053
web2py.gluon.html.H4.tag
9054
web2py.gluon.html.H5.tag
9055
web2py.gluon.html.H6.tag
9056
web2py.gluon.html.HEAD.tag
9057
web2py.gluon.html.HR.tag
9058
web2py.gluon.html.HTML.tag
9059
web2py.gluon.html.I.tag
9060
web2py.gluon.html.IFRAME.tag
9061
web2py.gluon.html.IMG.tag
9062
web2py.gluon.html.INPUT.tag
9063
web2py.gluon.html.LABEL.tag
9064
web2py.gluon.html.LEGEND.tag
9065
web2py.gluon.html.LI.tag
9066
web2py.gluon.html.LINK.tag
9067
web2py.gluon.html.MENU.tag
9068
web2py.gluon.html.META.tag
9069
web2py.gluon.html.OBJECT.tag
9070
web2py.gluon.html.OL.tag
9071
web2py.gluon.html.OPTGROUP.tag
9072
web2py.gluon.html.OPTION.tag
9073
web2py.gluon.html.P.tag
9074
web2py.gluon.html.PRE.tag
9075
web2py.gluon.html.SCRIPT.tag
9076
web2py.gluon.html.SELECT.tag
9077
web2py.gluon.html.SPAN.tag
9078
web2py.gluon.html.STYLE.tag
9079
web2py.gluon.html.TABLE.tag
9080
web2py.gluon.html.TBODY.tag
9081
web2py.gluon.html.TD.tag
9082
web2py.gluon.html.TEXTAREA.tag
9083
web2py.gluon.html.TFOOT.tag
9084
web2py.gluon.html.TH.tag
9085
web2py.gluon.html.THEAD.tag
9086
web2py.gluon.html.TITLE.tag
9087
web2py.gluon.html.TR.tag
9088
web2py.gluon.html.TT.tag
9089
web2py.gluon.html.UL.tag
9090
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-573', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'h4'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'#'</tt><tt class="py-op">*</tt><tt class="py-number">4</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
9091
<a name="L2234"></a><tt class="py-lineno">2234</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-574" class="py-name"><a title="web2py.gluon.html.A.tag
9092
web2py.gluon.html.B.tag
9093
web2py.gluon.html.BEAUTIFY.tag
9094
web2py.gluon.html.BODY.tag
9095
web2py.gluon.html.BR.tag
9096
web2py.gluon.html.BUTTON.tag
9097
web2py.gluon.html.CAT.tag
9098
web2py.gluon.html.CENTER.tag
9099
web2py.gluon.html.COL.tag
9100
web2py.gluon.html.COLGROUP.tag
9101
web2py.gluon.html.DIV.tag
9102
web2py.gluon.html.EM.tag
9103
web2py.gluon.html.EMBED.tag
9104
web2py.gluon.html.FIELDSET.tag
9105
web2py.gluon.html.FORM.tag
9106
web2py.gluon.html.H1.tag
9107
web2py.gluon.html.H2.tag
9108
web2py.gluon.html.H3.tag
9109
web2py.gluon.html.H4.tag
9110
web2py.gluon.html.H5.tag
9111
web2py.gluon.html.H6.tag
9112
web2py.gluon.html.HEAD.tag
9113
web2py.gluon.html.HR.tag
9114
web2py.gluon.html.HTML.tag
9115
web2py.gluon.html.I.tag
9116
web2py.gluon.html.IFRAME.tag
9117
web2py.gluon.html.IMG.tag
9118
web2py.gluon.html.INPUT.tag
9119
web2py.gluon.html.LABEL.tag
9120
web2py.gluon.html.LEGEND.tag
9121
web2py.gluon.html.LI.tag
9122
web2py.gluon.html.LINK.tag
9123
web2py.gluon.html.MENU.tag
9124
web2py.gluon.html.META.tag
9125
web2py.gluon.html.OBJECT.tag
9126
web2py.gluon.html.OL.tag
9127
web2py.gluon.html.OPTGROUP.tag
9128
web2py.gluon.html.OPTION.tag
9129
web2py.gluon.html.P.tag
9130
web2py.gluon.html.PRE.tag
9131
web2py.gluon.html.SCRIPT.tag
9132
web2py.gluon.html.SELECT.tag
9133
web2py.gluon.html.SPAN.tag
9134
web2py.gluon.html.STYLE.tag
9135
web2py.gluon.html.TABLE.tag
9136
web2py.gluon.html.TBODY.tag
9137
web2py.gluon.html.TD.tag
9138
web2py.gluon.html.TEXTAREA.tag
9139
web2py.gluon.html.TFOOT.tag
9140
web2py.gluon.html.TH.tag
9141
web2py.gluon.html.THEAD.tag
9142
web2py.gluon.html.TITLE.tag
9143
web2py.gluon.html.TR.tag
9144
web2py.gluon.html.TT.tag
9145
web2py.gluon.html.UL.tag
9146
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-574', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'p'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n\n'</tt> </tt>
9147
<a name="L2235"></a><tt class="py-lineno">2235</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-575" class="py-name"><a title="web2py.gluon.html.A.tag
9148
web2py.gluon.html.B.tag
9149
web2py.gluon.html.BEAUTIFY.tag
9150
web2py.gluon.html.BODY.tag
9151
web2py.gluon.html.BR.tag
9152
web2py.gluon.html.BUTTON.tag
9153
web2py.gluon.html.CAT.tag
9154
web2py.gluon.html.CENTER.tag
9155
web2py.gluon.html.COL.tag
9156
web2py.gluon.html.COLGROUP.tag
9157
web2py.gluon.html.DIV.tag
9158
web2py.gluon.html.EM.tag
9159
web2py.gluon.html.EMBED.tag
9160
web2py.gluon.html.FIELDSET.tag
9161
web2py.gluon.html.FORM.tag
9162
web2py.gluon.html.H1.tag
9163
web2py.gluon.html.H2.tag
9164
web2py.gluon.html.H3.tag
9165
web2py.gluon.html.H4.tag
9166
web2py.gluon.html.H5.tag
9167
web2py.gluon.html.H6.tag
9168
web2py.gluon.html.HEAD.tag
9169
web2py.gluon.html.HR.tag
9170
web2py.gluon.html.HTML.tag
9171
web2py.gluon.html.I.tag
9172
web2py.gluon.html.IFRAME.tag
9173
web2py.gluon.html.IMG.tag
9174
web2py.gluon.html.INPUT.tag
9175
web2py.gluon.html.LABEL.tag
9176
web2py.gluon.html.LEGEND.tag
9177
web2py.gluon.html.LI.tag
9178
web2py.gluon.html.LINK.tag
9179
web2py.gluon.html.MENU.tag
9180
web2py.gluon.html.META.tag
9181
web2py.gluon.html.OBJECT.tag
9182
web2py.gluon.html.OL.tag
9183
web2py.gluon.html.OPTGROUP.tag
9184
web2py.gluon.html.OPTION.tag
9185
web2py.gluon.html.P.tag
9186
web2py.gluon.html.PRE.tag
9187
web2py.gluon.html.SCRIPT.tag
9188
web2py.gluon.html.SELECT.tag
9189
web2py.gluon.html.SPAN.tag
9190
web2py.gluon.html.STYLE.tag
9191
web2py.gluon.html.TABLE.tag
9192
web2py.gluon.html.TBODY.tag
9193
web2py.gluon.html.TD.tag
9194
web2py.gluon.html.TEXTAREA.tag
9195
web2py.gluon.html.TFOOT.tag
9196
web2py.gluon.html.TH.tag
9197
web2py.gluon.html.THEAD.tag
9198
web2py.gluon.html.TITLE.tag
9199
web2py.gluon.html.TR.tag
9200
web2py.gluon.html.TT.tag
9201
web2py.gluon.html.UL.tag
9202
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-575', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'li'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'\n- '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
9203
<a name="L2236"></a><tt class="py-lineno">2236</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-576" class="py-name"><a title="web2py.gluon.html.A.tag
9204
web2py.gluon.html.B.tag
9205
web2py.gluon.html.BEAUTIFY.tag
9206
web2py.gluon.html.BODY.tag
9207
web2py.gluon.html.BR.tag
9208
web2py.gluon.html.BUTTON.tag
9209
web2py.gluon.html.CAT.tag
9210
web2py.gluon.html.CENTER.tag
9211
web2py.gluon.html.COL.tag
9212
web2py.gluon.html.COLGROUP.tag
9213
web2py.gluon.html.DIV.tag
9214
web2py.gluon.html.EM.tag
9215
web2py.gluon.html.EMBED.tag
9216
web2py.gluon.html.FIELDSET.tag
9217
web2py.gluon.html.FORM.tag
9218
web2py.gluon.html.H1.tag
9219
web2py.gluon.html.H2.tag
9220
web2py.gluon.html.H3.tag
9221
web2py.gluon.html.H4.tag
9222
web2py.gluon.html.H5.tag
9223
web2py.gluon.html.H6.tag
9224
web2py.gluon.html.HEAD.tag
9225
web2py.gluon.html.HR.tag
9226
web2py.gluon.html.HTML.tag
9227
web2py.gluon.html.I.tag
9228
web2py.gluon.html.IFRAME.tag
9229
web2py.gluon.html.IMG.tag
9230
web2py.gluon.html.INPUT.tag
9231
web2py.gluon.html.LABEL.tag
9232
web2py.gluon.html.LEGEND.tag
9233
web2py.gluon.html.LI.tag
9234
web2py.gluon.html.LINK.tag
9235
web2py.gluon.html.MENU.tag
9236
web2py.gluon.html.META.tag
9237
web2py.gluon.html.OBJECT.tag
9238
web2py.gluon.html.OL.tag
9239
web2py.gluon.html.OPTGROUP.tag
9240
web2py.gluon.html.OPTION.tag
9241
web2py.gluon.html.P.tag
9242
web2py.gluon.html.PRE.tag
9243
web2py.gluon.html.SCRIPT.tag
9244
web2py.gluon.html.SELECT.tag
9245
web2py.gluon.html.SPAN.tag
9246
web2py.gluon.html.STYLE.tag
9247
web2py.gluon.html.TABLE.tag
9248
web2py.gluon.html.TBODY.tag
9249
web2py.gluon.html.TD.tag
9250
web2py.gluon.html.TEXTAREA.tag
9251
web2py.gluon.html.TFOOT.tag
9252
web2py.gluon.html.TH.tag
9253
web2py.gluon.html.THEAD.tag
9254
web2py.gluon.html.TITLE.tag
9255
web2py.gluon.html.TR.tag
9256
web2py.gluon.html.TT.tag
9257
web2py.gluon.html.UL.tag
9258
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-576', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'tr'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">'\n'</tt> </tt>
9259
<a name="L2237"></a><tt class="py-lineno">2237</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-577" class="py-name"><a title="web2py.gluon.html.A.tag
9260
web2py.gluon.html.B.tag
9261
web2py.gluon.html.BEAUTIFY.tag
9262
web2py.gluon.html.BODY.tag
9263
web2py.gluon.html.BR.tag
9264
web2py.gluon.html.BUTTON.tag
9265
web2py.gluon.html.CAT.tag
9266
web2py.gluon.html.CENTER.tag
9267
web2py.gluon.html.COL.tag
9268
web2py.gluon.html.COLGROUP.tag
9269
web2py.gluon.html.DIV.tag
9270
web2py.gluon.html.EM.tag
9271
web2py.gluon.html.EMBED.tag
9272
web2py.gluon.html.FIELDSET.tag
9273
web2py.gluon.html.FORM.tag
9274
web2py.gluon.html.H1.tag
9275
web2py.gluon.html.H2.tag
9276
web2py.gluon.html.H3.tag
9277
web2py.gluon.html.H4.tag
9278
web2py.gluon.html.H5.tag
9279
web2py.gluon.html.H6.tag
9280
web2py.gluon.html.HEAD.tag
9281
web2py.gluon.html.HR.tag
9282
web2py.gluon.html.HTML.tag
9283
web2py.gluon.html.I.tag
9284
web2py.gluon.html.IFRAME.tag
9285
web2py.gluon.html.IMG.tag
9286
web2py.gluon.html.INPUT.tag
9287
web2py.gluon.html.LABEL.tag
9288
web2py.gluon.html.LEGEND.tag
9289
web2py.gluon.html.LI.tag
9290
web2py.gluon.html.LINK.tag
9291
web2py.gluon.html.MENU.tag
9292
web2py.gluon.html.META.tag
9293
web2py.gluon.html.OBJECT.tag
9294
web2py.gluon.html.OL.tag
9295
web2py.gluon.html.OPTGROUP.tag
9296
web2py.gluon.html.OPTION.tag
9297
web2py.gluon.html.P.tag
9298
web2py.gluon.html.PRE.tag
9299
web2py.gluon.html.SCRIPT.tag
9300
web2py.gluon.html.SELECT.tag
9301
web2py.gluon.html.SPAN.tag
9302
web2py.gluon.html.STYLE.tag
9303
web2py.gluon.html.TABLE.tag
9304
web2py.gluon.html.TBODY.tag
9305
web2py.gluon.html.TD.tag
9306
web2py.gluon.html.TEXTAREA.tag
9307
web2py.gluon.html.TFOOT.tag
9308
web2py.gluon.html.TH.tag
9309
web2py.gluon.html.THEAD.tag
9310
web2py.gluon.html.TITLE.tag
9311
web2py.gluon.html.TR.tag
9312
web2py.gluon.html.TT.tag
9313
web2py.gluon.html.UL.tag
9314
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-577', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'table'</tt><tt class="py-op">,</tt><tt class="py-string">'blockquote'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'\n-----\n'</tt><tt class="py-op">+</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">'\n------\n'</tt> </tt>
9315
<a name="L2238"></a><tt class="py-lineno">2238</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-578" class="py-name"><a title="web2py.gluon.html.A.tag
9316
web2py.gluon.html.B.tag
9317
web2py.gluon.html.BEAUTIFY.tag
9318
web2py.gluon.html.BODY.tag
9319
web2py.gluon.html.BR.tag
9320
web2py.gluon.html.BUTTON.tag
9321
web2py.gluon.html.CAT.tag
9322
web2py.gluon.html.CENTER.tag
9323
web2py.gluon.html.COL.tag
9324
web2py.gluon.html.COLGROUP.tag
9325
web2py.gluon.html.DIV.tag
9326
web2py.gluon.html.EM.tag
9327
web2py.gluon.html.EMBED.tag
9328
web2py.gluon.html.FIELDSET.tag
9329
web2py.gluon.html.FORM.tag
9330
web2py.gluon.html.H1.tag
9331
web2py.gluon.html.H2.tag
9332
web2py.gluon.html.H3.tag
9333
web2py.gluon.html.H4.tag
9334
web2py.gluon.html.H5.tag
9335
web2py.gluon.html.H6.tag
9336
web2py.gluon.html.HEAD.tag
9337
web2py.gluon.html.HR.tag
9338
web2py.gluon.html.HTML.tag
9339
web2py.gluon.html.I.tag
9340
web2py.gluon.html.IFRAME.tag
9341
web2py.gluon.html.IMG.tag
9342
web2py.gluon.html.INPUT.tag
9343
web2py.gluon.html.LABEL.tag
9344
web2py.gluon.html.LEGEND.tag
9345
web2py.gluon.html.LI.tag
9346
web2py.gluon.html.LINK.tag
9347
web2py.gluon.html.MENU.tag
9348
web2py.gluon.html.META.tag
9349
web2py.gluon.html.OBJECT.tag
9350
web2py.gluon.html.OL.tag
9351
web2py.gluon.html.OPTGROUP.tag
9352
web2py.gluon.html.OPTION.tag
9353
web2py.gluon.html.P.tag
9354
web2py.gluon.html.PRE.tag
9355
web2py.gluon.html.SCRIPT.tag
9356
web2py.gluon.html.SELECT.tag
9357
web2py.gluon.html.SPAN.tag
9358
web2py.gluon.html.STYLE.tag
9359
web2py.gluon.html.TABLE.tag
9360
web2py.gluon.html.TBODY.tag
9361
web2py.gluon.html.TD.tag
9362
web2py.gluon.html.TEXTAREA.tag
9363
web2py.gluon.html.TFOOT.tag
9364
web2py.gluon.html.TH.tag
9365
web2py.gluon.html.THEAD.tag
9366
web2py.gluon.html.TITLE.tag
9367
web2py.gluon.html.TR.tag
9368
web2py.gluon.html.TT.tag
9369
web2py.gluon.html.UL.tag
9370
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-578', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'td'</tt><tt class="py-op">,</tt><tt class="py-string">'th'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">' | '</tt><tt class="py-op">+</tt><tt class="py-name">text</tt> </tt>
9371
<a name="L2239"></a><tt class="py-lineno">2239</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-579" class="py-name"><a title="web2py.gluon.html.A.tag
9372
web2py.gluon.html.B.tag
9373
web2py.gluon.html.BEAUTIFY.tag
9374
web2py.gluon.html.BODY.tag
9375
web2py.gluon.html.BR.tag
9376
web2py.gluon.html.BUTTON.tag
9377
web2py.gluon.html.CAT.tag
9378
web2py.gluon.html.CENTER.tag
9379
web2py.gluon.html.COL.tag
9380
web2py.gluon.html.COLGROUP.tag
9381
web2py.gluon.html.DIV.tag
9382
web2py.gluon.html.EM.tag
9383
web2py.gluon.html.EMBED.tag
9384
web2py.gluon.html.FIELDSET.tag
9385
web2py.gluon.html.FORM.tag
9386
web2py.gluon.html.H1.tag
9387
web2py.gluon.html.H2.tag
9388
web2py.gluon.html.H3.tag
9389
web2py.gluon.html.H4.tag
9390
web2py.gluon.html.H5.tag
9391
web2py.gluon.html.H6.tag
9392
web2py.gluon.html.HEAD.tag
9393
web2py.gluon.html.HR.tag
9394
web2py.gluon.html.HTML.tag
9395
web2py.gluon.html.I.tag
9396
web2py.gluon.html.IFRAME.tag
9397
web2py.gluon.html.IMG.tag
9398
web2py.gluon.html.INPUT.tag
9399
web2py.gluon.html.LABEL.tag
9400
web2py.gluon.html.LEGEND.tag
9401
web2py.gluon.html.LI.tag
9402
web2py.gluon.html.LINK.tag
9403
web2py.gluon.html.MENU.tag
9404
web2py.gluon.html.META.tag
9405
web2py.gluon.html.OBJECT.tag
9406
web2py.gluon.html.OL.tag
9407
web2py.gluon.html.OPTGROUP.tag
9408
web2py.gluon.html.OPTION.tag
9409
web2py.gluon.html.P.tag
9410
web2py.gluon.html.PRE.tag
9411
web2py.gluon.html.SCRIPT.tag
9412
web2py.gluon.html.SELECT.tag
9413
web2py.gluon.html.SPAN.tag
9414
web2py.gluon.html.STYLE.tag
9415
web2py.gluon.html.TABLE.tag
9416
web2py.gluon.html.TBODY.tag
9417
web2py.gluon.html.TD.tag
9418
web2py.gluon.html.TEXTAREA.tag
9419
web2py.gluon.html.TFOOT.tag
9420
web2py.gluon.html.TH.tag
9421
web2py.gluon.html.THEAD.tag
9422
web2py.gluon.html.TITLE.tag
9423
web2py.gluon.html.TR.tag
9424
web2py.gluon.html.TT.tag
9425
web2py.gluon.html.UL.tag
9426
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-579', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt><tt class="py-string">'strong'</tt><tt class="py-op">,</tt><tt class="py-string">'label'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'**%s**'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
9427
<a name="L2240"></a><tt class="py-lineno">2240</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-580" class="py-name"><a title="web2py.gluon.html.A.tag
9428
web2py.gluon.html.B.tag
9429
web2py.gluon.html.BEAUTIFY.tag
9430
web2py.gluon.html.BODY.tag
9431
web2py.gluon.html.BR.tag
9432
web2py.gluon.html.BUTTON.tag
9433
web2py.gluon.html.CAT.tag
9434
web2py.gluon.html.CENTER.tag
9435
web2py.gluon.html.COL.tag
9436
web2py.gluon.html.COLGROUP.tag
9437
web2py.gluon.html.DIV.tag
9438
web2py.gluon.html.EM.tag
9439
web2py.gluon.html.EMBED.tag
9440
web2py.gluon.html.FIELDSET.tag
9441
web2py.gluon.html.FORM.tag
9442
web2py.gluon.html.H1.tag
9443
web2py.gluon.html.H2.tag
9444
web2py.gluon.html.H3.tag
9445
web2py.gluon.html.H4.tag
9446
web2py.gluon.html.H5.tag
9447
web2py.gluon.html.H6.tag
9448
web2py.gluon.html.HEAD.tag
9449
web2py.gluon.html.HR.tag
9450
web2py.gluon.html.HTML.tag
9451
web2py.gluon.html.I.tag
9452
web2py.gluon.html.IFRAME.tag
9453
web2py.gluon.html.IMG.tag
9454
web2py.gluon.html.INPUT.tag
9455
web2py.gluon.html.LABEL.tag
9456
web2py.gluon.html.LEGEND.tag
9457
web2py.gluon.html.LI.tag
9458
web2py.gluon.html.LINK.tag
9459
web2py.gluon.html.MENU.tag
9460
web2py.gluon.html.META.tag
9461
web2py.gluon.html.OBJECT.tag
9462
web2py.gluon.html.OL.tag
9463
web2py.gluon.html.OPTGROUP.tag
9464
web2py.gluon.html.OPTION.tag
9465
web2py.gluon.html.P.tag
9466
web2py.gluon.html.PRE.tag
9467
web2py.gluon.html.SCRIPT.tag
9468
web2py.gluon.html.SELECT.tag
9469
web2py.gluon.html.SPAN.tag
9470
web2py.gluon.html.STYLE.tag
9471
web2py.gluon.html.TABLE.tag
9472
web2py.gluon.html.TBODY.tag
9473
web2py.gluon.html.TD.tag
9474
web2py.gluon.html.TEXTAREA.tag
9475
web2py.gluon.html.TFOOT.tag
9476
web2py.gluon.html.TH.tag
9477
web2py.gluon.html.THEAD.tag
9478
web2py.gluon.html.TITLE.tag
9479
web2py.gluon.html.TR.tag
9480
web2py.gluon.html.TT.tag
9481
web2py.gluon.html.UL.tag
9482
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-580', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'em'</tt><tt class="py-op">,</tt><tt class="py-string">'i'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">"''%s''"</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
9483
<a name="L2241"></a><tt class="py-lineno">2241</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-581" class="py-name"><a title="web2py.gluon.html.A.tag
9484
web2py.gluon.html.B.tag
9485
web2py.gluon.html.BEAUTIFY.tag
9486
web2py.gluon.html.BODY.tag
9487
web2py.gluon.html.BR.tag
9488
web2py.gluon.html.BUTTON.tag
9489
web2py.gluon.html.CAT.tag
9490
web2py.gluon.html.CENTER.tag
9491
web2py.gluon.html.COL.tag
9492
web2py.gluon.html.COLGROUP.tag
9493
web2py.gluon.html.DIV.tag
9494
web2py.gluon.html.EM.tag
9495
web2py.gluon.html.EMBED.tag
9496
web2py.gluon.html.FIELDSET.tag
9497
web2py.gluon.html.FORM.tag
9498
web2py.gluon.html.H1.tag
9499
web2py.gluon.html.H2.tag
9500
web2py.gluon.html.H3.tag
9501
web2py.gluon.html.H4.tag
9502
web2py.gluon.html.H5.tag
9503
web2py.gluon.html.H6.tag
9504
web2py.gluon.html.HEAD.tag
9505
web2py.gluon.html.HR.tag
9506
web2py.gluon.html.HTML.tag
9507
web2py.gluon.html.I.tag
9508
web2py.gluon.html.IFRAME.tag
9509
web2py.gluon.html.IMG.tag
9510
web2py.gluon.html.INPUT.tag
9511
web2py.gluon.html.LABEL.tag
9512
web2py.gluon.html.LEGEND.tag
9513
web2py.gluon.html.LI.tag
9514
web2py.gluon.html.LINK.tag
9515
web2py.gluon.html.MENU.tag
9516
web2py.gluon.html.META.tag
9517
web2py.gluon.html.OBJECT.tag
9518
web2py.gluon.html.OL.tag
9519
web2py.gluon.html.OPTGROUP.tag
9520
web2py.gluon.html.OPTION.tag
9521
web2py.gluon.html.P.tag
9522
web2py.gluon.html.PRE.tag
9523
web2py.gluon.html.SCRIPT.tag
9524
web2py.gluon.html.SELECT.tag
9525
web2py.gluon.html.SPAN.tag
9526
web2py.gluon.html.STYLE.tag
9527
web2py.gluon.html.TABLE.tag
9528
web2py.gluon.html.TBODY.tag
9529
web2py.gluon.html.TD.tag
9530
web2py.gluon.html.TEXTAREA.tag
9531
web2py.gluon.html.TFOOT.tag
9532
web2py.gluon.html.TH.tag
9533
web2py.gluon.html.THEAD.tag
9534
web2py.gluon.html.TITLE.tag
9535
web2py.gluon.html.TR.tag
9536
web2py.gluon.html.TT.tag
9537
web2py.gluon.html.UL.tag
9538
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-581', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'tt'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'``%s``'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt id="link-582" class="py-name"><a title="web2py.gluon.sanitizer.XssCleaner.strip" class="py-name" href="#" onclick="return doclink('link-582', 'strip', 'link-142');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
9539
<a name="L2242"></a><tt class="py-lineno">2242</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-583" class="py-name"><a title="web2py.gluon.html.A.tag
9540
web2py.gluon.html.B.tag
9541
web2py.gluon.html.BEAUTIFY.tag
9542
web2py.gluon.html.BODY.tag
9543
web2py.gluon.html.BR.tag
9544
web2py.gluon.html.BUTTON.tag
9545
web2py.gluon.html.CAT.tag
9546
web2py.gluon.html.CENTER.tag
9547
web2py.gluon.html.COL.tag
9548
web2py.gluon.html.COLGROUP.tag
9549
web2py.gluon.html.DIV.tag
9550
web2py.gluon.html.EM.tag
9551
web2py.gluon.html.EMBED.tag
9552
web2py.gluon.html.FIELDSET.tag
9553
web2py.gluon.html.FORM.tag
9554
web2py.gluon.html.H1.tag
9555
web2py.gluon.html.H2.tag
9556
web2py.gluon.html.H3.tag
9557
web2py.gluon.html.H4.tag
9558
web2py.gluon.html.H5.tag
9559
web2py.gluon.html.H6.tag
9560
web2py.gluon.html.HEAD.tag
9561
web2py.gluon.html.HR.tag
9562
web2py.gluon.html.HTML.tag
9563
web2py.gluon.html.I.tag
9564
web2py.gluon.html.IFRAME.tag
9565
web2py.gluon.html.IMG.tag
9566
web2py.gluon.html.INPUT.tag
9567
web2py.gluon.html.LABEL.tag
9568
web2py.gluon.html.LEGEND.tag
9569
web2py.gluon.html.LI.tag
9570
web2py.gluon.html.LINK.tag
9571
web2py.gluon.html.MENU.tag
9572
web2py.gluon.html.META.tag
9573
web2py.gluon.html.OBJECT.tag
9574
web2py.gluon.html.OL.tag
9575
web2py.gluon.html.OPTGROUP.tag
9576
web2py.gluon.html.OPTION.tag
9577
web2py.gluon.html.P.tag
9578
web2py.gluon.html.PRE.tag
9579
web2py.gluon.html.SCRIPT.tag
9580
web2py.gluon.html.SELECT.tag
9581
web2py.gluon.html.SPAN.tag
9582
web2py.gluon.html.STYLE.tag
9583
web2py.gluon.html.TABLE.tag
9584
web2py.gluon.html.TBODY.tag
9585
web2py.gluon.html.TD.tag
9586
web2py.gluon.html.TEXTAREA.tag
9587
web2py.gluon.html.TFOOT.tag
9588
web2py.gluon.html.TH.tag
9589
web2py.gluon.html.THEAD.tag
9590
web2py.gluon.html.TITLE.tag
9591
web2py.gluon.html.TR.tag
9592
web2py.gluon.html.TT.tag
9593
web2py.gluon.html.UL.tag
9594
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-583', 'tag', 'link-82');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'code'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'``\n%s``'</tt> <tt class="py-op">%</tt> <tt class="py-name">text</tt> </tt>
9595
<a name="L2243"></a><tt class="py-lineno">2243</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-584" class="py-name"><a title="web2py.gluon.html.A.tag
9596
web2py.gluon.html.B.tag
9597
web2py.gluon.html.BEAUTIFY.tag
9598
web2py.gluon.html.BODY.tag
9599
web2py.gluon.html.BR.tag
9600
web2py.gluon.html.BUTTON.tag
9601
web2py.gluon.html.CAT.tag
9602
web2py.gluon.html.CENTER.tag
9603
web2py.gluon.html.COL.tag
9604
web2py.gluon.html.COLGROUP.tag
9605
web2py.gluon.html.DIV.tag
9606
web2py.gluon.html.EM.tag
9607
web2py.gluon.html.EMBED.tag
9608
web2py.gluon.html.FIELDSET.tag
9609
web2py.gluon.html.FORM.tag
9610
web2py.gluon.html.H1.tag
9611
web2py.gluon.html.H2.tag
9612
web2py.gluon.html.H3.tag
9613
web2py.gluon.html.H4.tag
9614
web2py.gluon.html.H5.tag
9615
web2py.gluon.html.H6.tag
9616
web2py.gluon.html.HEAD.tag
9617
web2py.gluon.html.HR.tag
9618
web2py.gluon.html.HTML.tag
9619
web2py.gluon.html.I.tag
9620
web2py.gluon.html.IFRAME.tag
9621
web2py.gluon.html.IMG.tag
9622
web2py.gluon.html.INPUT.tag
9623
web2py.gluon.html.LABEL.tag
9624
web2py.gluon.html.LEGEND.tag
9625
web2py.gluon.html.LI.tag
9626
web2py.gluon.html.LINK.tag
9627
web2py.gluon.html.MENU.tag
9628
web2py.gluon.html.META.tag
9629
web2py.gluon.html.OBJECT.tag
9630
web2py.gluon.html.OL.tag
9631
web2py.gluon.html.OPTGROUP.tag
9632
web2py.gluon.html.OPTION.tag
9633
web2py.gluon.html.P.tag
9634
web2py.gluon.html.PRE.tag
9635
web2py.gluon.html.SCRIPT.tag
9636
web2py.gluon.html.SELECT.tag
9637
web2py.gluon.html.SPAN.tag
9638
web2py.gluon.html.STYLE.tag
9639
web2py.gluon.html.TABLE.tag
9640
web2py.gluon.html.TBODY.tag
9641
web2py.gluon.html.TD.tag
9642
web2py.gluon.html.TEXTAREA.tag
9643
web2py.gluon.html.TFOOT.tag
9644
web2py.gluon.html.TH.tag
9645
web2py.gluon.html.THEAD.tag
9646
web2py.gluon.html.TITLE.tag
9647
web2py.gluon.html.TR.tag
9648
web2py.gluon.html.TT.tag
9649
web2py.gluon.html.UL.tag
9650
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-584', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'a'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'[[%s %s]]'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-585', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_href'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
9651
<a name="L2244"></a><tt class="py-lineno">2244</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-586" class="py-name"><a title="web2py.gluon.html.A.tag
9652
web2py.gluon.html.B.tag
9653
web2py.gluon.html.BEAUTIFY.tag
9654
web2py.gluon.html.BODY.tag
9655
web2py.gluon.html.BR.tag
9656
web2py.gluon.html.BUTTON.tag
9657
web2py.gluon.html.CAT.tag
9658
web2py.gluon.html.CENTER.tag
9659
web2py.gluon.html.COL.tag
9660
web2py.gluon.html.COLGROUP.tag
9661
web2py.gluon.html.DIV.tag
9662
web2py.gluon.html.EM.tag
9663
web2py.gluon.html.EMBED.tag
9664
web2py.gluon.html.FIELDSET.tag
9665
web2py.gluon.html.FORM.tag
9666
web2py.gluon.html.H1.tag
9667
web2py.gluon.html.H2.tag
9668
web2py.gluon.html.H3.tag
9669
web2py.gluon.html.H4.tag
9670
web2py.gluon.html.H5.tag
9671
web2py.gluon.html.H6.tag
9672
web2py.gluon.html.HEAD.tag
9673
web2py.gluon.html.HR.tag
9674
web2py.gluon.html.HTML.tag
9675
web2py.gluon.html.I.tag
9676
web2py.gluon.html.IFRAME.tag
9677
web2py.gluon.html.IMG.tag
9678
web2py.gluon.html.INPUT.tag
9679
web2py.gluon.html.LABEL.tag
9680
web2py.gluon.html.LEGEND.tag
9681
web2py.gluon.html.LI.tag
9682
web2py.gluon.html.LINK.tag
9683
web2py.gluon.html.MENU.tag
9684
web2py.gluon.html.META.tag
9685
web2py.gluon.html.OBJECT.tag
9686
web2py.gluon.html.OL.tag
9687
web2py.gluon.html.OPTGROUP.tag
9688
web2py.gluon.html.OPTION.tag
9689
web2py.gluon.html.P.tag
9690
web2py.gluon.html.PRE.tag
9691
web2py.gluon.html.SCRIPT.tag
9692
web2py.gluon.html.SELECT.tag
9693
web2py.gluon.html.SPAN.tag
9694
web2py.gluon.html.STYLE.tag
9695
web2py.gluon.html.TABLE.tag
9696
web2py.gluon.html.TBODY.tag
9697
web2py.gluon.html.TD.tag
9698
web2py.gluon.html.TEXTAREA.tag
9699
web2py.gluon.html.TFOOT.tag
9700
web2py.gluon.html.TH.tag
9701
web2py.gluon.html.THEAD.tag
9702
web2py.gluon.html.TITLE.tag
9703
web2py.gluon.html.TR.tag
9704
web2py.gluon.html.TT.tag
9705
web2py.gluon.html.UL.tag
9706
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-586', 'tag', 'link-82');">tag</a></tt><tt class="py-op">==</tt><tt class="py-string">'img'</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-string">'[[%s %s left]]'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-587" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-587', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_alt'</tt><tt class="py-op">,</tt><tt class="py-string">'no title'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-588" class="py-name"><a title="web2py.gluon.dal.Reference.get" class="py-name" href="#" onclick="return doclink('link-588', 'get', 'link-281');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'_src'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
9707
<a name="L2245"></a><tt class="py-lineno">2245</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
9708
</div><a name="L2246"></a><tt class="py-lineno">2246</tt> <tt class="py-line"> </tt>
9709
<a name="L2247"></a><tt class="py-lineno">2247</tt> <tt class="py-line"> </tt>
9710
<a name="MARKMIN"></a><div id="MARKMIN-def"><a name="L2248"></a><tt class="py-lineno">2248</tt> <a class="py-toggle" href="#" id="MARKMIN-toggle" onclick="return toggle('MARKMIN');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="web2py.gluon.html.MARKMIN-class.html">MARKMIN</a><tt class="py-op">(</tt><tt class="py-base-class">XmlComponent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
9711
</div><div id="MARKMIN-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MARKMIN-expanded"><a name="L2249"></a><tt class="py-lineno">2249</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
9712
<a name="L2250"></a><tt class="py-lineno">2250</tt> <tt class="py-line"><tt class="py-docstring"> For documentation: http://web2py.com/examples/static/markmin.html</tt> </tt>
9713
<a name="L2251"></a><tt class="py-lineno">2251</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
9714
<a name="MARKMIN.__init__"></a><div id="MARKMIN.__init__-def"><a name="L2252"></a><tt class="py-lineno">2252</tt> <a class="py-toggle" href="#" id="MARKMIN.__init__-toggle" onclick="return toggle('MARKMIN.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.MARKMIN-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">extra</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">allowed</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">sep</tt><tt class="py-op">=</tt><tt class="py-string">'p'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
9715
</div><div id="MARKMIN.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MARKMIN.__init__-expanded"><a name="L2253"></a><tt class="py-lineno">2253</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt> </tt>
9716
<a name="L2254"></a><tt class="py-lineno">2254</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">extra</tt> <tt class="py-op">=</tt> <tt class="py-name">extra</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
9717
<a name="L2255"></a><tt class="py-lineno">2255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed</tt> <tt class="py-op">=</tt> <tt class="py-name">allowed</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
9718
<a name="L2256"></a><tt class="py-lineno">2256</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sep</tt> <tt class="py-op">=</tt> <tt class="py-name">sep</tt> </tt>
9719
</div><a name="L2257"></a><tt class="py-lineno">2257</tt> <tt class="py-line"> </tt>
9720
<a name="MARKMIN.xml"></a><div id="MARKMIN.xml-def"><a name="L2258"></a><tt class="py-lineno">2258</tt> <a class="py-toggle" href="#" id="MARKMIN.xml-toggle" onclick="return toggle('MARKMIN.xml');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.MARKMIN-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
9721
</div><div id="MARKMIN.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MARKMIN.xml-expanded"><a name="L2259"></a><tt class="py-lineno">2259</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
9722
<a name="L2260"></a><tt class="py-lineno">2260</tt> <tt class="py-line"><tt class="py-docstring"> calls the gluon.contrib.markmin render function to convert the wiki syntax</tt> </tt>
9723
<a name="L2261"></a><tt class="py-lineno">2261</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
9724
<a name="L2262"></a><tt class="py-lineno">2262</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-589" class="py-name"><a title="web2py.gluon.globals.Response.render
9725
web2py.gluon.template.render" class="py-name" href="#" onclick="return doclink('link-589', 'render', 'link-4');">render</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">,</tt><tt class="py-name">extra</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">extra</tt><tt class="py-op">,</tt><tt class="py-name">allowed</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed</tt><tt class="py-op">,</tt><tt class="py-name">sep</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sep</tt><tt class="py-op">)</tt> </tt>
9726
</div><a name="L2263"></a><tt class="py-lineno">2263</tt> <tt class="py-line"> </tt>
9727
<a name="MARKMIN.__str__"></a><div id="MARKMIN.__str__-def"><a name="L2264"></a><tt class="py-lineno">2264</tt> <a class="py-toggle" href="#" id="MARKMIN.__str__-toggle" onclick="return toggle('MARKMIN.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.html.MARKMIN-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
9728
</div><div id="MARKMIN.__str__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MARKMIN.__str__-expanded"><a name="L2265"></a><tt class="py-lineno">2265</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-590" class="py-name"><a title="web2py.gluon.dal.Rows.xml
9643
9729
web2py.gluon.html.A.xml
9644
9730
web2py.gluon.html.CODE.xml
9645
9731
web2py.gluon.html.DIV.xml