[CalendarServer-changes] [13985] twext/trunk/twext/who/index.py
source_changes at macosforge.org
source_changes at macosforge.org
Sat Sep 20 07:14:26 PDT 2014
Revision: 13985
http://trac.calendarserver.org//changeset/13985
Author: cdaboo at apple.com
Date: 2014-09-20 07:14:26 -0700 (Sat, 20 Sep 2014)
Log Message:
-----------
Add/remove group member APIs.
Modified Paths:
--------------
twext/trunk/twext/who/index.py
Modified: twext/trunk/twext/who/index.py
===================================================================
--- twext/trunk/twext/who/index.py 2014-09-20 14:14:07 UTC (rev 13984)
+++ twext/trunk/twext/who/index.py 2014-09-20 14:14:26 UTC (rev 13985)
@@ -38,7 +38,7 @@
##
-# Data type extentions
+# Data type extensions
##
class FieldName(Names):
@@ -61,7 +61,7 @@
Each indexed field has a top-level key in the index and in turn contains
a dictionary in which keys are field values, and values are directory
- records which have a matching field value for the cooresponding key::
+ records which have a matching field value for the corresponding key:
{
<FieldName1>: {
@@ -386,8 +386,20 @@
returnValue(members)
+ def addMembers(self, memberRecords):
+ oldlen = len(getattr(self, "memberUIDs", ()))
+ self.fields[FieldName.memberUIDs] = sorted(list(set(getattr(self, "memberUIDs", ())) | set([r.uid for r in memberRecords])))
+ return succeed(oldlen < len(self.memberUIDs))
+
+
+ def removeMembers(self, memberRecords):
+ oldlen = len(getattr(self, "memberUIDs", ()))
+ self.fields[FieldName.memberUIDs] = sorted(list(set(getattr(self, "memberUIDs", ())) - set([r.uid for r in memberRecords])))
+ return succeed(oldlen > len(self.memberUIDs))
+
+
def setMembers(self, memberRecords):
- self.memberUIDs = set([r.uid for r in memberRecords])
+ self.fields[FieldName.memberUIDs] = set([r.uid for r in memberRecords])
return succeed(None)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140920/1f93ce9c/attachment.html>
More information about the calendarserver-changes
mailing list