id	summary	reporter	owner	description	type	status	priority	component	severity	resolution	keywords	cc	release
5586	TypeError: 'NoneType' object is not callable	olemis	osimons	==== How to Reproduce ====\r\n\r\nWhile doing a GET operation on `/xmlrpc`, Trac issued an internal error.\r\n\r\nIt seems to be related to the way descriptive texts are rendered (i.e. WikiFormatting). The full report suggested me that it is about rendering TracLinks pointing to missing (or non-existing) wiki pages.\r\n\r\nUser Agent was: `Opera/9.63 (X11; Linux i686; U; en) Presto/2.1.1`\r\n\r\n==== System Information ====\r\n\r\n|| '''Trac''' || `0.11.1` ||\r\n|| '''Python''' || `2.5.2 (r252:60911, Jul 31 2008, 17:28:52) ` [[br]] `[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)]` ||\r\n|| '''setuptools''' || `0.6c8` ||\r\n|| '''SQLite''' || `3.4.2` ||\r\n|| '''pysqlite''' || `2.4.0` ||\r\n|| '''Genshi''' || `0.5.1` ||\r\n|| '''Pygments''' || `0.9` ||\r\n|| '''RPC''' || `1.0.6` ||\r\n|| '''jQuery:''' || `1.2.6` ||\r\n\r\n==== Python Traceback ====\r\n{{{\r\nTraceback (most recent call last):\r\n  File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py", line 423, in _dispatch_request\r\n    dispatcher.dispatch(req)\r\n  File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py", line 197, in dispatch\r\n    resp = chosen_handler.process_request(req)\r\n  File "build/bdist.linux-i686/egg/tracrpc/web_ui.py", line 138, in process_request\r\n    'description' : wiki_to_oneliner(method.namespace_description, self.env),\r\n  File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py", line 1128, in wiki_to_oneliner\r\n    OneLinerFormatter(env, context).format(wikitext, out, shorten)\r\n  File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py", line 954, in format\r\n    result = re.sub(self.wikiparser.rules, self.replace, result)\r\n  File "/usr/lib/python2.5/re.py", line 150, in sub\r\n    return _compile(pattern, 0).sub(repl, string, count)\r\n  File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py", line 807, in replace\r\n    replacement = self.handle_match(fullmatch)\r\n  File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py", line 800, in handle_match\r\n    return external_handler(self, match, fullmatch)\r\n  File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/api.py", line 277, in wikipagename_link\r\n    self.ignore_missing_pages)\r\n  File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/api.py", line 311, in _format_link\r\n    if 'WIKI_VIEW' in formatter.perm('wiki', pagename, version):\r\nTypeError: 'NoneType' object is not callable\r\n\r\n}}}\r\n    \r\n==== Full details ====\r\n\r\n{{{\r\n#!html\r\n\r\n                <div id="traceback">\r\n                  Most recent call last:\r\n                  <ul>\r\n                    <li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py",\r\n                        line <b>423</b>, in</span>\r\n                        <var>_dispatch_request</var>\r\n                      <div class="source">\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="418">\r\n                          <li><code>    try:</code></li><li><code>        if not env and env_error:</code></li><li><code>            raise HTTPInternalError(env_error)</code></li><li><code>        try:</code></li><li><code>            dispatcher = RequestDispatcher(env)</code></li>\r\n                          <li class="current"><code>            dispatcher.dispatch(req)</code></li>\r\n                          <li><code>        except RequestDone:</code></li><li><code>            pass</code></li><li><code>        resp = req._response or []</code></li><li><code> </code></li><li><code>    except HTTPException, e:</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars">\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>after</var></th>\r\n                              <td><code>[u'        except RequestDone:', u'            pass', u'        resp =  ...</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>before</var></th>\r\n                              <td><code>[u'    try:', u'        if not env and env_error:', u'            raise  ...</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>dispatcher</var></th>\r\n                              <td><code>&lt;trac.web.main.RequestDispatcher object at 0x8cad04c&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>e</var></th>\r\n                              <td><code>TypeError("'NoneType' object is not callable",)</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>env</var></th>\r\n                              <td><code>&lt;trac.env.Environment object at 0x8919fcc&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>env_error</var></th>\r\n                              <td><code>None</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>exc_info</var></th>\r\n                              <td><code>(&lt;type 'exceptions.TypeError'&gt;, TypeError("'NoneType' object is not  ...</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>filename</var></th>\r\n                              <td><code>'/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py'</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>frames</var></th>\r\n                              <td><code>[{'function': '_dispatch_request', 'lines_before': [u'    try:', u'         ...</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>has_admin</var></th>\r\n                              <td><code>True</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>line</var></th>\r\n                              <td><code>u'            dispatcher.dispatch(req)'</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>lineno</var></th>\r\n                              <td><code>422</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>message</var></th>\r\n                              <td><code>u"TypeError: 'NoneType' object is not callable"</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>req</var></th>\r\n                              <td><code>&lt;Request "GET u'/xmlrpc'"&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>resp</var></th>\r\n                              <td><code>[]</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>tb</var></th>\r\n                              <td><code>&lt;traceback object at 0x8c4dc34&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>tb_hide</var></th>\r\n                              <td><code>None</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>traceback</var></th>\r\n                              <td><code>'Traceback (most recent call last):\\n  File  ...</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py",\r\n                        line <b>197</b>, in</span>\r\n                        <var>dispatch</var>\r\n                      <div class="source">\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="192">\r\n                          <li><code>                            req.args.get('__FORM_TOKEN') != req.form_token:</code></li><li><code>                        raise HTTPBadRequest('Missing or invalid form token. '</code></li><li><code>                                             'Do you have cookies enabled?')</code></li><li><code> </code></li><li><code>                # Process the request and render the template</code></li>\r\n                          <li class="current"><code>                resp = chosen_handler.process_request(req)</code></li>\r\n                          <li><code>                if resp:</code></li><li><code>                    if len(resp) == 2: # Clearsilver</code></li><li><code>                        chrome.populate_hdf(req)</code></li><li><code>                        template, content_type = \\</code></li><li><code>                                  self._post_process_request(req, *resp)</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>chosen_handler</var></th>\r\n                              <td><code>&lt;tracrpc.web_ui.XMLRPCWeb object at 0x8cad74c&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>chrome</var></th>\r\n                              <td><code>&lt;trac.web.chrome.Chrome object at 0x8cad4cc&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>err</var></th>\r\n                              <td><code>(&lt;type 'exceptions.TypeError'&gt;, TypeError("'NoneType' object is not  ...</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>handler</var></th>\r\n                              <td><code>&lt;tracrpc.web_ui.XMLRPCWeb object at 0x8cad74c&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>req</var></th>\r\n                              <td><code>&lt;Request "GET u'/xmlrpc'"&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>self</var></th>\r\n                              <td><code>&lt;trac.web.main.RequestDispatcher object at 0x8cad04c&gt;</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "build/bdist.linux-i686/egg/tracrpc/web_ui.py",\r\n                        line <b>138</b>, in</span>\r\n                      </a>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>content_type</var></th>\r\n                              <td><code>'text/html'</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>method</var></th>\r\n                              <td><code>&lt;tracrpc.api.Method object at 0x8be22cc&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>namespace</var></th>\r\n                              <td><code>'source'</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>namespaces</var></th>\r\n                              <td><code>{'wiki': {'namespace': 'wiki', 'description': &lt;Markup u'Superset of  ...</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>req</var></th>\r\n                              <td><code>&lt;Request "GET u'/xmlrpc'"&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>self</var></th>\r\n                              <td><code>&lt;tracrpc.web_ui.XMLRPCWeb object at 0x8cad74c&gt;</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py",\r\n                        line <b>1128</b>, in</span>\r\n                        <var>wiki_to_oneliner</var>\r\n                      <div class="source" >\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="1123">\r\n                          <li><code>    if not wikitext:</code></li><li><code>        return Markup()</code></li><li><code>    abs_ref, href = (req or env).abs_href, (req or env).href</code></li><li><code>    context = Context.from_request(req, absurls=absurls)</code></li><li><code>    out = StringIO()</code></li>\r\n                          <li class="current"><code>    OneLinerFormatter(env, context).format(wikitext, out, shorten)</code></li>\r\n                          <li><code>    return Markup(out.getvalue())</code></li><li><code> </code></li><li><code>def wiki_to_outline(wikitext, env, db=None,</code></li><li><code>                    absurls=False, max_depth=None, min_depth=None):</code></li><li><code>    if not wikitext:</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>abs_ref</var></th>\r\n                              <td><code>&lt;trac.web.href.Href object at 0x86af28c&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>absurls</var></th>\r\n                              <td><code>False</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>context</var></th>\r\n                              <td><code>&lt;Context &gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>db</var></th>\r\n                              <td><code>None</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>env</var></th>\r\n                              <td><code>&lt;trac.env.Environment object at 0x8919fcc&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>href</var></th>\r\n                              <td><code>&lt;trac.web.href.Href object at 0x8b1592c&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>out</var></th>\r\n                              <td><code>&lt;StringIO.StringIO instance at 0x8b955ac&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>req</var></th>\r\n                              <td><code>None</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>shorten</var></th>\r\n                              <td><code>False</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>wikitext</var></th>\r\n                              <td><code>"An interface to Trac's Repository and RepositoryManager.\\n    "</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py",\r\n                        line <b>954</b>, in</span>\r\n                        <var>format</var>\r\n                      <div class="source" >\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="949">\r\n                          <li><code>        result = buf.getvalue()[:-len(os.linesep)]</code></li><li><code> </code></li><li><code>        if shorten:</code></li><li><code>            result = shorten_line(result)</code></li><li><code> </code></li>\r\n                          <li class="current"><code>        result = re.sub(self.wikiparser.rules, self.replace, result)</code></li>\r\n                          <li><code>        result = result.replace('[...]', u'[\\u2026]')</code></li><li><code>        if result.endswith('...'):</code></li><li><code>            result = result[:-3] + u'\\u2026'</code></li><li><code> </code></li><li><code>        # Close all open 'one line'-tags</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>buf</var></th>\r\n                              <td><code>&lt;StringIO.StringIO instance at 0x8b0ae8c&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>in_code_block</var></th>\r\n                              <td><code>0</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>line</var></th>\r\n                              <td><code>"An interface to Trac's Repository and RepositoryManager."</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>out</var></th>\r\n                              <td><code>&lt;StringIO.StringIO instance at 0x8b955ac&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>processor</var></th>\r\n                              <td><code>None</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>result</var></th>\r\n                              <td><code>"An interface to Trac's Repository and RepositoryManager."</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>self</var></th>\r\n                              <td><code>&lt;trac.wiki.formatter.OneLinerFormatter object at 0x8c38e6c&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>shorten</var></th>\r\n                              <td><code>False</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>text</var></th>\r\n                              <td><code>"An interface to Trac's Repository and RepositoryManager.\\n    "</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/re.py",\r\n                        line <b>150</b>, in</span>\r\n                        <var>sub</var>\r\n                      <div class="source" >\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="145">\r\n                          <li><code>    """Return the string obtained by replacing the leftmost</code></li><li><code>    non-overlapping occurrences of the pattern in string by the</code></li><li><code>    replacement repl.  repl can be either a string or a callable;</code></li><li><code>    if a callable, it's passed the match object and must return</code></li><li><code>    a replacement string to be used."""</code></li>\r\n                          <li class="current"><code>    return _compile(pattern, 0).sub(repl, string, count)</code></li>\r\n                          <li><code> </code></li><li><code>def subn(pattern, repl, string, count=0):</code></li><li><code>    """Return a 2-tuple containing (new_string, number).</code></li><li><code>    new_string is the string obtained by replacing the leftmost</code></li><li><code>    non-overlapping occurrences of the pattern in the source</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>count</var></th>\r\n                              <td><code>0</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>pattern</var></th>\r\n                              <td><code>&lt;_sre.SRE_Pattern object at 0x8b48338&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>repl</var></th>\r\n                              <td><code>&lt;bound method OneLinerFormatter.replace of  ...</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>string</var></th>\r\n                              <td><code>"An interface to Trac's Repository and RepositoryManager."</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py",\r\n                        line <b>807</b>, in</span>\r\n                        <var>replace</var>\r\n                      <div class="source" >\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="802">\r\n                          <li><code>                    internal_handler = getattr(self, '_%s_formatter' % itype)</code></li><li><code>                    return internal_handler(match, fullmatch)</code></li><li><code> </code></li><li><code>    def replace(self, fullmatch):</code></li><li><code>        """Replace one match with its corresponding expansion"""</code></li>\r\n                          <li class="current"><code>        replacement = self.handle_match(fullmatch)</code></li>\r\n                          <li><code>        if replacement:</code></li><li><code>            return _markup_to_unicode(replacement)</code></li><li><code> </code></li><li><code>    def reset(self, source, out=None):</code></li><li><code>        self.source = source</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>fullmatch</var></th>\r\n                              <td><code>&lt;_sre.SRE_Match object at 0x8c1b868&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>self</var></th>\r\n                              <td><code>&lt;trac.wiki.formatter.OneLinerFormatter object at 0x8c38e6c&gt;</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py",\r\n                        line <b>800</b>, in</span>\r\n                        <var>handle_match</var>\r\n                      <div class="source" >\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="795">\r\n                          <li><code>                # Check for preceding escape character '!'</code></li><li><code>                if match[0] == '!':</code></li><li><code>                    return escape(match[1:])</code></li><li><code>                if itype in self.wikiparser.external_handlers:</code></li><li><code>                    external_handler = self.wikiparser.external_handlers[itype]</code></li>\r\n                          <li class="current"><code>                    return external_handler(self, match, fullmatch)</code></li>\r\n                          <li><code>                else:</code></li><li><code>                    internal_handler = getattr(self, '_%s_formatter' % itype)</code></li><li><code>                    return internal_handler(match, fullmatch)</code></li><li><code> </code></li><li><code>    def replace(self, fullmatch):</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>external_handler</var></th>\r\n                              <td><code>&lt;function wikipagename_link at 0x8924bc4&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>fullmatch</var></th>\r\n                              <td><code>&lt;_sre.SRE_Match object at 0x8c1b868&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>itype</var></th>\r\n                              <td><code>'i0'</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>match</var></th>\r\n                              <td><code>'RepositoryManager'</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>self</var></th>\r\n                              <td><code>&lt;trac.wiki.formatter.OneLinerFormatter object at 0x8c38e6c&gt;</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/api.py",\r\n                        line <b>277</b>, in</span>\r\n                        <var>wikipagename_link</var>\r\n                      <div class="source" >\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="272">\r\n                          <li><code>        def wikipagename_link(formatter, match, fullmatch):</code></li><li><code>            if not _check_unicode_camelcase(match):</code></li><li><code>                return match</code></li><li><code>            return self._format_link(formatter, 'wiki', match,</code></li><li><code>                                     self.format_page_name(match),</code></li>\r\n                          <li class="current"><code>                                     self.ignore_missing_pages)</code></li>\r\n                          <li><code>        </code></li><li><code>        yield (r"!?(?&lt;!/)\\b" + # start at a word boundary but not after '/'</code></li><li><code>               wiki_page_name, wikipagename_link)</code></li><li><code> </code></li><li><code>        # [WikiPageNames with label]</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>formatter</var></th>\r\n                              <td><code>&lt;trac.wiki.formatter.OneLinerFormatter object at 0x8c38e6c&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>fullmatch</var></th>\r\n                              <td><code>&lt;_sre.SRE_Match object at 0x8c1b868&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>match</var></th>\r\n                              <td><code>'RepositoryManager'</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>self</var></th>\r\n                              <td><code>&lt;trac.wiki.api.WikiSystem object at 0x8cad28c&gt;</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li><li class="frame">\r\n                        <span class="file">File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/api.py",\r\n                        line <b>311</b>, in</span>\r\n                        <var>_format_link</var>\r\n                      <div class="source" >\r\n                        <h3>Code fragment:</h3>\r\n                        <ol start="306">\r\n                          <li><code>        if '@' in pagename:</code></li><li><code>            pagename, version = pagename.split('@', 1)</code></li><li><code>        if version and query:</code></li><li><code>            query = '&amp;' + query[1:]</code></li><li><code>        pagename = pagename.rstrip('/')</code></li>\r\n                          <li class="current"><code>        if 'WIKI_VIEW' in formatter.perm('wiki', pagename, version):</code></li>\r\n                          <li><code>            href = formatter.href.wiki(pagename, version=version) + query \\</code></li><li><code>                   + fragment</code></li><li><code>            if self.has_page(pagename):</code></li><li><code>                return tag.a(label, href=href, class_='wiki')</code></li><li><code>            else:</code></li>\r\n                        </ol>\r\n                      </div>\r\n                      <div class="vars" >\r\n                        <h3>Local variables:</h3>\r\n                        <table class="listing">\r\n                          <thead><tr><th>Name</th><th>Value</th></tr></thead>\r\n                          <tbody>\r\n                            <tr>\r\n                              <th scope="row"><var>formatter</var></th>\r\n                              <td><code>&lt;trac.wiki.formatter.OneLinerFormatter object at 0x8c38e6c&gt;</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>fragment</var></th>\r\n                              <td><code>''</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>ignore_missing</var></th>\r\n                              <td><code>False</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>label</var></th>\r\n                              <td><code>'RepositoryManager'</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>ns</var></th>\r\n                              <td><code>'wiki'</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>pagename</var></th>\r\n                              <td><code>'RepositoryManager'</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>query</var></th>\r\n                              <td><code>''</code></td>\r\n                            </tr><tr class="odd">\r\n                              <th scope="row"><var>self</var></th>\r\n                              <td><code>&lt;trac.wiki.api.WikiSystem object at 0x8cad28c&gt;</code></td>\r\n                            </tr><tr>\r\n                              <th scope="row"><var>version</var></th>\r\n                              <td><code>None</code></td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </li>\r\n                  </ul>\r\n                  <pre>File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py", line 423, in _dispatch_request\r\n  dispatcher.dispatch(req)\r\nFile "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py", line 197, in dispatch\r\n  resp = chosen_handler.process_request(req)\r\nFile "build/bdist.linux-i686/egg/tracrpc/web_ui.py", line 138, in process_requestFile "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py", line 1128, in wiki_to_oneliner\r\n  OneLinerFormatter(env, context).format(wikitext, out, shorten)\r\nFile "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py", line 954, in format\r\n  result = re.sub(self.wikiparser.rules, self.replace, result)\r\nFile "/usr/lib/python2.5/re.py", line 150, in sub\r\n  return _compile(pattern, 0).sub(repl, string, count)\r\nFile "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py", line 807, in replace\r\n  replacement = self.handle_match(fullmatch)\r\nFile "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/formatter.py", line 800, in handle_match\r\n  return external_handler(self, match, fullmatch)\r\nFile "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/api.py", line 277, in wikipagename_link\r\n  self.ignore_missing_pages)\r\nFile "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/wiki/api.py", line 311, in _format_link\r\n  if 'WIKI_VIEW' in formatter.perm('wiki', pagename, version):\r\n</pre>\r\n                  <p ><input type="button" id="tbtoggle" value="Switch to plain text view" /></p>\r\n                </div>\r\n\r\n}}}\r\n	defect	closed	normal	XmlRpcPlugin	critical	fixed	WikiFormatting, oneliner		0.11
