Edgewall Software

MacroBazaar: ShowPath.py

File ShowPath.py, 817 bytes (added by Muness Alrubaie <muness@…>, 7 years ago)

ShowPath? macro

Line 
1"""
2Show the path to a heirarchical wiki entry (a la the directory names at
3the top of the svn source browser)
4"""
5
6from StringIO import StringIO
7
8def execute(hdf, args, env):
9    db = env.get_db_cnx()
10    cursor = db.cursor()
11
12    prefix = None
13    if args :
14        prefix = args.replace('\'', '\'\'')
15    else :
16        prefix = hdf.getValue('wiki.page_name', '')
17
18    heirarchy = prefix.split('/')
19    prev = StringIO()
20    buf = StringIO()
21
22    buf.write('<a href="%s">' % env.href.wiki('WikiStart'))
23    buf.write('WikiStart')
24    buf.write('</a>/')
25
26    for i in heirarchy[0:-1]:
27        wiki = prev.getvalue() + i
28        buf.write('<a href="%s">' % env.href.wiki(wiki))
29        buf.write(i)
30        buf.write('</a>/')
31        prev.write(i + '/')
32
33    buf.write(heirarchy[-1])
34           
35    return buf.getvalue()