[CalendarServer-changes] [1005] CalendarServer/trunk/twistedcaldav/directory/principal.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Jan 9 18:46:26 PST 2007


Revision: 1005
          http://trac.macosforge.org/projects/calendarserver/changeset/1005
Author:   wsanchez at apple.com
Date:     2007-01-09 18:46:23 -0800 (Tue, 09 Jan 2007)

Log Message:
-----------
Fix group members and memberships to print URLs instead of principal
repr's, which aren't HTML friendly, nor really appropriate.

Make URLs into links.

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

Modified: CalendarServer/trunk/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/principal.py	2007-01-10 01:24:55 UTC (rev 1004)
+++ CalendarServer/trunk/twistedcaldav/directory/principal.py	2007-01-10 02:46:23 UTC (rev 1005)
@@ -256,11 +256,11 @@
     ##
 
     def render(self, request):
-        def format_list(method, *args):
+        def format_list(items, *args):
             def genlist():
                 try:
                     item = None
-                    for item in method(*args):
+                    for item in items:
                         yield " -> %s\n" % (item,)
                     if item is None:
                         yield " '()\n"
@@ -286,6 +286,9 @@
             }
         ]
 
+        def link(url):
+            return """<a href="%s">%s</a>""" % (url, url)
+
         output.append("".join((
             "Directory Information\n"
             "---------------------\n"
@@ -299,12 +302,12 @@
             "Short name: %s\n"             % (self.record.shortName,),
             "Full name: %s\n"              % (self.record.fullName,),
             "Principal UID: %s\n"          % (self.principalUID(),),
-            "Principal URL: %s\n"          % (self.principalURL(),),
-            "\nAlternate URIs:\n"          , format_list(self.alternateURIs),
-            "\nGroup members:\n"           , format_list(self.groupMembers),
-            "\nGroup memberships:\n"       , format_list(self.groupMemberships),
-            "\nCalendar homes:\n"          , format_list(self.calendarHomeURLs),
-            "\nCalendar user addresses:\n" , format_list(self.calendarUserAddresses),
+            "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()),
         )))
 
         output.append(

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


More information about the calendarserver-changes mailing list