| 1 | """ |
|---|
| 2 | Show the path to a heirarchical wiki entry (a la the directory names at |
|---|
| 3 | the top of the svn source browser) |
|---|
| 4 | """ |
|---|
| 5 | |
|---|
| 6 | from StringIO import StringIO |
|---|
| 7 | |
|---|
| 8 | def 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() |
|---|