[CalendarServer-changes] [483]
CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/
directory
source_changes at macosforge.org
source_changes at macosforge.org
Wed Nov 15 18:37:38 PST 2006
Revision: 483
http://trac.macosforge.org/projects/calendarserver/changeset/483
Author: wsanchez at apple.com
Date: 2006-11-15 18:37:37 -0800 (Wed, 15 Nov 2006)
Log Message:
-----------
Implement groups()
Modified Paths:
--------------
CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py
CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py
Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py 2006-11-16 02:19:41 UTC (rev 482)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py 2006-11-16 02:37:37 UTC (rev 483)
@@ -89,6 +89,9 @@
else:
raise UnknownRecordTypeError("Unknown record type: %s" % (recordType,))
+ if recordFile is None:
+ return
+
for entry in recordFile.open():
if entry and entry[0] != "#":
shortName, rest = entry.split(":", 1)
@@ -102,6 +105,8 @@
if type(members) is str:
members = tuple(m.strip() for m in members.split(","))
+ assert recordType == "group" or not members, "Only group records may have members."
+
self.service = service
self.recordType = recordType
self.guid = None
@@ -114,8 +119,13 @@
for shortName in self._members:
yield self.service.recordWithShortName("user", shortName)
- def group(self):
- raise NotImplementedError()
+ def groups(self):
+ for groupName in self.service.listRecords("group"):
+ group = self.service.recordWithShortName("group", groupName)
+ for member in group.members():
+ if member == self:
+ yield group
+ continue
def verifyCredentials(self, credentials):
raise NotImplementedError()
Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py 2006-11-16 02:19:41 UTC (rev 482)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py 2006-11-16 02:37:37 UTC (rev 483)
@@ -108,13 +108,11 @@
"""
FileDirectoryRecord.groups()
"""
- service = FileDirectoryService(basicUserFile)
+ service = FileDirectoryService(basicUserFile, groupFile)
for user in users:
userRecord = service.recordWithShortName("user", user)
self.assertEquals(set(g.shortName for g in userRecord.groups()), set(g for g in groups if user in groups[g]))
- test_groupMemberships.todo = "unimplemented"
-
def test_verifyCredentials(self):
"""
FileDirectoryRecord.verifyCredentials()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061115/f6f60cde/attachment.html
More information about the calendarserver-changes
mailing list