Modify ↓
      
Opened 18 years ago
Closed 18 years ago
#6360 closed defect (fixed)
Changeset [6163] seems to have broken Timeline view
| Reported by: | Owned by: | Jonas Borgström | |
|---|---|---|---|
| Priority: | highest | Milestone: | 0.11 | 
| Component: | general | Version: | |
| Severity: | normal | Keywords: | permission | 
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
upgraded from 6153 to 0.11dev-r6163. Navigating to Timeline after logging in produced the traceback below. Commenting out lines 174 and 175 of resource.py allows the timeline to be displayed without error.
2007-11-16 06:58:51,201 Trac[main] ERROR: 'NoneType' object is not callable
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/web/main.py", line 386, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/web/main.py", line 217, in dispatch
    data, content_type)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/web/chrome.py", line 620, in render_template
    return stream.render(method, doctype=doctype)
  File "build/bdist.linux-i686/egg/genshi/core.py", line 172, in render
    return encode(generator, method=method, encoding=encoding)
  File "build/bdist.linux-i686/egg/genshi/output.py", line 45, in encode
    output = u''.join(list(iterator))
  File "build/bdist.linux-i686/egg/genshi/output.py", line 274, in __call__
    for kind, data, pos in stream:
  File "build/bdist.linux-i686/egg/genshi/output.py", line 526, in __call__
    for kind, data, pos in stream:
  File "build/bdist.linux-i686/egg/genshi/output.py", line 632, in __call__
    for kind, data, pos in chain(stream, [(None, None, None)]):
  File "build/bdist.linux-i686/egg/genshi/output.py", line 466, in __call__
    for ev in stream:
  File "build/bdist.linux-i686/egg/genshi/core.py", line 273, in _ensure
    for event in stream:
  File "build/bdist.linux-i686/egg/genshi/core.py", line 273, in _ensure
    for event in stream:
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/web/chrome.py", line 640, in _generate
    for kind, data, pos in stream:
  File "build/bdist.linux-i686/egg/genshi/template/base.py", line 521, in _include
    for event in stream:
  File "build/bdist.linux-i686/egg/genshi/template/markup.py", line 279, in _match
    ctxt))
  File "build/bdist.linux-i686/egg/genshi/template/base.py", line 521, in _include
    for event in stream:
  File "build/bdist.linux-i686/egg/genshi/template/markup.py", line 239, in _strip
    event = stream.next()
  File "build/bdist.linux-i686/egg/genshi/template/base.py", line 496, in _exec
    for event in stream:
  File "build/bdist.linux-i686/egg/genshi/template/base.py", line 473, in _eval
    result = data.evaluate(ctxt)
  File "build/bdist.linux-i686/egg/genshi/template/eval.py", line 144, in evaluate
    return eval(self.code, _globals, {'data': data})
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/timeline/templates/timeline.html", line 51, in <Expression u"event.render('description', context)">
    ${event.render('description', context)}
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/timeline/web_ui.py", line 281, in <lambda>
    context, field, event)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/versioncontrol/web_ui/changeset.py", line 835, in render_timeline_event
    markup += format_to_html(self.env, context, message)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/wiki/formatter.py", line 1033, in format_to_html
    return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/wiki/formatter.py", line 992, in generate
    escape_newlines)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/wiki/formatter.py", line 801, in format
    result = re.sub(self.wikiparser.rules, self.replace, line)
  File "/usr/local/lib/python2.5/re.py", line 142, in sub
    return _compile(pattern, 0).sub(repl, string, count)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/wiki/formatter.py", line 746, in replace
    replacement = self.handle_match(fullmatch)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/wiki/formatter.py", line 739, in handle_match
    return external_handler(self, match, fullmatch)
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/ticket/api.py", line 297, in <lambda>
    lambda x, y, z: self._format_link(x, 'ticket', y[1:], y, z))
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11dev_r6163-py2.5.egg/trac/ticket/api.py", line 309, in _format_link
    ticket = formatter.resource('ticket', num)
TypeError: 'NoneType' object is not callable
      Attachments (0)
Change History (3)
comment:1 by , 18 years ago
| Milestone: | → 0.11 | 
|---|---|
| Priority: | normal → highest | 
comment:2 by , 18 years ago
OK, I see. The Resource(None) producing a Resource instance is necessary for the "factory" aspect of a resource. So a more correct fix for the problem that r6163 wanted to fix has to be done in the permission layer.
comment:3 by , 18 years ago
| Keywords: | permission added | 
|---|---|
| Resolution: | → fixed | 
| Status: | new → closed | 
Fixed in [6164]. Thanks again!
  Note:
 See   TracTickets
 for help on using tickets.
    


  
Ok - I'll back out that part of the r6163 until I'll fix the situation.