diff -Nura trac.orig/wiki/macros.py trac/wiki/macros.py
|
old
|
new
|
|
| 83 | 83 | only toplevel pages will be shown, if set to 1, only immediate |
| 84 | 84 | children pages will be shown, etc. If not set, or set to -1, |
| 85 | 85 | all pages in the hierarchy will be shown. |
| | 86 | - `omit=colon:separated:list`: omit pages listed in the list |
| | 87 | - `omitstartswith=colon:separated:list`: pages starting with a string |
| | 88 | from argument list will be omitted |
| 86 | 89 | """ |
| 87 | 90 | |
| 88 | 91 | SPLIT_RE = re.compile(r"( |/|[0-9])") |
| … |
… |
|
| 94 | 97 | minsize = max(int(kw.get('min', 2)), 2) |
| 95 | 98 | depth = int(kw.get('depth', -1)) |
| 96 | 99 | start = prefix and prefix.count('/') or 0 |
| | 100 | omit = kw.get('omit', '') |
| | 101 | omit = tuple(omit and omit.split(':') or []) |
| | 102 | omitsw = kw.get('omitstartswith', '') |
| | 103 | omitsw = tuple(omitsw and omitsw.split(':') or []) |
| 97 | 104 | |
| 98 | 105 | wiki = formatter.wiki |
| 99 | 106 | pages = sorted([page for page in wiki.get_pages(prefix) \ |
| 100 | | if 'WIKI_VIEW' in formatter.perm('wiki', page)]) |
| | 107 | if (not omit or not page in omit) and \ |
| | 108 | (not omitsw or not page.startswith(omitsw)) and \ |
| | 109 | ('WIKI_VIEW' in formatter.perm('wiki', page))]) |
| 101 | 110 | |
| 102 | 111 | if format != 'group': |
| 103 | 112 | return tag.ul([tag.li(tag.a(wiki.format_page_name(page), |