78
78
<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> </tt>
79
79
<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"> </tt>
80
80
<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">htmllib</tt> <tt class="py-keyword">import</tt> <tt class="py-name">HTMLParser</tt> </tt>
81
<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt class="py-name">escape</tt> </tt>
81
<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt id="link-0" 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-0', 'escape', 'link-0');">escape</a></tt> </tt>
82
82
<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">urlparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
83
<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Method web2py.gluon.dal.Field.formatter()=web2py.gluon.dal.Field-class.html#formatter,Method web2py.gluon.validators.IS_DATE.formatter()=web2py.gluon.validators.IS_DATE-class.html#formatter,Method web2py.gluon.validators.IS_DATETIME.formatter()=web2py.gluon.validators.IS_DATETIME-class.html#formatter,Method web2py.gluon.validators.IS_DECIMAL_IN_RANGE.formatter()=web2py.gluon.validators.IS_DECIMAL_IN_RANGE-class.html#formatter,Method web2py.gluon.validators.IS_EMPTY_OR.formatter()=web2py.gluon.validators.IS_EMPTY_OR-class.html#formatter,Method web2py.gluon.validators.IS_FLOAT_IN_RANGE.formatter()=web2py.gluon.validators.IS_FLOAT_IN_RANGE-class.html#formatter,Method web2py.gluon.validators.Validator.formatter()=web2py.gluon.validators.Validator-class.html#formatter"><a title="web2py.gluon.dal.Field.formatter
83
<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Method web2py.gluon.dal.Field.formatter()=web2py.gluon.dal.Field-class.html#formatter,Method web2py.gluon.validators.IS_DATE.formatter()=web2py.gluon.validators.IS_DATE-class.html#formatter,Method web2py.gluon.validators.IS_DATETIME.formatter()=web2py.gluon.validators.IS_DATETIME-class.html#formatter,Method web2py.gluon.validators.IS_DECIMAL_IN_RANGE.formatter()=web2py.gluon.validators.IS_DECIMAL_IN_RANGE-class.html#formatter,Method web2py.gluon.validators.IS_EMPTY_OR.formatter()=web2py.gluon.validators.IS_EMPTY_OR-class.html#formatter,Method web2py.gluon.validators.IS_FLOAT_IN_RANGE.formatter()=web2py.gluon.validators.IS_FLOAT_IN_RANGE-class.html#formatter,Method web2py.gluon.validators.Validator.formatter()=web2py.gluon.validators.Validator-class.html#formatter"><a title="web2py.gluon.dal.Field.formatter
84
84
web2py.gluon.validators.IS_DATE.formatter
85
85
web2py.gluon.validators.IS_DATETIME.formatter
86
86
web2py.gluon.validators.IS_DECIMAL_IN_RANGE.formatter
87
87
web2py.gluon.validators.IS_EMPTY_OR.formatter
88
88
web2py.gluon.validators.IS_FLOAT_IN_RANGE.formatter
89
web2py.gluon.validators.Validator.formatter" class="py-name" href="#" onclick="return doclink('link-0', 'formatter', 'link-0');">formatter</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">AbstractFormatter</tt> </tt>
89
web2py.gluon.validators.Validator.formatter" class="py-name" href="#" onclick="return doclink('link-1', 'formatter', 'link-1');">formatter</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">AbstractFormatter</tt> </tt>
90
90
<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">htmlentitydefs</tt> <tt class="py-keyword">import</tt> <tt class="py-name">entitydefs</tt> </tt>
91
<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Method web2py.gluon.dal.Rows.xml()=web2py.gluon.dal.Rows-class.html#xml,Method web2py.gluon.html.A.xml()=web2py.gluon.html.A-class.html#xml,Method web2py.gluon.html.CODE.xml()=web2py.gluon.html.CODE-class.html#xml,Method web2py.gluon.html.DIV.xml()=web2py.gluon.html.DIV-class.html#xml,Method web2py.gluon.html.FORM.xml()=web2py.gluon.html.FORM-class.html#xml,Method web2py.gluon.html.HTML.xml()=web2py.gluon.html.HTML-class.html#xml,Method web2py.gluon.html.INPUT.xml()=web2py.gluon.html.INPUT-class.html#xml,Method web2py.gluon.html.MARKMIN.xml()=web2py.gluon.html.MARKMIN-class.html#xml,Method web2py.gluon.html.MENU.xml()=web2py.gluon.html.MENU-class.html#xml,Method web2py.gluon.html.P.xml()=web2py.gluon.html.P-class.html#xml,Method web2py.gluon.html.SCRIPT.xml()=web2py.gluon.html.SCRIPT-class.html#xml,Method web2py.gluon.html.STYLE.xml()=web2py.gluon.html.STYLE-class.html#xml,Method web2py.gluon.html.XHTML.xml()=web2py.gluon.html.XHTML-class.html#xml,Method web2py.gluon.html.XML.xml()=web2py.gluon.html.XML-class.html#xml,Method web2py.gluon.html.XmlComponent.xml()=web2py.gluon.html.XmlComponent-class.html#xml,Method web2py.gluon.languages.lazyT.xml()=web2py.gluon.languages.lazyT-class.html#xml,Function web2py.gluon.serializers.xml()=web2py.gluon.serializers-module.html#xml,Method web2py.gluon.tools.Recaptcha.xml()=web2py.gluon.tools.Recaptcha-class.html#xml,Method web2py.gluon.tools.Service.xml()=web2py.gluon.tools.Service-class.html#xml"><a title="web2py.gluon.dal.Rows.xml
91
<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Method web2py.gluon.dal.Rows.xml()=web2py.gluon.dal.Rows-class.html#xml,Method web2py.gluon.html.A.xml()=web2py.gluon.html.A-class.html#xml,Method web2py.gluon.html.CODE.xml()=web2py.gluon.html.CODE-class.html#xml,Method web2py.gluon.html.DIV.xml()=web2py.gluon.html.DIV-class.html#xml,Method web2py.gluon.html.FORM.xml()=web2py.gluon.html.FORM-class.html#xml,Method web2py.gluon.html.HTML.xml()=web2py.gluon.html.HTML-class.html#xml,Method web2py.gluon.html.INPUT.xml()=web2py.gluon.html.INPUT-class.html#xml,Method web2py.gluon.html.MARKMIN.xml()=web2py.gluon.html.MARKMIN-class.html#xml,Method web2py.gluon.html.MENU.xml()=web2py.gluon.html.MENU-class.html#xml,Method web2py.gluon.html.P.xml()=web2py.gluon.html.P-class.html#xml,Method web2py.gluon.html.SCRIPT.xml()=web2py.gluon.html.SCRIPT-class.html#xml,Method web2py.gluon.html.STYLE.xml()=web2py.gluon.html.STYLE-class.html#xml,Method web2py.gluon.html.XHTML.xml()=web2py.gluon.html.XHTML-class.html#xml,Method web2py.gluon.html.XML.xml()=web2py.gluon.html.XML-class.html#xml,Method web2py.gluon.html.XmlComponent.xml()=web2py.gluon.html.XmlComponent-class.html#xml,Method web2py.gluon.languages.lazyT.xml()=web2py.gluon.languages.lazyT-class.html#xml,Function web2py.gluon.serializers.xml()=web2py.gluon.serializers-module.html#xml,Method web2py.gluon.tools.Recaptcha.xml()=web2py.gluon.tools.Recaptcha-class.html#xml,Method web2py.gluon.tools.Service.xml()=web2py.gluon.tools.Service-class.html#xml"><a title="web2py.gluon.dal.Rows.xml
92
92
web2py.gluon.html.A.xml
93
93
web2py.gluon.html.CODE.xml
94
94
web2py.gluon.html.DIV.xml
142
142
<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">strip_disallowed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
143
143
<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
144
144
</div><div id="XssCleaner.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="XssCleaner.__init__-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> </tt>
145
<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">HTMLParser</tt><tt class="py-op">.</tt><tt id="link-2" 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__
145
<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">HTMLParser</tt><tt class="py-op">.</tt><tt id="link-4" 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__
146
146
web2py.gluon.cache.CacheAbstract.__init__
147
147
web2py.gluon.cache.CacheInRam.__init__
148
148
web2py.gluon.cache.CacheOnDisk.__init__
316
329
<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-param">method</tt><tt class="py-op">,</tt> </tt>
317
330
<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-param">attrs</tt><tt class="py-op">,</tt> </tt>
318
331
<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
319
</div><div id="XssCleaner.handle_starttag-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="XssCleaner.handle_starttag-expanded"><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-8" class="py-name" targets="Variable web2py.gluon.html.A.tag=web2py.gluon.html.A-class.html#tag,Variable web2py.gluon.html.B.tag=web2py.gluon.html.B-class.html#tag,Variable web2py.gluon.html.BEAUTIFY.tag=web2py.gluon.html.BEAUTIFY-class.html#tag,Variable web2py.gluon.html.BODY.tag=web2py.gluon.html.BODY-class.html#tag,Variable web2py.gluon.html.BR.tag=web2py.gluon.html.BR-class.html#tag,Variable web2py.gluon.html.BUTTON.tag=web2py.gluon.html.BUTTON-class.html#tag,Variable web2py.gluon.html.CAT.tag=web2py.gluon.html.CAT-class.html#tag,Variable web2py.gluon.html.CENTER.tag=web2py.gluon.html.CENTER-class.html#tag,Variable web2py.gluon.html.COL.tag=web2py.gluon.html.COL-class.html#tag,Variable web2py.gluon.html.COLGROUP.tag=web2py.gluon.html.COLGROUP-class.html#tag,Variable web2py.gluon.html.DIV.tag=web2py.gluon.html.DIV-class.html#tag,Variable web2py.gluon.html.EM.tag=web2py.gluon.html.EM-class.html#tag,Variable web2py.gluon.html.EMBED.tag=web2py.gluon.html.EMBED-class.html#tag,Variable web2py.gluon.html.FIELDSET.tag=web2py.gluon.html.FIELDSET-class.html#tag,Variable web2py.gluon.html.FORM.tag=web2py.gluon.html.FORM-class.html#tag,Variable web2py.gluon.html.H1.tag=web2py.gluon.html.H1-class.html#tag,Variable web2py.gluon.html.H2.tag=web2py.gluon.html.H2-class.html#tag,Variable web2py.gluon.html.H3.tag=web2py.gluon.html.H3-class.html#tag,Variable web2py.gluon.html.H4.tag=web2py.gluon.html.H4-class.html#tag,Variable web2py.gluon.html.H5.tag=web2py.gluon.html.H5-class.html#tag,Variable web2py.gluon.html.H6.tag=web2py.gluon.html.H6-class.html#tag,Variable web2py.gluon.html.HEAD.tag=web2py.gluon.html.HEAD-class.html#tag,Variable web2py.gluon.html.HR.tag=web2py.gluon.html.HR-class.html#tag,Variable web2py.gluon.html.HTML.tag=web2py.gluon.html.HTML-class.html#tag,Variable web2py.gluon.html.I.tag=web2py.gluon.html.I-class.html#tag,Variable web2py.gluon.html.IFRAME.tag=web2py.gluon.html.IFRAME-class.html#tag,Variable web2py.gluon.html.IMG.tag=web2py.gluon.html.IMG-class.html#tag,Variable web2py.gluon.html.INPUT.tag=web2py.gluon.html.INPUT-class.html#tag,Variable web2py.gluon.html.LABEL.tag=web2py.gluon.html.LABEL-class.html#tag,Variable web2py.gluon.html.LEGEND.tag=web2py.gluon.html.LEGEND-class.html#tag,Variable web2py.gluon.html.LI.tag=web2py.gluon.html.LI-class.html#tag,Variable web2py.gluon.html.LINK.tag=web2py.gluon.html.LINK-class.html#tag,Variable web2py.gluon.html.MENU.tag=web2py.gluon.html.MENU-class.html#tag,Variable web2py.gluon.html.META.tag=web2py.gluon.html.META-class.html#tag,Variable web2py.gluon.html.OBJECT.tag=web2py.gluon.html.OBJECT-class.html#tag,Variable web2py.gluon.html.OL.tag=web2py.gluon.html.OL-class.html#tag,Variable web2py.gluon.html.OPTGROUP.tag=web2py.gluon.html.OPTGROUP-class.html#tag,Variable web2py.gluon.html.OPTION.tag=web2py.gluon.html.OPTION-class.html#tag,Variable web2py.gluon.html.P.tag=web2py.gluon.html.P-class.html#tag,Variable web2py.gluon.html.PRE.tag=web2py.gluon.html.PRE-class.html#tag,Variable web2py.gluon.html.SCRIPT.tag=web2py.gluon.html.SCRIPT-class.html#tag,Variable web2py.gluon.html.SELECT.tag=web2py.gluon.html.SELECT-class.html#tag,Variable web2py.gluon.html.SPAN.tag=web2py.gluon.html.SPAN-class.html#tag,Variable web2py.gluon.html.STYLE.tag=web2py.gluon.html.STYLE-class.html#tag,Variable web2py.gluon.html.TABLE.tag=web2py.gluon.html.TABLE-class.html#tag,Variable web2py.gluon.html.TBODY.tag=web2py.gluon.html.TBODY-class.html#tag,Variable web2py.gluon.html.TD.tag=web2py.gluon.html.TD-class.html#tag,Variable web2py.gluon.html.TEXTAREA.tag=web2py.gluon.html.TEXTAREA-class.html#tag,Variable web2py.gluon.html.TFOOT.tag=web2py.gluon.html.TFOOT-class.html#tag,Variable web2py.gluon.html.TH.tag=web2py.gluon.html.TH-class.html#tag,Variable web2py.gluon.html.THEAD.tag=web2py.gluon.html.THEAD-class.html#tag,Variable web2py.gluon.html.TITLE.tag=web2py.gluon.html.TITLE-class.html#tag,Variable web2py.gluon.html.TR.tag=web2py.gluon.html.TR-class.html#tag,Variable web2py.gluon.html.TT.tag=web2py.gluon.html.TT-class.html#tag,Variable web2py.gluon.html.UL.tag=web2py.gluon.html.UL-class.html#tag,Variable web2py.gluon.html.XHTML.tag=web2py.gluon.html.XHTML-class.html#tag"><a title="web2py.gluon.html.A.tag
332
</div><div id="XssCleaner.handle_starttag-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="XssCleaner.handle_starttag-expanded"><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-10" class="py-name" targets="Variable web2py.gluon.html.A.tag=web2py.gluon.html.A-class.html#tag,Variable web2py.gluon.html.B.tag=web2py.gluon.html.B-class.html#tag,Variable web2py.gluon.html.BEAUTIFY.tag=web2py.gluon.html.BEAUTIFY-class.html#tag,Variable web2py.gluon.html.BODY.tag=web2py.gluon.html.BODY-class.html#tag,Variable web2py.gluon.html.BR.tag=web2py.gluon.html.BR-class.html#tag,Variable web2py.gluon.html.BUTTON.tag=web2py.gluon.html.BUTTON-class.html#tag,Variable web2py.gluon.html.CAT.tag=web2py.gluon.html.CAT-class.html#tag,Variable web2py.gluon.html.CENTER.tag=web2py.gluon.html.CENTER-class.html#tag,Variable web2py.gluon.html.COL.tag=web2py.gluon.html.COL-class.html#tag,Variable web2py.gluon.html.COLGROUP.tag=web2py.gluon.html.COLGROUP-class.html#tag,Variable web2py.gluon.html.DIV.tag=web2py.gluon.html.DIV-class.html#tag,Variable web2py.gluon.html.EM.tag=web2py.gluon.html.EM-class.html#tag,Variable web2py.gluon.html.EMBED.tag=web2py.gluon.html.EMBED-class.html#tag,Variable web2py.gluon.html.FIELDSET.tag=web2py.gluon.html.FIELDSET-class.html#tag,Variable web2py.gluon.html.FORM.tag=web2py.gluon.html.FORM-class.html#tag,Variable web2py.gluon.html.H1.tag=web2py.gluon.html.H1-class.html#tag,Variable web2py.gluon.html.H2.tag=web2py.gluon.html.H2-class.html#tag,Variable web2py.gluon.html.H3.tag=web2py.gluon.html.H3-class.html#tag,Variable web2py.gluon.html.H4.tag=web2py.gluon.html.H4-class.html#tag,Variable web2py.gluon.html.H5.tag=web2py.gluon.html.H5-class.html#tag,Variable web2py.gluon.html.H6.tag=web2py.gluon.html.H6-class.html#tag,Variable web2py.gluon.html.HEAD.tag=web2py.gluon.html.HEAD-class.html#tag,Variable web2py.gluon.html.HR.tag=web2py.gluon.html.HR-class.html#tag,Variable web2py.gluon.html.HTML.tag=web2py.gluon.html.HTML-class.html#tag,Variable web2py.gluon.html.I.tag=web2py.gluon.html.I-class.html#tag,Variable web2py.gluon.html.IFRAME.tag=web2py.gluon.html.IFRAME-class.html#tag,Variable web2py.gluon.html.IMG.tag=web2py.gluon.html.IMG-class.html#tag,Variable web2py.gluon.html.INPUT.tag=web2py.gluon.html.INPUT-class.html#tag,Variable web2py.gluon.html.LABEL.tag=web2py.gluon.html.LABEL-class.html#tag,Variable web2py.gluon.html.LEGEND.tag=web2py.gluon.html.LEGEND-class.html#tag,Variable web2py.gluon.html.LI.tag=web2py.gluon.html.LI-class.html#tag,Variable web2py.gluon.html.LINK.tag=web2py.gluon.html.LINK-class.html#tag,Variable web2py.gluon.html.MENU.tag=web2py.gluon.html.MENU-class.html#tag,Variable web2py.gluon.html.META.tag=web2py.gluon.html.META-class.html#tag,Variable web2py.gluon.html.OBJECT.tag=web2py.gluon.html.OBJECT-class.html#tag,Variable web2py.gluon.html.OL.tag=web2py.gluon.html.OL-class.html#tag,Variable web2py.gluon.html.OPTGROUP.tag=web2py.gluon.html.OPTGROUP-class.html#tag,Variable web2py.gluon.html.OPTION.tag=web2py.gluon.html.OPTION-class.html#tag,Variable web2py.gluon.html.P.tag=web2py.gluon.html.P-class.html#tag,Variable web2py.gluon.html.PRE.tag=web2py.gluon.html.PRE-class.html#tag,Variable web2py.gluon.html.SCRIPT.tag=web2py.gluon.html.SCRIPT-class.html#tag,Variable web2py.gluon.html.SELECT.tag=web2py.gluon.html.SELECT-class.html#tag,Variable web2py.gluon.html.SPAN.tag=web2py.gluon.html.SPAN-class.html#tag,Variable web2py.gluon.html.STYLE.tag=web2py.gluon.html.STYLE-class.html#tag,Variable web2py.gluon.html.TABLE.tag=web2py.gluon.html.TABLE-class.html#tag,Variable web2py.gluon.html.TBODY.tag=web2py.gluon.html.TBODY-class.html#tag,Variable web2py.gluon.html.TD.tag=web2py.gluon.html.TD-class.html#tag,Variable web2py.gluon.html.TEXTAREA.tag=web2py.gluon.html.TEXTAREA-class.html#tag,Variable web2py.gluon.html.TFOOT.tag=web2py.gluon.html.TFOOT-class.html#tag,Variable web2py.gluon.html.TH.tag=web2py.gluon.html.TH-class.html#tag,Variable web2py.gluon.html.THEAD.tag=web2py.gluon.html.THEAD-class.html#tag,Variable web2py.gluon.html.TITLE.tag=web2py.gluon.html.TITLE-class.html#tag,Variable web2py.gluon.html.TR.tag=web2py.gluon.html.TR-class.html#tag,Variable web2py.gluon.html.TT.tag=web2py.gluon.html.TT-class.html#tag,Variable web2py.gluon.html.UL.tag=web2py.gluon.html.UL-class.html#tag,Variable web2py.gluon.html.XHTML.tag=web2py.gluon.html.XHTML-class.html#tag"><a title="web2py.gluon.html.A.tag
320
333
web2py.gluon.html.B.tag
321
334
web2py.gluon.html.BEAUTIFY.tag
322
335
web2py.gluon.html.BODY.tag
430
443
web2py.gluon.html.TR.tag
431
444
web2py.gluon.html.TT.tag
432
445
web2py.gluon.html.UL.tag
433
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-10', 'tag', 'link-8');">tag</a></tt><tt class="py-op">)</tt> </tt>
446
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-12', 'tag', 'link-10');">tag</a></tt><tt class="py-op">)</tt> </tt>
434
447
<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
435
<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">bt</tt> <tt class="py-op">=</tt> <tt class="py-string">'<'</tt> <tt class="py-op">+</tt> <tt id="link-11" class="py-name"><a title="web2py.gluon.html.A.tag
436
web2py.gluon.html.B.tag
437
web2py.gluon.html.BEAUTIFY.tag
438
web2py.gluon.html.BODY.tag
439
web2py.gluon.html.BR.tag
440
web2py.gluon.html.BUTTON.tag
441
web2py.gluon.html.CAT.tag
442
web2py.gluon.html.CENTER.tag
443
web2py.gluon.html.COL.tag
444
web2py.gluon.html.COLGROUP.tag
445
web2py.gluon.html.DIV.tag
446
web2py.gluon.html.EM.tag
447
web2py.gluon.html.EMBED.tag
448
web2py.gluon.html.FIELDSET.tag
449
web2py.gluon.html.FORM.tag
450
web2py.gluon.html.H1.tag
451
web2py.gluon.html.H2.tag
452
web2py.gluon.html.H3.tag
453
web2py.gluon.html.H4.tag
454
web2py.gluon.html.H5.tag
455
web2py.gluon.html.H6.tag
456
web2py.gluon.html.HEAD.tag
457
web2py.gluon.html.HR.tag
458
web2py.gluon.html.HTML.tag
459
web2py.gluon.html.I.tag
460
web2py.gluon.html.IFRAME.tag
461
web2py.gluon.html.IMG.tag
462
web2py.gluon.html.INPUT.tag
463
web2py.gluon.html.LABEL.tag
464
web2py.gluon.html.LEGEND.tag
465
web2py.gluon.html.LI.tag
466
web2py.gluon.html.LINK.tag
467
web2py.gluon.html.MENU.tag
468
web2py.gluon.html.META.tag
469
web2py.gluon.html.OBJECT.tag
470
web2py.gluon.html.OL.tag
471
web2py.gluon.html.OPTGROUP.tag
472
web2py.gluon.html.OPTION.tag
473
web2py.gluon.html.P.tag
474
web2py.gluon.html.PRE.tag
475
web2py.gluon.html.SCRIPT.tag
476
web2py.gluon.html.SELECT.tag
477
web2py.gluon.html.SPAN.tag
478
web2py.gluon.html.STYLE.tag
479
web2py.gluon.html.TABLE.tag
480
web2py.gluon.html.TBODY.tag
481
web2py.gluon.html.TD.tag
482
web2py.gluon.html.TEXTAREA.tag
483
web2py.gluon.html.TFOOT.tag
484
web2py.gluon.html.TH.tag
485
web2py.gluon.html.THEAD.tag
486
web2py.gluon.html.TITLE.tag
487
web2py.gluon.html.TR.tag
488
web2py.gluon.html.TT.tag
489
web2py.gluon.html.UL.tag
490
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-11', 'tag', 'link-8');">tag</a></tt> </tt>
491
<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-12" class="py-name"><a title="web2py.gluon.html.A.tag
492
web2py.gluon.html.B.tag
493
web2py.gluon.html.BEAUTIFY.tag
494
web2py.gluon.html.BODY.tag
495
web2py.gluon.html.BR.tag
496
web2py.gluon.html.BUTTON.tag
497
web2py.gluon.html.CAT.tag
498
web2py.gluon.html.CENTER.tag
499
web2py.gluon.html.COL.tag
500
web2py.gluon.html.COLGROUP.tag
501
web2py.gluon.html.DIV.tag
502
web2py.gluon.html.EM.tag
503
web2py.gluon.html.EMBED.tag
504
web2py.gluon.html.FIELDSET.tag
505
web2py.gluon.html.FORM.tag
506
web2py.gluon.html.H1.tag
507
web2py.gluon.html.H2.tag
508
web2py.gluon.html.H3.tag
509
web2py.gluon.html.H4.tag
510
web2py.gluon.html.H5.tag
511
web2py.gluon.html.H6.tag
512
web2py.gluon.html.HEAD.tag
513
web2py.gluon.html.HR.tag
514
web2py.gluon.html.HTML.tag
515
web2py.gluon.html.I.tag
516
web2py.gluon.html.IFRAME.tag
517
web2py.gluon.html.IMG.tag
518
web2py.gluon.html.INPUT.tag
519
web2py.gluon.html.LABEL.tag
520
web2py.gluon.html.LEGEND.tag
521
web2py.gluon.html.LI.tag
522
web2py.gluon.html.LINK.tag
523
web2py.gluon.html.MENU.tag
524
web2py.gluon.html.META.tag
525
web2py.gluon.html.OBJECT.tag
526
web2py.gluon.html.OL.tag
527
web2py.gluon.html.OPTGROUP.tag
528
web2py.gluon.html.OPTION.tag
529
web2py.gluon.html.P.tag
530
web2py.gluon.html.PRE.tag
531
web2py.gluon.html.SCRIPT.tag
532
web2py.gluon.html.SELECT.tag
533
web2py.gluon.html.SPAN.tag
534
web2py.gluon.html.STYLE.tag
535
web2py.gluon.html.TABLE.tag
536
web2py.gluon.html.TBODY.tag
537
web2py.gluon.html.TD.tag
538
web2py.gluon.html.TEXTAREA.tag
539
web2py.gluon.html.TFOOT.tag
540
web2py.gluon.html.TH.tag
541
web2py.gluon.html.THEAD.tag
542
web2py.gluon.html.TITLE.tag
543
web2py.gluon.html.TR.tag
544
web2py.gluon.html.TT.tag
545
web2py.gluon.html.UL.tag
546
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-12', 'tag', 'link-8');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed_attributes</tt><tt class="py-op">:</tt> </tt>
448
<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">bt</tt> <tt class="py-op">=</tt> <tt class="py-string">'<'</tt> <tt class="py-op">+</tt> <tt id="link-13" class="py-name"><a title="web2py.gluon.html.A.tag
449
web2py.gluon.html.B.tag
450
web2py.gluon.html.BEAUTIFY.tag
451
web2py.gluon.html.BODY.tag
452
web2py.gluon.html.BR.tag
453
web2py.gluon.html.BUTTON.tag
454
web2py.gluon.html.CAT.tag
455
web2py.gluon.html.CENTER.tag
456
web2py.gluon.html.COL.tag
457
web2py.gluon.html.COLGROUP.tag
458
web2py.gluon.html.DIV.tag
459
web2py.gluon.html.EM.tag
460
web2py.gluon.html.EMBED.tag
461
web2py.gluon.html.FIELDSET.tag
462
web2py.gluon.html.FORM.tag
463
web2py.gluon.html.H1.tag
464
web2py.gluon.html.H2.tag
465
web2py.gluon.html.H3.tag
466
web2py.gluon.html.H4.tag
467
web2py.gluon.html.H5.tag
468
web2py.gluon.html.H6.tag
469
web2py.gluon.html.HEAD.tag
470
web2py.gluon.html.HR.tag
471
web2py.gluon.html.HTML.tag
472
web2py.gluon.html.I.tag
473
web2py.gluon.html.IFRAME.tag
474
web2py.gluon.html.IMG.tag
475
web2py.gluon.html.INPUT.tag
476
web2py.gluon.html.LABEL.tag
477
web2py.gluon.html.LEGEND.tag
478
web2py.gluon.html.LI.tag
479
web2py.gluon.html.LINK.tag
480
web2py.gluon.html.MENU.tag
481
web2py.gluon.html.META.tag
482
web2py.gluon.html.OBJECT.tag
483
web2py.gluon.html.OL.tag
484
web2py.gluon.html.OPTGROUP.tag
485
web2py.gluon.html.OPTION.tag
486
web2py.gluon.html.P.tag
487
web2py.gluon.html.PRE.tag
488
web2py.gluon.html.SCRIPT.tag
489
web2py.gluon.html.SELECT.tag
490
web2py.gluon.html.SPAN.tag
491
web2py.gluon.html.STYLE.tag
492
web2py.gluon.html.TABLE.tag
493
web2py.gluon.html.TBODY.tag
494
web2py.gluon.html.TD.tag
495
web2py.gluon.html.TEXTAREA.tag
496
web2py.gluon.html.TFOOT.tag
497
web2py.gluon.html.TH.tag
498
web2py.gluon.html.THEAD.tag
499
web2py.gluon.html.TITLE.tag
500
web2py.gluon.html.TR.tag
501
web2py.gluon.html.TT.tag
502
web2py.gluon.html.UL.tag
503
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-13', 'tag', 'link-10');">tag</a></tt> </tt>
504
<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-14" class="py-name"><a title="web2py.gluon.html.A.tag
505
web2py.gluon.html.B.tag
506
web2py.gluon.html.BEAUTIFY.tag
507
web2py.gluon.html.BODY.tag
508
web2py.gluon.html.BR.tag
509
web2py.gluon.html.BUTTON.tag
510
web2py.gluon.html.CAT.tag
511
web2py.gluon.html.CENTER.tag
512
web2py.gluon.html.COL.tag
513
web2py.gluon.html.COLGROUP.tag
514
web2py.gluon.html.DIV.tag
515
web2py.gluon.html.EM.tag
516
web2py.gluon.html.EMBED.tag
517
web2py.gluon.html.FIELDSET.tag
518
web2py.gluon.html.FORM.tag
519
web2py.gluon.html.H1.tag
520
web2py.gluon.html.H2.tag
521
web2py.gluon.html.H3.tag
522
web2py.gluon.html.H4.tag
523
web2py.gluon.html.H5.tag
524
web2py.gluon.html.H6.tag
525
web2py.gluon.html.HEAD.tag
526
web2py.gluon.html.HR.tag
527
web2py.gluon.html.HTML.tag
528
web2py.gluon.html.I.tag
529
web2py.gluon.html.IFRAME.tag
530
web2py.gluon.html.IMG.tag
531
web2py.gluon.html.INPUT.tag
532
web2py.gluon.html.LABEL.tag
533
web2py.gluon.html.LEGEND.tag
534
web2py.gluon.html.LI.tag
535
web2py.gluon.html.LINK.tag
536
web2py.gluon.html.MENU.tag
537
web2py.gluon.html.META.tag
538
web2py.gluon.html.OBJECT.tag
539
web2py.gluon.html.OL.tag
540
web2py.gluon.html.OPTGROUP.tag
541
web2py.gluon.html.OPTION.tag
542
web2py.gluon.html.P.tag
543
web2py.gluon.html.PRE.tag
544
web2py.gluon.html.SCRIPT.tag
545
web2py.gluon.html.SELECT.tag
546
web2py.gluon.html.SPAN.tag
547
web2py.gluon.html.STYLE.tag
548
web2py.gluon.html.TABLE.tag
549
web2py.gluon.html.TBODY.tag
550
web2py.gluon.html.TD.tag
551
web2py.gluon.html.TEXTAREA.tag
552
web2py.gluon.html.TFOOT.tag
553
web2py.gluon.html.TH.tag
554
web2py.gluon.html.THEAD.tag
555
web2py.gluon.html.TITLE.tag
556
web2py.gluon.html.TR.tag
557
web2py.gluon.html.TT.tag
558
web2py.gluon.html.UL.tag
559
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-14', 'tag', 'link-10');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed_attributes</tt><tt class="py-op">:</tt> </tt>
547
560
<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">attrs</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">attrs</tt><tt class="py-op">)</tt> </tt>
548
<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed_attributes_here</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-13" 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-13', 'x', 'link-13');">x</a></tt> <tt class="py-keyword">for</tt> <tt id="link-14" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-14', 'x', 'link-13');">x</a></tt> <tt class="py-keyword">in</tt> </tt>
549
<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed_attributes</tt><tt class="py-op">[</tt><tt id="link-15" class="py-name"><a title="web2py.gluon.html.A.tag
561
<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed_attributes_here</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-15" 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-15', 'x', 'link-15');">x</a></tt> <tt class="py-keyword">for</tt> <tt id="link-16" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-16', 'x', 'link-15');">x</a></tt> <tt class="py-keyword">in</tt> </tt>
562
<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed_attributes</tt><tt class="py-op">[</tt><tt id="link-17" class="py-name"><a title="web2py.gluon.html.A.tag
550
563
web2py.gluon.html.B.tag
551
564
web2py.gluon.html.BEAUTIFY.tag
552
565
web2py.gluon.html.BODY.tag
601
614
web2py.gluon.html.TR.tag
602
615
web2py.gluon.html.TT.tag
603
616
web2py.gluon.html.UL.tag
604
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-15', 'tag', 'link-8');">tag</a></tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt id="link-16" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-16', 'x', 'link-13');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">attrs</tt> </tt>
605
<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt id="link-17" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-17', 'len', 'link-4');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">attrs</tt><tt class="py-op">[</tt><tt id="link-18" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-18', 'x', 'link-13');">x</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
617
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-17', 'tag', 'link-10');">tag</a></tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt id="link-18" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-18', 'x', 'link-15');">x</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">attrs</tt> </tt>
618
<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt id="link-19" class="py-name"><a title="web2py.gluon.dal.Expression.len" class="py-name" href="#" onclick="return doclink('link-19', 'len', 'link-6');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">attrs</tt><tt class="py-op">[</tt><tt id="link-20" class="py-name"><a title="sqlite3.dbapi2.x" class="py-name" href="#" onclick="return doclink('link-20', 'x', 'link-15');">x</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
606
619
<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">attribute</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">allowed_attributes_here</tt><tt class="py-op">:</tt> </tt>
607
620
<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">attribute</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> <tt class="py-string">'src'</tt><tt class="py-op">,</tt> <tt class="py-string">'background'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
608
<a name="L121"></a><tt class="py-lineno">121</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-19" class="py-name" targets="Method web2py.gluon.sanitizer.XssCleaner.url_is_acceptable()=web2py.gluon.sanitizer.XssCleaner-class.html#url_is_acceptable"><a title="web2py.gluon.sanitizer.XssCleaner.url_is_acceptable" class="py-name" href="#" onclick="return doclink('link-19', 'url_is_acceptable', 'link-19');">url_is_acceptable</a></tt><tt class="py-op">(</tt><tt class="py-name">attrs</tt><tt class="py-op">[</tt><tt class="py-name">attribute</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
621
<a name="L121"></a><tt class="py-lineno">121</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-21" class="py-name" targets="Method web2py.gluon.sanitizer.XssCleaner.url_is_acceptable()=web2py.gluon.sanitizer.XssCleaner-class.html#url_is_acceptable"><a title="web2py.gluon.sanitizer.XssCleaner.url_is_acceptable" class="py-name" href="#" onclick="return doclink('link-21', 'url_is_acceptable', 'link-21');">url_is_acceptable</a></tt><tt class="py-op">(</tt><tt class="py-name">attrs</tt><tt class="py-op">[</tt><tt class="py-name">attribute</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
609
622
<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">bt</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">attribute</tt><tt class="py-op">,</tt> </tt>
610
623
<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">attrs</tt><tt class="py-op">[</tt><tt class="py-name">attribute</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
611
624
<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
612
<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">bt</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-20" class="py-name"><a title="web2py.gluon.sanitizer.xssescape" class="py-name" href="#" onclick="return doclink('link-20', 'xssescape', 'link-3');">xssescape</a></tt><tt class="py-op">(</tt><tt class="py-name">attribute</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
625
<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">bt</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-22" class="py-name"><a title="web2py.gluon.sanitizer.xssescape" class="py-name" href="#" onclick="return doclink('link-22', 'xssescape', 'link-5');">xssescape</a></tt><tt class="py-op">(</tt><tt class="py-name">attribute</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
613
626
<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">quoteattr</tt><tt class="py-op">(</tt><tt class="py-name">attrs</tt><tt class="py-op">[</tt><tt class="py-name">attribute</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
614
627
<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bt</tt> <tt class="py-op">==</tt> <tt class="py-string">'<a'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">bt</tt> <tt class="py-op">==</tt> <tt class="py-string">'<img'</tt><tt class="py-op">:</tt> </tt>
615
628
<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
616
<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-21" class="py-name"><a title="web2py.gluon.html.A.tag
629
<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-23" class="py-name"><a title="web2py.gluon.html.A.tag
617
630
web2py.gluon.html.B.tag
618
631
web2py.gluon.html.BEAUTIFY.tag
619
632
web2py.gluon.html.BODY.tag
733
746
web2py.gluon.html.TR.tag
734
747
web2py.gluon.html.TT.tag
735
748
web2py.gluon.html.UL.tag
736
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-23', 'tag', 'link-8');">tag</a></tt><tt class="py-op">)</tt> </tt>
749
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-25', 'tag', 'link-10');">tag</a></tt><tt class="py-op">)</tt> </tt>
737
750
</div><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
738
751
<a name="XssCleaner.handle_endtag"></a><div id="XssCleaner.handle_endtag-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="XssCleaner.handle_endtag-toggle" onclick="return toggle('XssCleaner.handle_endtag');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="web2py.gluon.sanitizer.XssCleaner-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">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
739
</div><div id="XssCleaner.handle_endtag-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="XssCleaner.handle_endtag-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">bracketed</tt> <tt class="py-op">=</tt> <tt class="py-string">'</%s>'</tt> <tt class="py-op">%</tt> <tt id="link-24" class="py-name"><a title="web2py.gluon.html.A.tag
740
web2py.gluon.html.B.tag
741
web2py.gluon.html.BEAUTIFY.tag
742
web2py.gluon.html.BODY.tag
743
web2py.gluon.html.BR.tag
744
web2py.gluon.html.BUTTON.tag
745
web2py.gluon.html.CAT.tag
746
web2py.gluon.html.CENTER.tag
747
web2py.gluon.html.COL.tag
748
web2py.gluon.html.COLGROUP.tag
749
web2py.gluon.html.DIV.tag
750
web2py.gluon.html.EM.tag
751
web2py.gluon.html.EMBED.tag
752
web2py.gluon.html.FIELDSET.tag
753
web2py.gluon.html.FORM.tag
754
web2py.gluon.html.H1.tag
755
web2py.gluon.html.H2.tag
756
web2py.gluon.html.H3.tag
757
web2py.gluon.html.H4.tag
758
web2py.gluon.html.H5.tag
759
web2py.gluon.html.H6.tag
760
web2py.gluon.html.HEAD.tag
761
web2py.gluon.html.HR.tag
762
web2py.gluon.html.HTML.tag
763
web2py.gluon.html.I.tag
764
web2py.gluon.html.IFRAME.tag
765
web2py.gluon.html.IMG.tag
766
web2py.gluon.html.INPUT.tag
767
web2py.gluon.html.LABEL.tag
768
web2py.gluon.html.LEGEND.tag
769
web2py.gluon.html.LI.tag
770
web2py.gluon.html.LINK.tag
771
web2py.gluon.html.MENU.tag
772
web2py.gluon.html.META.tag
773
web2py.gluon.html.OBJECT.tag
774
web2py.gluon.html.OL.tag
775
web2py.gluon.html.OPTGROUP.tag
776
web2py.gluon.html.OPTION.tag
777
web2py.gluon.html.P.tag
778
web2py.gluon.html.PRE.tag
779
web2py.gluon.html.SCRIPT.tag
780
web2py.gluon.html.SELECT.tag
781
web2py.gluon.html.SPAN.tag
782
web2py.gluon.html.STYLE.tag
783
web2py.gluon.html.TABLE.tag
784
web2py.gluon.html.TBODY.tag
785
web2py.gluon.html.TD.tag
786
web2py.gluon.html.TEXTAREA.tag
787
web2py.gluon.html.TFOOT.tag
788
web2py.gluon.html.TH.tag
789
web2py.gluon.html.THEAD.tag
790
web2py.gluon.html.TITLE.tag
791
web2py.gluon.html.TR.tag
792
web2py.gluon.html.TT.tag
793
web2py.gluon.html.UL.tag
794
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-24', 'tag', 'link-8');">tag</a></tt> </tt>
795
<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-25" class="py-name"><a title="web2py.gluon.html.A.tag
796
web2py.gluon.html.B.tag
797
web2py.gluon.html.BEAUTIFY.tag
798
web2py.gluon.html.BODY.tag
799
web2py.gluon.html.BR.tag
800
web2py.gluon.html.BUTTON.tag
801
web2py.gluon.html.CAT.tag
802
web2py.gluon.html.CENTER.tag
803
web2py.gluon.html.COL.tag
804
web2py.gluon.html.COLGROUP.tag
805
web2py.gluon.html.DIV.tag
806
web2py.gluon.html.EM.tag
807
web2py.gluon.html.EMBED.tag
808
web2py.gluon.html.FIELDSET.tag
809
web2py.gluon.html.FORM.tag
810
web2py.gluon.html.H1.tag
811
web2py.gluon.html.H2.tag
812
web2py.gluon.html.H3.tag
813
web2py.gluon.html.H4.tag
814
web2py.gluon.html.H5.tag
815
web2py.gluon.html.H6.tag
816
web2py.gluon.html.HEAD.tag
817
web2py.gluon.html.HR.tag
818
web2py.gluon.html.HTML.tag
819
web2py.gluon.html.I.tag
820
web2py.gluon.html.IFRAME.tag
821
web2py.gluon.html.IMG.tag
822
web2py.gluon.html.INPUT.tag
823
web2py.gluon.html.LABEL.tag
824
web2py.gluon.html.LEGEND.tag
825
web2py.gluon.html.LI.tag
826
web2py.gluon.html.LINK.tag
827
web2py.gluon.html.MENU.tag
828
web2py.gluon.html.META.tag
829
web2py.gluon.html.OBJECT.tag
830
web2py.gluon.html.OL.tag
831
web2py.gluon.html.OPTGROUP.tag
832
web2py.gluon.html.OPTION.tag
833
web2py.gluon.html.P.tag
834
web2py.gluon.html.PRE.tag
835
web2py.gluon.html.SCRIPT.tag
836
web2py.gluon.html.SELECT.tag
837
web2py.gluon.html.SPAN.tag
838
web2py.gluon.html.STYLE.tag
839
web2py.gluon.html.TABLE.tag
840
web2py.gluon.html.TBODY.tag
841
web2py.gluon.html.TD.tag
842
web2py.gluon.html.TEXTAREA.tag
843
web2py.gluon.html.TFOOT.tag
844
web2py.gluon.html.TH.tag
845
web2py.gluon.html.THEAD.tag
846
web2py.gluon.html.TITLE.tag
847
web2py.gluon.html.TR.tag
848
web2py.gluon.html.TT.tag
849
web2py.gluon.html.UL.tag
850
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-25', 'tag', 'link-8');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">permitted_tags</tt><tt class="py-op">:</tt> </tt>
752
</div><div id="XssCleaner.handle_endtag-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="XssCleaner.handle_endtag-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">bracketed</tt> <tt class="py-op">=</tt> <tt class="py-string">'</%s>'</tt> <tt class="py-op">%</tt> <tt id="link-26" class="py-name"><a title="web2py.gluon.html.A.tag
753
web2py.gluon.html.B.tag
754
web2py.gluon.html.BEAUTIFY.tag
755
web2py.gluon.html.BODY.tag
756
web2py.gluon.html.BR.tag
757
web2py.gluon.html.BUTTON.tag
758
web2py.gluon.html.CAT.tag
759
web2py.gluon.html.CENTER.tag
760
web2py.gluon.html.COL.tag
761
web2py.gluon.html.COLGROUP.tag
762
web2py.gluon.html.DIV.tag
763
web2py.gluon.html.EM.tag
764
web2py.gluon.html.EMBED.tag
765
web2py.gluon.html.FIELDSET.tag
766
web2py.gluon.html.FORM.tag
767
web2py.gluon.html.H1.tag
768
web2py.gluon.html.H2.tag
769
web2py.gluon.html.H3.tag
770
web2py.gluon.html.H4.tag
771
web2py.gluon.html.H5.tag
772
web2py.gluon.html.H6.tag
773
web2py.gluon.html.HEAD.tag
774
web2py.gluon.html.HR.tag
775
web2py.gluon.html.HTML.tag
776
web2py.gluon.html.I.tag
777
web2py.gluon.html.IFRAME.tag
778
web2py.gluon.html.IMG.tag
779
web2py.gluon.html.INPUT.tag
780
web2py.gluon.html.LABEL.tag
781
web2py.gluon.html.LEGEND.tag
782
web2py.gluon.html.LI.tag
783
web2py.gluon.html.LINK.tag
784
web2py.gluon.html.MENU.tag
785
web2py.gluon.html.META.tag
786
web2py.gluon.html.OBJECT.tag
787
web2py.gluon.html.OL.tag
788
web2py.gluon.html.OPTGROUP.tag
789
web2py.gluon.html.OPTION.tag
790
web2py.gluon.html.P.tag
791
web2py.gluon.html.PRE.tag
792
web2py.gluon.html.SCRIPT.tag
793
web2py.gluon.html.SELECT.tag
794
web2py.gluon.html.SPAN.tag
795
web2py.gluon.html.STYLE.tag
796
web2py.gluon.html.TABLE.tag
797
web2py.gluon.html.TBODY.tag
798
web2py.gluon.html.TD.tag
799
web2py.gluon.html.TEXTAREA.tag
800
web2py.gluon.html.TFOOT.tag
801
web2py.gluon.html.TH.tag
802
web2py.gluon.html.THEAD.tag
803
web2py.gluon.html.TITLE.tag
804
web2py.gluon.html.TR.tag
805
web2py.gluon.html.TT.tag
806
web2py.gluon.html.UL.tag
807
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-26', 'tag', 'link-10');">tag</a></tt> </tt>
808
<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-27" class="py-name"><a title="web2py.gluon.html.A.tag
809
web2py.gluon.html.B.tag
810
web2py.gluon.html.BEAUTIFY.tag
811
web2py.gluon.html.BODY.tag
812
web2py.gluon.html.BR.tag
813
web2py.gluon.html.BUTTON.tag
814
web2py.gluon.html.CAT.tag
815
web2py.gluon.html.CENTER.tag
816
web2py.gluon.html.COL.tag
817
web2py.gluon.html.COLGROUP.tag
818
web2py.gluon.html.DIV.tag
819
web2py.gluon.html.EM.tag
820
web2py.gluon.html.EMBED.tag
821
web2py.gluon.html.FIELDSET.tag
822
web2py.gluon.html.FORM.tag
823
web2py.gluon.html.H1.tag
824
web2py.gluon.html.H2.tag
825
web2py.gluon.html.H3.tag
826
web2py.gluon.html.H4.tag
827
web2py.gluon.html.H5.tag
828
web2py.gluon.html.H6.tag
829
web2py.gluon.html.HEAD.tag
830
web2py.gluon.html.HR.tag
831
web2py.gluon.html.HTML.tag
832
web2py.gluon.html.I.tag
833
web2py.gluon.html.IFRAME.tag
834
web2py.gluon.html.IMG.tag
835
web2py.gluon.html.INPUT.tag
836
web2py.gluon.html.LABEL.tag
837
web2py.gluon.html.LEGEND.tag
838
web2py.gluon.html.LI.tag
839
web2py.gluon.html.LINK.tag
840
web2py.gluon.html.MENU.tag
841
web2py.gluon.html.META.tag
842
web2py.gluon.html.OBJECT.tag
843
web2py.gluon.html.OL.tag
844
web2py.gluon.html.OPTGROUP.tag
845
web2py.gluon.html.OPTION.tag
846
web2py.gluon.html.P.tag
847
web2py.gluon.html.PRE.tag
848
web2py.gluon.html.SCRIPT.tag
849
web2py.gluon.html.SELECT.tag
850
web2py.gluon.html.SPAN.tag
851
web2py.gluon.html.STYLE.tag
852
web2py.gluon.html.TABLE.tag
853
web2py.gluon.html.TBODY.tag
854
web2py.gluon.html.TD.tag
855
web2py.gluon.html.TEXTAREA.tag
856
web2py.gluon.html.TFOOT.tag
857
web2py.gluon.html.TH.tag
858
web2py.gluon.html.THEAD.tag
859
web2py.gluon.html.TITLE.tag
860
web2py.gluon.html.TR.tag
861
web2py.gluon.html.TT.tag
862
web2py.gluon.html.UL.tag
863
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-27', 'tag', 'link-10');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">permitted_tags</tt><tt class="py-op">:</tt> </tt>
851
864
<a name="L138"></a><tt class="py-lineno">138</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">strip_disallowed</tt><tt class="py-op">:</tt> </tt>
852
865
<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">in_disallowed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
853
866
<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
854
<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt id="link-26" class="py-name"><a title="web2py.gluon.sanitizer.xssescape" class="py-name" href="#" onclick="return doclink('link-26', 'xssescape', 'link-3');">xssescape</a></tt><tt class="py-op">(</tt><tt class="py-name">bracketed</tt><tt class="py-op">)</tt> </tt>
855
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-27" class="py-name"><a title="web2py.gluon.html.A.tag
867
<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt id="link-28" class="py-name"><a title="web2py.gluon.sanitizer.xssescape" class="py-name" href="#" onclick="return doclink('link-28', 'xssescape', 'link-5');">xssescape</a></tt><tt class="py-op">(</tt><tt class="py-name">bracketed</tt><tt class="py-op">)</tt> </tt>
868
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-29" class="py-name"><a title="web2py.gluon.html.A.tag
856
869
web2py.gluon.html.B.tag
857
870
web2py.gluon.html.BEAUTIFY.tag
858
871
web2py.gluon.html.BODY.tag
1106
1119
<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
1107
1120
<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt>
1108
1121
<a name="L171"></a><tt class="py-lineno">171</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">rawstring</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">rawstring</tt><tt class="py-op">)</tt> </tt>
1109
<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-35" class="py-name"><a title="web2py.gluon.html.A.tag
1110
web2py.gluon.html.B.tag
1111
web2py.gluon.html.BEAUTIFY.tag
1112
web2py.gluon.html.BODY.tag
1113
web2py.gluon.html.BR.tag
1114
web2py.gluon.html.BUTTON.tag
1115
web2py.gluon.html.CAT.tag
1116
web2py.gluon.html.CENTER.tag
1117
web2py.gluon.html.COL.tag
1118
web2py.gluon.html.COLGROUP.tag
1119
web2py.gluon.html.DIV.tag
1120
web2py.gluon.html.EM.tag
1121
web2py.gluon.html.EMBED.tag
1122
web2py.gluon.html.FIELDSET.tag
1123
web2py.gluon.html.FORM.tag
1124
web2py.gluon.html.H1.tag
1125
web2py.gluon.html.H2.tag
1126
web2py.gluon.html.H3.tag
1127
web2py.gluon.html.H4.tag
1128
web2py.gluon.html.H5.tag
1129
web2py.gluon.html.H6.tag
1130
web2py.gluon.html.HEAD.tag
1131
web2py.gluon.html.HR.tag
1132
web2py.gluon.html.HTML.tag
1133
web2py.gluon.html.I.tag
1134
web2py.gluon.html.IFRAME.tag
1135
web2py.gluon.html.IMG.tag
1136
web2py.gluon.html.INPUT.tag
1137
web2py.gluon.html.LABEL.tag
1138
web2py.gluon.html.LEGEND.tag
1139
web2py.gluon.html.LI.tag
1140
web2py.gluon.html.LINK.tag
1141
web2py.gluon.html.MENU.tag
1142
web2py.gluon.html.META.tag
1143
web2py.gluon.html.OBJECT.tag
1144
web2py.gluon.html.OL.tag
1145
web2py.gluon.html.OPTGROUP.tag
1146
web2py.gluon.html.OPTION.tag
1147
web2py.gluon.html.P.tag
1148
web2py.gluon.html.PRE.tag
1149
web2py.gluon.html.SCRIPT.tag
1150
web2py.gluon.html.SELECT.tag
1151
web2py.gluon.html.SPAN.tag
1152
web2py.gluon.html.STYLE.tag
1153
web2py.gluon.html.TABLE.tag
1154
web2py.gluon.html.TBODY.tag
1155
web2py.gluon.html.TD.tag
1156
web2py.gluon.html.TEXTAREA.tag
1157
web2py.gluon.html.TFOOT.tag
1158
web2py.gluon.html.TH.tag
1159
web2py.gluon.html.THEAD.tag
1160
web2py.gluon.html.TITLE.tag
1161
web2py.gluon.html.TR.tag
1162
web2py.gluon.html.TT.tag
1163
web2py.gluon.html.UL.tag
1164
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-35', 'tag', 'link-8');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">requires_no_close</tt><tt class="py-op">:</tt> </tt>
1165
<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-name">rawstring</tt> <tt class="py-op">=</tt> <tt class="py-name">rawstring</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"<%s/>"</tt> <tt class="py-op">%</tt> <tt id="link-36" class="py-name"><a title="web2py.gluon.html.A.tag
1166
web2py.gluon.html.B.tag
1167
web2py.gluon.html.BEAUTIFY.tag
1168
web2py.gluon.html.BODY.tag
1169
web2py.gluon.html.BR.tag
1170
web2py.gluon.html.BUTTON.tag
1171
web2py.gluon.html.CAT.tag
1172
web2py.gluon.html.CENTER.tag
1173
web2py.gluon.html.COL.tag
1174
web2py.gluon.html.COLGROUP.tag
1175
web2py.gluon.html.DIV.tag
1176
web2py.gluon.html.EM.tag
1177
web2py.gluon.html.EMBED.tag
1178
web2py.gluon.html.FIELDSET.tag
1179
web2py.gluon.html.FORM.tag
1180
web2py.gluon.html.H1.tag
1181
web2py.gluon.html.H2.tag
1182
web2py.gluon.html.H3.tag
1183
web2py.gluon.html.H4.tag
1184
web2py.gluon.html.H5.tag
1185
web2py.gluon.html.H6.tag
1186
web2py.gluon.html.HEAD.tag
1187
web2py.gluon.html.HR.tag
1188
web2py.gluon.html.HTML.tag
1189
web2py.gluon.html.I.tag
1190
web2py.gluon.html.IFRAME.tag
1191
web2py.gluon.html.IMG.tag
1192
web2py.gluon.html.INPUT.tag
1193
web2py.gluon.html.LABEL.tag
1194
web2py.gluon.html.LEGEND.tag
1195
web2py.gluon.html.LI.tag
1196
web2py.gluon.html.LINK.tag
1197
web2py.gluon.html.MENU.tag
1198
web2py.gluon.html.META.tag
1199
web2py.gluon.html.OBJECT.tag
1200
web2py.gluon.html.OL.tag
1201
web2py.gluon.html.OPTGROUP.tag
1202
web2py.gluon.html.OPTION.tag
1203
web2py.gluon.html.P.tag
1204
web2py.gluon.html.PRE.tag
1205
web2py.gluon.html.SCRIPT.tag
1206
web2py.gluon.html.SELECT.tag
1207
web2py.gluon.html.SPAN.tag
1208
web2py.gluon.html.STYLE.tag
1209
web2py.gluon.html.TABLE.tag
1210
web2py.gluon.html.TBODY.tag
1211
web2py.gluon.html.TD.tag
1212
web2py.gluon.html.TEXTAREA.tag
1213
web2py.gluon.html.TFOOT.tag
1214
web2py.gluon.html.TH.tag
1215
web2py.gluon.html.THEAD.tag
1216
web2py.gluon.html.TITLE.tag
1217
web2py.gluon.html.TR.tag
1218
web2py.gluon.html.TT.tag
1219
web2py.gluon.html.UL.tag
1220
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-36', 'tag', 'link-8');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">"<%s />"</tt> <tt class="py-op">%</tt> <tt id="link-37" class="py-name"><a title="web2py.gluon.html.A.tag
1221
web2py.gluon.html.B.tag
1222
web2py.gluon.html.BEAUTIFY.tag
1223
web2py.gluon.html.BODY.tag
1224
web2py.gluon.html.BR.tag
1225
web2py.gluon.html.BUTTON.tag
1226
web2py.gluon.html.CAT.tag
1227
web2py.gluon.html.CENTER.tag
1228
web2py.gluon.html.COL.tag
1229
web2py.gluon.html.COLGROUP.tag
1230
web2py.gluon.html.DIV.tag
1231
web2py.gluon.html.EM.tag
1232
web2py.gluon.html.EMBED.tag
1233
web2py.gluon.html.FIELDSET.tag
1234
web2py.gluon.html.FORM.tag
1235
web2py.gluon.html.H1.tag
1236
web2py.gluon.html.H2.tag
1237
web2py.gluon.html.H3.tag
1238
web2py.gluon.html.H4.tag
1239
web2py.gluon.html.H5.tag
1240
web2py.gluon.html.H6.tag
1241
web2py.gluon.html.HEAD.tag
1242
web2py.gluon.html.HR.tag
1243
web2py.gluon.html.HTML.tag
1244
web2py.gluon.html.I.tag
1245
web2py.gluon.html.IFRAME.tag
1246
web2py.gluon.html.IMG.tag
1247
web2py.gluon.html.INPUT.tag
1248
web2py.gluon.html.LABEL.tag
1249
web2py.gluon.html.LEGEND.tag
1250
web2py.gluon.html.LI.tag
1251
web2py.gluon.html.LINK.tag
1252
web2py.gluon.html.MENU.tag
1253
web2py.gluon.html.META.tag
1254
web2py.gluon.html.OBJECT.tag
1255
web2py.gluon.html.OL.tag
1256
web2py.gluon.html.OPTGROUP.tag
1257
web2py.gluon.html.OPTION.tag
1258
web2py.gluon.html.P.tag
1259
web2py.gluon.html.PRE.tag
1260
web2py.gluon.html.SCRIPT.tag
1261
web2py.gluon.html.SELECT.tag
1262
web2py.gluon.html.SPAN.tag
1263
web2py.gluon.html.STYLE.tag
1264
web2py.gluon.html.TABLE.tag
1265
web2py.gluon.html.TBODY.tag
1266
web2py.gluon.html.TD.tag
1267
web2py.gluon.html.TEXTAREA.tag
1268
web2py.gluon.html.TFOOT.tag
1269
web2py.gluon.html.TH.tag
1270
web2py.gluon.html.THEAD.tag
1271
web2py.gluon.html.TITLE.tag
1272
web2py.gluon.html.TR.tag
1273
web2py.gluon.html.TT.tag
1274
web2py.gluon.html.UL.tag
1275
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-37', 'tag', 'link-8');">tag</a></tt><tt class="py-op">)</tt> </tt>
1276
<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">escape</tt><tt class="py-op">:</tt> </tt>
1122
<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-37" class="py-name"><a title="web2py.gluon.html.A.tag
1123
web2py.gluon.html.B.tag
1124
web2py.gluon.html.BEAUTIFY.tag
1125
web2py.gluon.html.BODY.tag
1126
web2py.gluon.html.BR.tag
1127
web2py.gluon.html.BUTTON.tag
1128
web2py.gluon.html.CAT.tag
1129
web2py.gluon.html.CENTER.tag
1130
web2py.gluon.html.COL.tag
1131
web2py.gluon.html.COLGROUP.tag
1132
web2py.gluon.html.DIV.tag
1133
web2py.gluon.html.EM.tag
1134
web2py.gluon.html.EMBED.tag
1135
web2py.gluon.html.FIELDSET.tag
1136
web2py.gluon.html.FORM.tag
1137
web2py.gluon.html.H1.tag
1138
web2py.gluon.html.H2.tag
1139
web2py.gluon.html.H3.tag
1140
web2py.gluon.html.H4.tag
1141
web2py.gluon.html.H5.tag
1142
web2py.gluon.html.H6.tag
1143
web2py.gluon.html.HEAD.tag
1144
web2py.gluon.html.HR.tag
1145
web2py.gluon.html.HTML.tag
1146
web2py.gluon.html.I.tag
1147
web2py.gluon.html.IFRAME.tag
1148
web2py.gluon.html.IMG.tag
1149
web2py.gluon.html.INPUT.tag
1150
web2py.gluon.html.LABEL.tag
1151
web2py.gluon.html.LEGEND.tag
1152
web2py.gluon.html.LI.tag
1153
web2py.gluon.html.LINK.tag
1154
web2py.gluon.html.MENU.tag
1155
web2py.gluon.html.META.tag
1156
web2py.gluon.html.OBJECT.tag
1157
web2py.gluon.html.OL.tag
1158
web2py.gluon.html.OPTGROUP.tag
1159
web2py.gluon.html.OPTION.tag
1160
web2py.gluon.html.P.tag
1161
web2py.gluon.html.PRE.tag
1162
web2py.gluon.html.SCRIPT.tag
1163
web2py.gluon.html.SELECT.tag
1164
web2py.gluon.html.SPAN.tag
1165
web2py.gluon.html.STYLE.tag
1166
web2py.gluon.html.TABLE.tag
1167
web2py.gluon.html.TBODY.tag
1168
web2py.gluon.html.TD.tag
1169
web2py.gluon.html.TEXTAREA.tag
1170
web2py.gluon.html.TFOOT.tag
1171
web2py.gluon.html.TH.tag
1172
web2py.gluon.html.THEAD.tag
1173
web2py.gluon.html.TITLE.tag
1174
web2py.gluon.html.TR.tag
1175
web2py.gluon.html.TT.tag
1176
web2py.gluon.html.UL.tag
1177
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-37', 'tag', 'link-10');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">requires_no_close</tt><tt class="py-op">:</tt> </tt>
1178
<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-name">rawstring</tt> <tt class="py-op">=</tt> <tt class="py-name">rawstring</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"<%s/>"</tt> <tt class="py-op">%</tt> <tt id="link-38" class="py-name"><a title="web2py.gluon.html.A.tag
1179
web2py.gluon.html.B.tag
1180
web2py.gluon.html.BEAUTIFY.tag
1181
web2py.gluon.html.BODY.tag
1182
web2py.gluon.html.BR.tag
1183
web2py.gluon.html.BUTTON.tag
1184
web2py.gluon.html.CAT.tag
1185
web2py.gluon.html.CENTER.tag
1186
web2py.gluon.html.COL.tag
1187
web2py.gluon.html.COLGROUP.tag
1188
web2py.gluon.html.DIV.tag
1189
web2py.gluon.html.EM.tag
1190
web2py.gluon.html.EMBED.tag
1191
web2py.gluon.html.FIELDSET.tag
1192
web2py.gluon.html.FORM.tag
1193
web2py.gluon.html.H1.tag
1194
web2py.gluon.html.H2.tag
1195
web2py.gluon.html.H3.tag
1196
web2py.gluon.html.H4.tag
1197
web2py.gluon.html.H5.tag
1198
web2py.gluon.html.H6.tag
1199
web2py.gluon.html.HEAD.tag
1200
web2py.gluon.html.HR.tag
1201
web2py.gluon.html.HTML.tag
1202
web2py.gluon.html.I.tag
1203
web2py.gluon.html.IFRAME.tag
1204
web2py.gluon.html.IMG.tag
1205
web2py.gluon.html.INPUT.tag
1206
web2py.gluon.html.LABEL.tag
1207
web2py.gluon.html.LEGEND.tag
1208
web2py.gluon.html.LI.tag
1209
web2py.gluon.html.LINK.tag
1210
web2py.gluon.html.MENU.tag
1211
web2py.gluon.html.META.tag
1212
web2py.gluon.html.OBJECT.tag
1213
web2py.gluon.html.OL.tag
1214
web2py.gluon.html.OPTGROUP.tag
1215
web2py.gluon.html.OPTION.tag
1216
web2py.gluon.html.P.tag
1217
web2py.gluon.html.PRE.tag
1218
web2py.gluon.html.SCRIPT.tag
1219
web2py.gluon.html.SELECT.tag
1220
web2py.gluon.html.SPAN.tag
1221
web2py.gluon.html.STYLE.tag
1222
web2py.gluon.html.TABLE.tag
1223
web2py.gluon.html.TBODY.tag
1224
web2py.gluon.html.TD.tag
1225
web2py.gluon.html.TEXTAREA.tag
1226
web2py.gluon.html.TFOOT.tag
1227
web2py.gluon.html.TH.tag
1228
web2py.gluon.html.THEAD.tag
1229
web2py.gluon.html.TITLE.tag
1230
web2py.gluon.html.TR.tag
1231
web2py.gluon.html.TT.tag
1232
web2py.gluon.html.UL.tag
1233
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-38', 'tag', 'link-10');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">"<%s />"</tt> <tt class="py-op">%</tt> <tt id="link-39" class="py-name"><a title="web2py.gluon.html.A.tag
1234
web2py.gluon.html.B.tag
1235
web2py.gluon.html.BEAUTIFY.tag
1236
web2py.gluon.html.BODY.tag
1237
web2py.gluon.html.BR.tag
1238
web2py.gluon.html.BUTTON.tag
1239
web2py.gluon.html.CAT.tag
1240
web2py.gluon.html.CENTER.tag
1241
web2py.gluon.html.COL.tag
1242
web2py.gluon.html.COLGROUP.tag
1243
web2py.gluon.html.DIV.tag
1244
web2py.gluon.html.EM.tag
1245
web2py.gluon.html.EMBED.tag
1246
web2py.gluon.html.FIELDSET.tag
1247
web2py.gluon.html.FORM.tag
1248
web2py.gluon.html.H1.tag
1249
web2py.gluon.html.H2.tag
1250
web2py.gluon.html.H3.tag
1251
web2py.gluon.html.H4.tag
1252
web2py.gluon.html.H5.tag
1253
web2py.gluon.html.H6.tag
1254
web2py.gluon.html.HEAD.tag
1255
web2py.gluon.html.HR.tag
1256
web2py.gluon.html.HTML.tag
1257
web2py.gluon.html.I.tag
1258
web2py.gluon.html.IFRAME.tag
1259
web2py.gluon.html.IMG.tag
1260
web2py.gluon.html.INPUT.tag
1261
web2py.gluon.html.LABEL.tag
1262
web2py.gluon.html.LEGEND.tag
1263
web2py.gluon.html.LI.tag
1264
web2py.gluon.html.LINK.tag
1265
web2py.gluon.html.MENU.tag
1266
web2py.gluon.html.META.tag
1267
web2py.gluon.html.OBJECT.tag
1268
web2py.gluon.html.OL.tag
1269
web2py.gluon.html.OPTGROUP.tag
1270
web2py.gluon.html.OPTION.tag
1271
web2py.gluon.html.P.tag
1272
web2py.gluon.html.PRE.tag
1273
web2py.gluon.html.SCRIPT.tag
1274
web2py.gluon.html.SELECT.tag
1275
web2py.gluon.html.SPAN.tag
1276
web2py.gluon.html.STYLE.tag
1277
web2py.gluon.html.TABLE.tag
1278
web2py.gluon.html.TBODY.tag
1279
web2py.gluon.html.TD.tag
1280
web2py.gluon.html.TEXTAREA.tag
1281
web2py.gluon.html.TFOOT.tag
1282
web2py.gluon.html.TH.tag
1283
web2py.gluon.html.THEAD.tag
1284
web2py.gluon.html.TITLE.tag
1285
web2py.gluon.html.TR.tag
1286
web2py.gluon.html.TT.tag
1287
web2py.gluon.html.UL.tag
1288
web2py.gluon.html.XHTML.tag" class="py-name" href="#" onclick="return doclink('link-39', 'tag', 'link-10');">tag</a></tt><tt class="py-op">)</tt> </tt>
1289
<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-40" class="py-name"><a title="web2py.gluon.dal.DatabaseStoredFile.escape" class="py-name" href="#" onclick="return doclink('link-40', 'escape', 'link-0');">escape</a></tt><tt class="py-op">:</tt> </tt>
1277
1290
<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">strip_disallowed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
1278
1291
<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
1279
1292
<a name="L177"></a><tt class="py-lineno">177</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">rawstring</tt><tt class="py-op">)</tt> </tt>