[CalendarServer-changes] [2500] CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
source_changes at macosforge.org
source_changes at macosforge.org
Sun May 25 15:20:34 PDT 2008
Revision: 2500
http://trac.macosforge.org/projects/calendarserver/changeset/2500
Author: wsanchez at apple.com
Date: 2008-05-25 15:20:33 -0700 (Sun, 25 May 2008)
Log Message:
-----------
Unroll defgen
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
Modified: CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py 2008-05-25 21:35:05 UTC (rev 2499)
+++ CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py 2008-05-25 22:20:33 UTC (rev 2500)
@@ -197,54 +197,56 @@
# HTTP
##
- @deferredGenerator
def renderDirectoryBody(self, request):
# FIXME: Too much code duplication here from principal.py
from twistedcaldav.directory.principal import format_list, format_principals, format_link
- d = waitForDeferred(super(CalendarUserProxyPrincipalResource, self).renderDirectoryBody(request))
- yield d
- output = d.getResult()
+ closure = {}
+
+ d = super(CalendarUserProxyPrincipalResource, self).renderDirectoryBody(request)
+ d.addCallback(lambda output: closure.setdefault("output", output))
+
+ d.addCallback(lambda _: self.groupMembers())
+ d.addCallback(lambda members: closure.setdefault("members", members))
+
+ d.addCallback(lambda _: self.groupMemberships())
+ d.addCallback(lambda memberships: closure.setdefault("memberships", memberships))
- d = waitForDeferred(self.groupMembers())
- yield d
- members = d.getResult()
-
- d = waitForDeferred(self.groupMemberships())
- yield d
- memberships = d.getResult()
-
- yield "".join((
- """<div class="directory-listing">"""
- """<h1>Principal Details</h1>"""
- """<pre><blockquote>"""
- """Directory Information\n"""
- """---------------------\n"""
- """Directory GUID: %s\n""" % (self.parent.record.service.guid,),
- """Realm: %s\n""" % (self.parent.record.service.realmName,),
- """\n"""
- """Parent Principal Information\n"""
- """---------------------\n"""
- """GUID: %s\n""" % (self.parent.record.guid,),
- """Record type: %s\n""" % (self.parent.record.recordType,),
- """Short name: %s\n""" % (self.parent.record.shortName,),
- """Full name: %s\n""" % (self.parent.record.fullName,),
- """Principal UID: %s\n""" % (self.parent.principalUID(),),
- """Principal URL: %s\n""" % (format_link(self.parent.principalURL()),),
- """\n"""
- """Proxy Principal Information\n"""
- """---------------------\n"""
- #"""GUID: %s\n""" % (self.guid,),
- """Principal UID: %s\n""" % (self.principalUID(),),
- """Principal URL: %s\n""" % (format_link(self.principalURL()),),
- """\nAlternate URIs:\n""" , format_list(format_link(u) for u in self.alternateURIs()),
- """\nGroup members (%s):\n""" % ({False:"Locked", True:"Editable"}[self.hasEditableMembership()])
- , format_principals(members),
- """\nGroup memberships:\n""" , format_principals(memberships),
- """</pre></blockquote></div>""",
- output
- ))
+ d.addCallback(
+ lambda _: "".join((
+ """<div class="directory-listing">"""
+ """<h1>Principal Details</h1>"""
+ """<pre><blockquote>"""
+ """Directory Information\n"""
+ """---------------------\n"""
+ """Directory GUID: %s\n""" % (self.parent.record.service.guid,),
+ """Realm: %s\n""" % (self.parent.record.service.realmName,),
+ """\n"""
+ """Parent Principal Information\n"""
+ """---------------------\n"""
+ """GUID: %s\n""" % (self.parent.record.guid,),
+ """Record type: %s\n""" % (self.parent.record.recordType,),
+ """Short name: %s\n""" % (self.parent.record.shortName,),
+ """Full name: %s\n""" % (self.parent.record.fullName,),
+ """Principal UID: %s\n""" % (self.parent.principalUID(),),
+ """Principal URL: %s\n""" % (format_link(self.parent.principalURL()),),
+ """\n"""
+ """Proxy Principal Information\n"""
+ """---------------------\n"""
+ #"""GUID: %s\n""" % (self.guid,),
+ """Principal UID: %s\n""" % (self.principalUID(),),
+ """Principal URL: %s\n""" % (format_link(self.principalURL()),),
+ """\nAlternate URIs:\n""" , format_list(format_link(u) for u in self.alternateURIs()),
+ """\nGroup members (%s):\n""" % ({False:"Locked", True:"Editable"}[self.hasEditableMembership()])
+ , format_principals(closure["members"]),
+ """\nGroup memberships:\n""" , format_principals(closure["memberships"]),
+ """</pre></blockquote></div>""",
+ closure["output"]
+ ))
+ )
+ return d
+
##
# DAV
##
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20080525/0a6d4571/attachment.htm
More information about the calendarserver-changes
mailing list