[CalendarServer-changes] [6721] CalendarServer/trunk/calendarserver/platform/darwin/od/ setup_directory.py
source_changes at macosforge.org
source_changes at macosforge.org
Mon Jan 10 10:30:45 PST 2011
Revision: 6721
http://trac.macosforge.org/projects/calendarserver/changeset/6721
Author: sagen at apple.com
Date: 2011-01-10 10:30:40 -0800 (Mon, 10 Jan 2011)
Log Message:
-----------
Add test accounts to calendar and addressbook SACL groups
Modified Paths:
--------------
CalendarServer/trunk/calendarserver/platform/darwin/od/setup_directory.py
Modified: CalendarServer/trunk/calendarserver/platform/darwin/od/setup_directory.py
===================================================================
--- CalendarServer/trunk/calendarserver/platform/darwin/od/setup_directory.py 2011-01-07 00:58:30 UTC (rev 6720)
+++ CalendarServer/trunk/calendarserver/platform/darwin/od/setup_directory.py 2011-01-10 18:30:40 UTC (rev 6721)
@@ -26,6 +26,9 @@
masterNodeName = "/LDAPv3/127.0.0.1"
localNodeName = "/Local/Default"
+saclGroupNodeName = "/Local/Default"
+saclGroupNames = ("com.apple.access_calendar", "com.apple.access_addressbook")
+
masterUsers = [
(
"odtestamanda",
@@ -245,7 +248,9 @@
}
+
session = odframework.ODSession.defaultSession()
+ userRecords = []
for nodeName, info in userInfo.iteritems():
@@ -290,6 +295,9 @@
else:
print "User %s already exists" % (recordName,)
+ if record is not None:
+ userRecords.append(record)
+
print "Creating groups within %s:" % (nodeName,)
for recordName, attrs in groups:
record = lookupRecordName(node, dsattributes.kDSStdRecordTypeGroups, recordName)
@@ -305,7 +313,30 @@
print
+ # Populate SACL groups
+ node, error = odframework.ODNode.nodeWithSession_name_error_(session, saclGroupNodeName, None)
+ result, error = node.setCredentialsWithRecordType_recordName_password_error_(
+ dsattributes.kDSStdRecordTypeUsers,
+ userInfo[saclGroupNodeName]["user"],
+ userInfo[saclGroupNodeName]["password"],
+ None
+ )
+ if not error:
+ for saclGroupName in saclGroupNames:
+ saclGroupRecord = lookupRecordName(node, dsattributes.kDSStdRecordTypeGroups, saclGroupName)
+ if saclGroupRecord:
+ print "Populating %s SACL group:" % (saclGroupName,)
+ for userRecord in userRecords:
+ details, error = userRecord.recordDetailsForAttributes_error_(None, None)
+ recordName = details.get(dsattributes.kDSNAttrRecordName, [None])[0]
+ result, error = saclGroupRecord.isMemberRecord_error_(userRecord, None)
+ if result:
+ print "%s is already in the %s SACL group" % (recordName, saclGroupName)
+ else:
+ result, error = saclGroupRecord.addMemberRecord_error_(userRecord, None)
+ print "Adding %s to the %s SACL group" % (recordName, saclGroupName)
+ print
class ODError(Exception):
def __init__(self, error):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110110/e5ec249b/attachment.html>
More information about the calendarserver-changes
mailing list