- Timestamp:
- 02/21/05 08:59:18 (8 years ago)
- File:
-
- 1 edited
-
trac/trunk/wiki-macros/JPNav.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trac/trunk/wiki-macros/JPNav.py
r2705 r2723 14 14 15 15 import re 16 import sys 16 17 17 listRule = re.compile(r""" (?P<indent>^\s+)\*\s+\[wiki:(?P<link>("(.*?)"|'(.*?)')|([^ ]*[^'~_\., \)]))\s+(?P<label>.*)\]""", re.M)18 listRule = re.compile(r"""^(?P<indent> +)\* +(?:(?P<wikilink>\[wiki:(?P<link>("([^"]*)"|'([^']*)')|([^ \]]+)) +(?P<label>[^\]]*)\])|(?P<text>.*))""", re.M) 18 19 19 def getToc( db, name):20 def getToc(env, db, name): 20 21 cursor = db.cursor() 21 cursor.execute('SELECT text FROM wiki WHERE name=%s ', name)22 cursor.execute('SELECT text FROM wiki WHERE name=%s ORDER BY version DESC LIMIT 1', name) 22 23 row = cursor.fetchone() 23 24 if not row: … … 26 27 tocText = row[0] 27 28 29 # env.log.debug(tocText) 30 28 31 stack = [(1, [])] 29 32 nextPos = 0 … … 31 34 match = listRule.search(tocText, nextPos) 32 35 if not match: 36 env.log.debug("No more matches") 33 37 break 34 38 35 39 indent = len(match.group('indent')) 36 link = match.group('link') 37 label = match.group('label') 40 if match.group('wikilink'): 41 link = match.group('link') 42 label = match.group('label') 43 else: 44 link = None 45 label = match.group('text') 46 47 if link == None: 48 env.log.debug(label + " ---") 49 else: 50 env.log.debug(label + ": " + link) 38 51 39 52 (lastIndent, list) = stack[len(stack) - 1] … … 72 85 73 86 db = env.get_db_cnx() 74 toc = getToc( db, name)87 toc = getToc(env, db, name) 75 88 if not toc: 76 89 msg = '' … … 102 115 cls = '' 103 116 html += '<li%s>' % ( cls ) 104 html += '<a href="%s">%s</a>' % (env.href.wiki(name), title) 117 if name == None: 118 html += title 119 else: 120 html += '<a href="%s">%s</a>' % (env.href.wiki(name), title) 105 121 html += '</li>' 106 122 else: 107 123 (subfound, subhtml) = generate(env, curpage, sub, level + 1) 108 if subfound :124 if subfound or (name == None): 109 125 menu = '' 110 126 menu += '<li>' … … 113 129 menu += '</li>' 114 130 found = 1 115 if level == 0 :131 if level == 0 and name != None: 116 132 html = menu + html 117 133 else:
Note: See TracChangeset
for help on using the changeset viewer.
