[CalendarServer-changes] [5362] CalendarServer/trunk/twext/web2/dav/resource.py
source_changes at macosforge.org
source_changes at macosforge.org
Fri Mar 19 14:12:13 PDT 2010
Revision: 5362
http://trac.macosforge.org/projects/calendarserver/changeset/5362
Author: wsanchez at apple.com
Date: 2010-03-19 14:12:12 -0700 (Fri, 19 Mar 2010)
Log Message:
-----------
Unroll defGen
Modified Paths:
--------------
CalendarServer/trunk/twext/web2/dav/resource.py
Modified: CalendarServer/trunk/twext/web2/dav/resource.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/resource.py 2010-03-19 21:06:26 UTC (rev 5361)
+++ CalendarServer/trunk/twext/web2/dav/resource.py 2010-03-19 21:12:12 UTC (rev 5362)
@@ -1486,56 +1486,40 @@
principal1, principal2 = [p.children[0] for p in principals]
if isinstance(principal2, davxml.All):
- yield True
- return
+ return succeed(True)
elif isinstance(principal2, davxml.Authenticated):
if isinstance(principal1, davxml.Unauthenticated):
- yield False
- return
+ return succeed(False)
elif isinstance(principal1, davxml.All):
- yield False
- return
+ return succeed(False)
else:
- yield True
- return
+ return succeed(True)
elif isinstance(principal2, davxml.Unauthenticated):
if isinstance(principal1, davxml.Unauthenticated):
- yield True
- return
+ return succeed(True)
else:
- yield False
- return
+ return succeed(False)
elif isinstance(principal1, davxml.Unauthenticated):
- yield False
- return
+ return succeed(False)
assert isinstance(principal1, davxml.HRef), "Not an HRef: %r" % (principal1,)
- principal2 = waitForDeferred(self.resolvePrincipal(principal2, request))
- yield principal2
- principal2 = principal2.getResult()
+ def resolved(principal2):
+ assert principal2 is not None, "principal2 is None"
- assert principal2 is not None, "principal2 is None"
+ # Compare two HRefs and do group membership test as well
+ if principal1 == principal2:
+ return True
- # Compare two HRefs and do group membership test as well
- if principal1 == principal2:
- yield True
- return
-
- ismember = waitForDeferred(self.principalIsGroupMember(str(principal1), str(principal2), request))
- yield ismember
- ismember = ismember.getResult()
+ return self.principalIsGroupMember(str(principal1), str(principal2), request)
- if ismember:
- yield True
- return
-
- yield False
+ d = self.resolvePrincipal(principal2, request)
+ d.addCallback(resolved)
+ return d
- matchPrincipal = deferredGenerator(matchPrincipal)
@deferredGenerator
def principalIsGroupMember(self, principal1, principal2, request):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100319/0e72dfc5/attachment.html>
More information about the calendarserver-changes
mailing list