Modified: CalendarServer/trunk/twistedcaldav/extensions.py (853 => 854)
--- CalendarServer/trunk/twistedcaldav/extensions.py 2006-12-19 02:50:03 UTC (rev 853)
+++ CalendarServer/trunk/twistedcaldav/extensions.py 2006-12-19 04:33:06 UTC (rev 854)
@@ -143,13 +143,21 @@
"""<div class="directory-listing">"""
"""<h1>%(title)s</h1>"""
"""<table>"""
- """<tr><th>Filename</th> <th>Size</th> <th>Last Modified</th> <th>File Type</th></tr>"""
+ """<tr><th>Name</th> <th>Size</th> <th>Last Modified</th> <th>MIME Type</th></tr>"""
% {
"title": urllib.unquote(request.uri),
"style": self.directoryStyleSheet(),
}
]
+ def orNone(value, default="?", f=None):
+ if value is None:
+ return default
+ elif f is not None:
+ return f(value)
+ else:
+ return value
+
even = False
for name in sorted(self.listChildren()):
child = self.getChild(name)
@@ -168,13 +176,14 @@
lastModified = None
contentType = None
- def orNone(value, default="?", f=None):
- if value is None:
- return default
- elif f is not None:
- return f(value)
- else:
- return value
+ if self.fp.isdir():
+ contentType = "(collection)"
+ else:
+ contentType = orNone(
+ contentType,
+ default="-",
+ f=lambda m: "%s/%s %s" % (m.mediaType, m.mediaSubtype, m.params)
+ )
# FIXME: gray out resources that are not readable
output.append(
@@ -190,7 +199,7 @@
"name": name,
"size": orNone(size),
"lastModified": orNone(lastModified, f=lambda t: time.strftime("%Y-%b-%d %H:%M", time.localtime(t))),
- "type": orNone(contentType, default="-", f=lambda m: "%s/%s %s" % (m.mediaType, m.mediaSubtype, m.params)),
+ "type": contentType,
}
)
even = not even