[CalendarServer-changes] [7067] CalendarServer/trunk/calendarserver/platform/darwin/od
source_changes at macosforge.org
source_changes at macosforge.org
Tue Feb 22 10:00:16 PST 2011
Revision: 7067
http://trac.macosforge.org/projects/calendarserver/changeset/7067
Author: sagen at apple.com
Date: 2011-02-22 10:00:15 -0800 (Tue, 22 Feb 2011)
Log Message:
-----------
OpenDirectory framework methods should return list not generator to be compatible with PyOpenDirectory
Modified Paths:
--------------
CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory.py
CalendarServer/trunk/calendarserver/platform/darwin/od/test/test_opendirectory.py
Modified: CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory.py
===================================================================
--- CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory.py 2011-02-22 03:16:05 UTC (rev 7066)
+++ CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory.py 2011-02-22 18:00:15 UTC (rev 7067)
@@ -138,6 +138,7 @@
@return: C{list} containing a C{list} of C{str} (record name) and C{dict} attributes
for each record found, or C{None} otherwise.
"""
+ results = []
query, error = odframework.ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
directory.node,
recordType,
@@ -155,8 +156,10 @@
log.error(error)
raise ODError(error)
for record in records:
- yield recordToResult(record)
+ results.append(recordToResult(record))
+ return results
+
def queryRecordsWithAttribute_list(directory, attr, value, matchType, casei, recordType, attributes, count=0):
"""
List records in Open Directory matching specified attribute/value, and return key attributes for each one.
@@ -175,6 +178,7 @@
for each record found, or C{None} otherwise.
"""
+ results = []
query, error = odframework.ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
directory.node,
recordType,
@@ -192,7 +196,8 @@
log.error(error)
raise ODError(error)
for record in records:
- yield recordToResult(record)
+ results.append(recordToResult(record))
+ return results
def queryRecordsWithAttributes_list(directory, compound, casei, recordType, attributes, count=0):
@@ -210,6 +215,7 @@
@return: C{list} containing a C{list} of C{str} (record name) and C{dict} attributes
for each record found, or C{None} otherwise.
"""
+ results = []
query, error = odframework.ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
directory.node,
recordType,
@@ -227,7 +233,8 @@
log.error(error)
raise ODError(error)
for record in records:
- yield recordToResult(record)
+ results.append(recordToResult(record))
+ return results
def getUserRecord(directory, user):
Modified: CalendarServer/trunk/calendarserver/platform/darwin/od/test/test_opendirectory.py
===================================================================
--- CalendarServer/trunk/calendarserver/platform/darwin/od/test/test_opendirectory.py 2011-02-22 03:16:05 UTC (rev 7066)
+++ CalendarServer/trunk/calendarserver/platform/darwin/od/test/test_opendirectory.py 2011-02-22 18:00:15 UTC (rev 7067)
@@ -26,7 +26,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrGeneratedUID,
"9DC04A74-E6DD-11DF-9492-0800200C9A66",
@@ -35,7 +35,7 @@
dsattributes.kDSStdRecordTypeUsers,
None,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
# Local user:
if "odtestalbert" in recordNames:
@@ -126,12 +126,12 @@
def test_listAllRecordsWithAttributes_list_master(self):
directory = opendirectory.odInit("/LDAPv3/127.0.0.1")
- results = list(opendirectory.listAllRecordsWithAttributes_list(
+ results = opendirectory.listAllRecordsWithAttributes_list(
directory,
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
for recordName, info in setup_directory.masterUsers:
self.assertTrue(recordName in recordNames)
@@ -139,12 +139,12 @@
def test_listAllRecordsWithAttributes_list_local(self):
directory = opendirectory.odInit("/Local/Default")
- results = list(opendirectory.listAllRecordsWithAttributes_list(
+ results = opendirectory.listAllRecordsWithAttributes_list(
directory,
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
for recordName, info in setup_directory.localUsers:
self.assertTrue(recordName in recordNames)
@@ -154,7 +154,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrFirstName,
"betty",
@@ -163,7 +163,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestbetty" in recordNames)
@@ -171,7 +171,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrFirstName,
"betty",
@@ -185,7 +185,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestbetty" in recordNames)
@@ -193,7 +193,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrFirstName,
"Amand",
@@ -202,7 +202,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestamanda" in recordNames)
@@ -210,7 +210,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrFirstName,
"Amand",
@@ -224,7 +224,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestamanda" in recordNames)
@@ -232,7 +232,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrFirstName,
"mand",
@@ -241,7 +241,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestamanda" in recordNames)
@@ -249,7 +249,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrFirstName,
"mand",
@@ -263,7 +263,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestamanda" in recordNames)
@@ -271,7 +271,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrLastName,
"test",
@@ -280,7 +280,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
for recordName, info in setup_directory.masterUsers:
self.assertTrue(recordName in recordNames)
@@ -291,7 +291,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrLastName,
"test",
@@ -305,7 +305,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
for recordName, info in setup_directory.masterUsers:
self.assertTrue(recordName in recordNames)
@@ -316,7 +316,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrLastName,
"tes",
@@ -325,7 +325,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
for recordName, info in setup_directory.masterUsers:
self.assertTrue(recordName in recordNames)
@@ -336,7 +336,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrLastName,
"tes",
@@ -350,7 +350,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
for recordName, info in setup_directory.masterUsers:
self.assertTrue(recordName in recordNames)
@@ -361,7 +361,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrLastName,
"es",
@@ -370,7 +370,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
for recordName, info in setup_directory.masterUsers:
self.assertTrue(recordName in recordNames)
@@ -381,7 +381,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrLastName,
"es",
@@ -395,7 +395,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
for recordName, info in setup_directory.masterUsers:
self.assertTrue(recordName in recordNames)
@@ -407,7 +407,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDSNAttrEMailAddress,
"aman",
@@ -416,7 +416,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestamanda" in recordNames)
@@ -426,7 +426,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDSNAttrEMailAddress,
"aman",
@@ -440,7 +440,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestamanda" in recordNames)
@@ -450,7 +450,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrGeneratedUID,
"9DC04A70-E6DD-11DF-9492-0800200C9A66",
@@ -459,7 +459,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
# OD Master user:
self.assertTrue("odtestamanda" in recordNames)
@@ -468,7 +468,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrGeneratedUID,
"9DC04A70-E6DD-11DF-9492-0800200C9A66",
@@ -482,7 +482,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
# OD Master user:
self.assertTrue("odtestamanda" in recordNames)
@@ -492,7 +492,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrGeneratedUID,
"9DC04A74-E6DD-11DF-9492-0800200C9A66",
@@ -501,7 +501,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
# Local user:
self.assertTrue("odtestalbert" in recordNames)
@@ -511,7 +511,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrGeneratedUID,
"9DC04A74-E6DD-11DF-9492-0800200C9A66",
@@ -525,7 +525,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
# Local user:
self.assertTrue("odtestalbert" in recordNames)
@@ -536,7 +536,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDSNAttrRecordName,
"odtestgrouptop",
@@ -548,20 +548,20 @@
dsattributes.kDSNAttrNestedGroups,
],
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestgrouptop" in recordNames)
groupMembers = results[0][1][dsattributes.kDSNAttrGroupMembers]
self.assertEquals(
groupMembers,
- setup_directory.masterGroups[0][1][dsattributes.kDSNAttrGroupMembers]
+ setup_directory.masterGroups[1][1][dsattributes.kDSNAttrGroupMembers]
)
def test_queryRecordsWithAttribute_list_groupMembers_recordName_local(self):
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDSNAttrRecordName,
"odtestsubgroupa",
@@ -573,7 +573,7 @@
dsattributes.kDSNAttrNestedGroups,
],
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestsubgroupa" in recordNames)
groupMembers = results[0][1][dsattributes.kDSNAttrGroupMembers]
@@ -587,7 +587,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrGeneratedUID,
"6C6CD280-E6E3-11DF-9492-0800200C9A66",
@@ -599,20 +599,20 @@
dsattributes.kDSNAttrNestedGroups,
],
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestgrouptop" in recordNames)
groupMembers = results[0][1][dsattributes.kDSNAttrGroupMembers]
self.assertEquals(
groupMembers,
- setup_directory.masterGroups[0][1][dsattributes.kDSNAttrGroupMembers]
+ setup_directory.masterGroups[1][1][dsattributes.kDSNAttrGroupMembers]
)
def test_queryRecordsWithAttribute_list_groupMembers_guid_local(self):
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrGeneratedUID,
"6C6CD281-E6E3-11DF-9492-0800200C9A66",
@@ -624,7 +624,7 @@
dsattributes.kDSNAttrNestedGroups,
],
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestsubgroupa" in recordNames)
groupMembers = results[0][1][dsattributes.kDSNAttrGroupMembers]
@@ -638,7 +638,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDSNAttrGroupMembers,
"9DC04A70-E6DD-11DF-9492-0800200C9A66",
@@ -649,12 +649,12 @@
dsattributes.kDS1AttrGeneratedUID,
],
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertTrue("odtestgrouptop" in recordNames)
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDSNAttrNestedGroups,
"9DC04A70-E6DD-11DF-9492-0800200C9A66",
@@ -665,7 +665,7 @@
dsattributes.kDS1AttrGeneratedUID,
],
count=0
- ))
+ )
recordNames = [x[0] for x in results]
self.assertEquals([], recordNames)
@@ -682,7 +682,7 @@
compound = dsquery.expression(dsquery.expression.OR, expressions).generate()
- results = list(opendirectory.queryRecordsWithAttributes_list(
+ results = opendirectory.queryRecordsWithAttributes_list(
directory,
compound,
True,
@@ -694,7 +694,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
# Master user:
self.assertTrue("odtestamanda" in recordNames)
@@ -712,7 +712,7 @@
compound = dsquery.expression(dsquery.expression.OR, expressions).generate()
- results = list(opendirectory.queryRecordsWithAttributes_list(
+ results = opendirectory.queryRecordsWithAttributes_list(
directory,
compound,
True,
@@ -724,7 +724,7 @@
],
USER_ATTRIBUTES,
count=0
- ))
+ )
recordNames = [x[0] for x in results]
# Local user:
self.assertTrue("odtestbill" in recordNames)
@@ -799,7 +799,7 @@
directory = opendirectory.odInit("/Search")
- results = list(opendirectory.queryRecordsWithAttribute_list(
+ results = opendirectory.queryRecordsWithAttribute_list(
directory,
dsattributes.kDS1AttrGeneratedUID,
"CA795296-D77A-4E09-A72F-869920A3D284",
@@ -808,7 +808,7 @@
dsattributes.kDSStdRecordTypeUsers,
USER_ATTRIBUTES,
count=0
- ))
+ )
result = results[0][1]
self.assertEquals(
result[dsattributes.kDS1AttrDistinguishedName],
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110222/568470a6/attachment-0001.html>
More information about the calendarserver-changes
mailing list