[CalendarServer-changes] [4041] CalendarServer/branches/users/sagen/resource-delegates-4038/bin/ caldav_utility.py
source_changes at macosforge.org
source_changes at macosforge.org
Sat Apr 18 17:36:29 PDT 2009
Revision: 4041
http://trac.macosforge.org/projects/calendarserver/changeset/4041
Author: sagen at apple.com
Date: 2009-04-18 17:36:29 -0700 (Sat, 18 Apr 2009)
Log Message:
-----------
Now can list either read-only or read-write delegates
Modified Paths:
--------------
CalendarServer/branches/users/sagen/resource-delegates-4038/bin/caldav_utility.py
Modified: CalendarServer/branches/users/sagen/resource-delegates-4038/bin/caldav_utility.py
===================================================================
--- CalendarServer/branches/users/sagen/resource-delegates-4038/bin/caldav_utility.py 2009-04-19 00:08:45 UTC (rev 4040)
+++ CalendarServer/branches/users/sagen/resource-delegates-4038/bin/caldav_utility.py 2009-04-19 00:36:29 UTC (rev 4041)
@@ -158,15 +158,15 @@
result = (yield resource.readProperty((namespace, name)))
print result.toxml()
- elif opt in ("--list-write-delegates",):
+ elif opt in ("--list-write-delegates", "--list-read-delegates"):
if resource is None: abort("No current resource.")
- subPrincipal = resource.getChild("calendar-proxy-write")
- if subPrincipal is None:
- abort("No proxy subprincipal found for %s" % (resource.resource,))
- namespace, name = davxml.dav_namespace, "group-member-set"
- result = (yield subPrincipal.readProperty((namespace, name)))
- print result.toxml()
+ permission = "write" if "write" in opt else "read"
+ print "Delegates (%s) for %s:" % (permission, resource.resource)
+ paths = (yield resource.getDelegates(permission))
+ for path in paths:
+ delegate = root.getChild(path)
+ print delegate.resource
elif opt in ("--add-write-delegate", "--add-read-delegate"):
if resource is None: abort("No current resource.")
@@ -265,6 +265,23 @@
result = (yield subPrincipal.writeProperty(newProp))
returnValue(result)
+ @inlineCallbacks
+ def getDelegates(self, permission):
+
+ subPrincipalName = "calendar-proxy-%s" % (permission,)
+ subPrincipal = self.getChild(subPrincipalName)
+ if subPrincipal is None:
+ abort("No proxy subprincipal found for %s" % (self.resource,))
+
+ namespace, name = davxml.dav_namespace, "group-member-set"
+ prop = (yield subPrincipal.readProperty((namespace, name)))
+ result = []
+ for child in prop.children:
+ result.append(str(child))
+ returnValue(result)
+
+
+
def url(self):
return self.resource.url()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090418/25ff2001/attachment.html>
More information about the calendarserver-changes
mailing list