0.11 系用のものも置いてあるのだけれど、これも動かない。
将来的には別のプラグインに乗り換えるにしても、とりあえずのところは以下のように修正してみた。
--- autonav-trac-0.11.py 2009-04-11 01:59:20.000000000 +0900
+++ autonav-trac.py 2009-04-11 01:59:10.000000000 +0900
@@ -35,14 +35,14 @@
`[[AutoNav(MyPage, MyPageToo, MyPageThree)]]` -> references merged with MyPage, MyPageToo and MyPageThree
"""
- def render_macro(self, formatter, name, args):
- if formatter.context.resource != 'wiki':
+ def expand_macro(self, formatter, name, args):
+ if formatter.context.resource.realm != 'wiki':
return ''
cursor = formatter.db.cursor()
# get the refere page name
- thispage = formatter.context.id
+ thispage = formatter.context.resource.id
# process arguments
pages, kw = parse_args(args)
@@ -59,11 +59,11 @@
WHERE
w1.version = w2.version AND
w1.name = w2.name AND
- w1.text LIKE \'%%%s%%\'
- ORDER BY w1.name""" % thispage
+ w1.text LIKE %s
+ ORDER BY w1.name"""
# TODO: use named parameters
- cursor.execute(query)
+ cursor.execute(query, [ '%%%s%%' % thispage ])
# for each answer store in page
for page, in cursor:
@@ -77,6 +77,11 @@
def link(page):
return tag.a(page, href=formatter.href.wiki(page))
- return tag(tag.strong('Navigation:'), '(',
- [[link(page), ', '] for page in pages[:-2]],
- link(page), ')')
+ if (pages):
+ links = [
+ [link(pages[0])],
+ [[', ', link(page)] for page in pages[1:]]
+ ]
+ else: links = []
+
+ return tag(tag.strong('Navigation:'), '(', links, ')')

コメントする