[CalendarServer-changes] [1132] CalendarServer/trunk/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Tue Feb 6 10:28:24 PST 2007


Revision: 1132
          http://trac.macosforge.org/projects/calendarserver/changeset/1132
Author:   wsanchez at apple.com
Date:     2007-02-06 10:28:24 -0800 (Tue, 06 Feb 2007)

Log Message:
-----------
Rename getDirectoryTable() to renderDirectoryBody() and subclass that
in order to get better code re-use from renderDirectory().

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/principal.py
    CalendarServer/trunk/twistedcaldav/extensions.py

Modified: CalendarServer/trunk/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/principal.py	2007-02-06 00:31:27 UTC (rev 1131)
+++ CalendarServer/trunk/twistedcaldav/directory/principal.py	2007-02-06 18:28:24 UTC (rev 1132)
@@ -285,7 +285,7 @@
     # HTTP
     ##
 
-    def render(self, request):
+    def renderDirectoryBody(self, request):
         def format_list(items, *args):
             def genlist():
                 try:
@@ -300,66 +300,38 @@
                     yield "  ** %s **: %s\n" % (e.__class__.__name__, e)
             return "".join(genlist())
 
-        output = [
-            """<html>"""
-            """<head>"""
-            """<title>%(title)s</title>"""
-            """<style>%(style)s</style>"""
-            """</head>"""
-            """<body>"""
-            """<div class="directory-listing">"""
-            """<h1>Principal Details</h1>"""
-            """<pre><blockquote>"""
-            % {
-                "title": unquote(request.uri),
-                "style": self.directoryStyleSheet(),
-            }
-        ]
-
         def link(url):
             return """<a href="%s">%s</a>""" % (url, url)
 
-        output.append("".join((
-            "Directory Information\n"
-            "---------------------\n"
-            "Directory GUID: %s\n"         % (self.record.service.guid,),
-            "Realm: %s\n"                  % (self.record.service.realmName,),
-            "\n"
-            "Principal Information\n"
-            "---------------------\n"
-            "GUID: %s\n"                   % (self.record.guid,),
-            "Record type: %s\n"            % (self.record.recordType,),
-            "Short name: %s\n"             % (self.record.shortName,),
-            "Full name: %s\n"              % (self.record.fullName,),
-            "Principal UID: %s\n"          % (self.principalUID(),),
-            "Principal URL: %s\n"          % (link(self.principalURL()),),
-            "\nAlternate URIs:\n"          , format_list(self.alternateURIs()),
-            "\nGroup members:\n"           , format_list(link(p.principalURL()) for p in self.groupMembers()),
-            "\nGroup memberships:\n"       , format_list(link(p.principalURL()) for p in self.groupMemberships()),
-            "\nCalendar homes:\n"          , format_list(link(u) for u in self.calendarHomeURLs()),
-            "\nCalendar user addresses:\n" , format_list(link(a) for a in self.calendarUserAddresses()),
-        )))
+        def gotSuper(output):
+            return "".join((
+                """<div class="directory-listing">"""
+                """<h1>Principal Details</h1>"""
+                """<pre><blockquote>"""
+                """Directory Information\n"""
+                """---------------------\n"""
+                """Directory GUID: %s\n"""         % (self.record.service.guid,),
+                """Realm: %s\n"""                  % (self.record.service.realmName,),
+                """\n"""
+                """Principal Information\n"""
+                """---------------------\n"""
+                """GUID: %s\n"""                   % (self.record.guid,),
+                """Record type: %s\n"""            % (self.record.recordType,),
+                """Short name: %s\n"""             % (self.record.shortName,),
+                """Full name: %s\n"""              % (self.record.fullName,),
+                """Principal UID: %s\n"""          % (self.principalUID(),),
+                """Principal URL: %s\n"""          % (link(self.principalURL()),),
+                """\nAlternate URIs:\n"""          , format_list(self.alternateURIs()),
+                """\nGroup members:\n"""           , format_list(link(p.principalURL()) for p in self.groupMembers()),
+                """\nGroup memberships:\n"""       , format_list(link(p.principalURL()) for p in self.groupMemberships()),
+                """\nCalendar homes:\n"""          , format_list(link(u) for u in self.calendarHomeURLs()),
+                """\nCalendar user addresses:\n""" , format_list(link(a) for a in self.calendarUserAddresses()),
+                """</pre></blockquote></div>""",
+                output
+            ))
 
-        output.append("</pre></blockquote></div>")
-
-        def gotTable(table, output=output):
-            output.append(table)
-            output.append("</body></html>")
-            output = "".join(output)
-
-            if type(output) == unicode:
-                output = output.encode("utf-8")
-                mime_params = {"charset": "utf-8"}
-            else:
-                mime_params = {}
-
-            response = Response(code=responsecode.OK, stream=output)
-            response.headers.setHeader("content-type", MimeType("text", "html", mime_params))
-
-            return response
-
-        d = self.getDirectoryTable(request)
-        d.addCallback(gotTable)
+        d = super(DirectoryPrincipalResource, self).renderDirectoryBody(request)
+        d.addCallback(gotSuper)
         return d
 
     ##

Modified: CalendarServer/trunk/twistedcaldav/extensions.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/extensions.py	2007-02-06 00:31:27 UTC (rev 1131)
+++ CalendarServer/trunk/twistedcaldav/extensions.py	2007-02-06 18:28:24 UTC (rev 1132)
@@ -205,11 +205,11 @@
             response.headers.setHeader("content-type", MimeType("text", "html"))
             return response
 
-        d = self.getDirectoryTable(request)
+        d = self.renderDirectoryBody(request)
         d.addCallback(gotTable)
         return d
 
-    def getDirectoryTable(self, request):
+    def renderDirectoryBody(self, request):
         """
         Generate a directory listing table in HTML.
         """

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070206/bc932d3e/attachment.html


More information about the calendarserver-changes mailing list