webish: make each link in the directory name an href to that directory

This commit is contained in:
Brian Warner 2007-06-29 11:17:18 -07:00
parent d006a9ede4
commit 6427b44b42
2 changed files with 23 additions and 5 deletions

View File

@ -9,7 +9,7 @@
</head>
<body>
<h1><p n:render="header"></p></h1>
<h2 n:render="header"></h2>
<div><a href=".">Refresh this view</a></div>
<div><a href="..">Parent Directory</a></div>

View File

@ -133,13 +133,31 @@ class Directory(rend.Page):
return d
def render_title(self, ctx, data):
return ctx.tag["Directory of '%s':" % self._dirname]
return ctx.tag["Directory '%s':" % self._dirname]
def render_header(self, ctx, data):
header = "Directory of '%s':" % self._dirname
parent_directories = self._dirname.split("/")
num_dirs = len(parent_directories)
header = ["Directory '"]
for i,d in enumerate(parent_directories):
if d == "":
link = "/".join([".."] * (num_dirs - i))
header.append(T.a(href=link)["/"])
else:
if i == num_dirs-1:
link = "."
else:
link = "/".join([".."] * (num_dirs - i - 1))
header.append(T.a(href=link)[d])
if i < num_dirs - 1:
header.append("/")
header.append("'")
if not self._dirnode.is_mutable():
header += " (readonly)"
return header
header.append(" (readonly)")
header.append(":")
return ctx.tag[header]
def data_share_uri(self, ctx, data):
return self._dirnode.get_uri()