[CalendarServer-changes] [9156] CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Thu Apr 19 15:06:20 PDT 2012
Revision: 9156
http://trac.macosforge.org/projects/calendarserver/changeset/9156
Author: gaya at apple.com
Date: 2012-04-19 15:06:20 -0700 (Thu, 19 Apr 2012)
Log Message:
-----------
add group record query
Modified Paths:
--------------
CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/xmldirectorybacker.py
CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/stdconfig.py
Modified: CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/xmldirectorybacker.py
===================================================================
--- CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/xmldirectorybacker.py 2012-04-19 22:05:01 UTC (rev 9155)
+++ CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/xmldirectorybacker.py 2012-04-19 22:06:20 UTC (rev 9156)
@@ -44,7 +44,7 @@
self.log_debug("_actuallyConfigure: params=%s" % (params,))
defaults = {
- "recordTypes": (self.recordType_users,),
+ "recordTypes": (self.recordType_users, self.recordType_groups, ),
"rdnSchema": {
self.recordType_users : {
"vcardPropToDirRecordAttrMap" : {
@@ -71,6 +71,33 @@
"emailAddresses" : dsattributes.kDSNAttrEMailAddress,
},
},
+ self.recordType_groups : {
+ "vcardPropToDirRecordAttrMap" : {
+ "FN" : (
+ "fullName",
+ "shortNames",
+ "firstName",
+ "lastName",
+ ),
+ "N" : (
+ "fullName",
+ "shortNames",
+ "firstName",
+ "lastName",
+ ),
+ "EMAIL" : "emailAddresses",
+ "UID" : "guid",
+ "X-ADDRESSBOOKSERVER-MEMBER" : "members",
+ },
+ "dirRecordAttrToDSAttrMap" : {
+ "guid" : dsattributes.kDS1AttrGeneratedUID,
+ "fullName" : dsattributes.kDS1AttrDistinguishedName,
+ "firstName" : dsattributes.kDS1AttrFirstName,
+ "lastName" : dsattributes.kDS1AttrLastName,
+ "emailAddresses" : dsattributes.kDSNAttrEMailAddress,
+ "members" : dsattributes.kDSNAttrGroupMembers,
+ },
+ },
},
"maxQueryResults":0, # max records returned
"sortResults":True, # sort results by UID
@@ -83,10 +110,10 @@
if not key in params:
params[key] = defaults[key]
return params
-
+
params = addDefaults(params, defaults)
self.log_debug("_actuallyConfigure after addDefaults: params=%s" % (params,))
-
+
# super does not like these extra params
directoryBackedAddressBook=params["directoryBackedAddressBook"]
#del params["directoryBackedAddressBook"]
@@ -98,8 +125,8 @@
del params["sortResults"]
implementNot=params["implementNot"]
del params["implementNot"]
-
+
assert directoryBackedAddressBook is not None
self.directoryBackedAddressBook = directoryBackedAddressBook
@@ -243,17 +270,21 @@
dsRecordAttributes = {}
for attr in dirRecordAttrToDSAttrMap:
try:
- value = getattr(xmlDirectoryRecord, attr)
- dsRecordAttributes[dirRecordAttrToDSAttrMap[attr]] = value
+ if attr == "members":
+ value = [member.guid for member in xmlDirectoryRecord.members()]
+ else:
+ value = getattr(xmlDirectoryRecord, attr)
+ if value:
+ dsRecordAttributes[dirRecordAttrToDSAttrMap[attr]] = value
except AttributeError:
- # No value
+ self.log_info("Could not get attribute %s from record %s" % (attr, xmlDirectoryRecord, e,))
pass
return dsRecordAttributes
result = None
dsRecordAttributes = dsRecordAttributesFromDirectoryRecord( xmlDirectoryRecord )
try:
- result = ABDirectoryQueryResult(self.directoryBackedAddressBook, dsRecordAttributes,)
+ result = ABDirectoryQueryResult(self.directoryBackedAddressBook, dsRecordAttributes, kind=kind)
except:
traceback.print_exc()
self.log_info("Could not get vcard for %s" % (xmlDirectoryRecord,))
Modified: CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/stdconfig.py
===================================================================
--- CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/stdconfig.py 2012-04-19 22:05:01 UTC (rev 9155)
+++ CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/stdconfig.py 2012-04-19 22:06:20 UTC (rev 9156)
@@ -209,7 +209,7 @@
directoryAddressBookBackingServiceDefaultParams = {
"twistedcaldav.directory.xmldirectorybacker.XMLDirectoryBackingService": {
"xmlFile": "accounts.xml",
- "recordTypes": ("users",),
+ "recordTypes": ("users", "groups"),
"statSeconds" : 15,
},
"twistedcaldav.directory.opendirectorybacker.OpenDirectoryBackingService": {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120419/08903df7/attachment-0001.html>
More information about the calendarserver-changes
mailing list