TracNav が Trac-0.11.1 に upgrade するとエラーになっていた
気づいたら TracNav マクロを使っているページで ↓ のエラーが表示されるようになっていた。
Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/trac/wiki/formatter.py", line 468, in _macro_formatter return macro.process(args, in_paragraph=True) File "/usr/lib/python2.3/site-packages/trac/wiki/formatter.py", line 179, in process text = self.processor(text) File "/usr/lib/python2.3/site-packages/trac/wiki/formatter.py", line 166, in _macro_processor text) File "build/bdist.linux-i686/egg/tracnav/tracnav.py", line 302, in expand_macro File "build/bdist.linux-i686/egg/tracnav/tracnav.py", line 230, in run File "build/bdist.linux-i686/egg/tracnav/tracnav.py", line 204, in parse_toc File "build/bdist.linux-i686/egg/tracnav/tracnav.py", line 169, in get_toc_entry_and_indent File "build/bdist.linux-i686/egg/tracnav/tracnav.py", line 158, in get_toc_entry File "build/bdist.linux-i686/egg/tracnav/tracnav.py", line 85, in format_toc File "/usr/lib/python2.3/site-packages/trac/wiki/formatter.py", line 954, in format result = re.sub(self.wikiparser.rules, self.replace, result) File "/usr/lib/python2.3/sre.py", line 143, in sub return _compile(pattern, 0).sub(repl, string, count) File "/usr/lib/python2.3/site-packages/trac/wiki/formatter.py", line 807, in replace replacement = self.handle_match(fullmatch) File "/usr/lib/python2.3/site-packages/trac/wiki/formatter.py", line 803, in handle_match return internal_handler(match, fullmatch) File "/usr/lib/python2.3/site-packages/trac/wiki/formatter.py", line 374, in _lhref_formatter return self._make_link(ns, target, match, label, fullmatch) TypeError: _make_link() takes exactly 5 arguments (6 given)
Trac-0.11 から 0.11.1 への変更で _make_link の引数が変わったみたい。というかこんな内部向けメソッドを TracNav マクロは使っているのね…。
Diff from tags/trac-0.11/trac/wiki/formatter.py@7556 to tags/trac-0.11.1/trac/wiki/formatter.py@7556 – The Trac Project
TracNav のサイトで確認するとチケットが上がっていてすでに修正されていので、TracNav の最新のソース(r3249 以降)で plugin を作り直したらエラーもなくなった。
#292 (Error: Macro JPNav(foobar) failed after update from trac 0.11dev to trac 0.12dev) - JavaParty - Java's Companion for Distributed Computing - Trac