[CalendarServer-changes] [13523] twext/trunk/twext/who
source_changes at macosforge.org
source_changes at macosforge.org
Wed May 21 12:56:54 PDT 2014
Revision: 13523
http://trac.calendarserver.org//changeset/13523
Author: sagen at apple.com
Date: 2014-05-21 12:56:54 -0700 (Wed, 21 May 2014)
Log Message:
-----------
Adds locations/resources to OD constants
Modified Paths:
--------------
twext/trunk/twext/who/opendirectory/__init__.py
twext/trunk/twext/who/opendirectory/_constants.py
twext/trunk/twext/who/opendirectory/_service.py
twext/trunk/twext/who/opendirectory/test/test_service.py
twext/trunk/twext/who/xml.py
Modified: twext/trunk/twext/who/opendirectory/__init__.py
===================================================================
--- twext/trunk/twext/who/opendirectory/__init__.py 2014-05-21 15:07:02 UTC (rev 13522)
+++ twext/trunk/twext/who/opendirectory/__init__.py 2014-05-21 19:56:54 UTC (rev 13523)
@@ -25,6 +25,7 @@
"OpenDirectoryDataError",
"DirectoryService",
"NoQOPDigestCredentialFactory",
+ "RecordType",
]
@@ -34,3 +35,4 @@
DirectoryService,
NoQOPDigestCredentialFactory,
)
+from ._constants import RecordType
Modified: twext/trunk/twext/who/opendirectory/_constants.py
===================================================================
--- twext/trunk/twext/who/opendirectory/_constants.py 2014-05-21 15:07:02 UTC (rev 13522)
+++ twext/trunk/twext/who/opendirectory/_constants.py 2014-05-21 19:56:54 UTC (rev 13523)
@@ -32,6 +32,21 @@
# idirectory constants
#
+class RecordType(Names):
+
+ user = NamedConstant()
+ user.description = u"user"
+
+ group = NamedConstant()
+ group.description = u"group"
+
+ location = NamedConstant()
+ location.description = u"location"
+
+ resource = NamedConstant()
+ resource.description = u"resource"
+
+
class FieldName(Names):
searchPath = NamedConstant()
searchPath.description = u"search path"
@@ -71,6 +86,12 @@
group = ValueConstant(u"dsRecTypeStandard:Groups")
group.recordType = BaseRecordType.group
+ location = ValueConstant(u"dsRecTypeStandard:Locations")
+ location.recordType = RecordType.location
+
+ resource = ValueConstant(u"dsRecTypeStandard:Resources")
+ resource.recordType = RecordType.resource
+
# accessControl = ValueConstant(u"dsRecTypeStandard:AccessControls")
# afpServer = ValueConstant(u"dsRecTypeStandard:AFPServer")
# userAlias = ValueConstant(u"dsRecTypeStandard:AFPUserAliases")
@@ -92,7 +113,6 @@
# hostServices = ValueConstant(u"dsRecTypeStandard:HostServices")
# host = ValueConstant(u"dsRecTypeStandard:Hosts")
# ldapServer = ValueConstant(u"dsRecTypeStandard:LDAPServer")
- # location = ValueConstant(u"dsRecTypeStandard:Locations")
# machine = ValueConstant(u"dsRecTypeStandard:Machines")
# map = ValueConstant(u"dsRecTypeStandard:Maps")
# meta = ValueConstant(u"dsRecTypeStandard:AppleMetaRecord")
@@ -115,7 +135,6 @@
# printer = ValueConstant(u"dsRecTypeStandard:Printers")
# protocol = ValueConstant(u"dsRecTypeStandard:Protocols")
# qtsServer = ValueConstant(u"dsRecTypeStandard:QTSServer")
- # resource = ValueConstant(u"dsRecTypeStandard:Resources")
# rpc = ValueConstant(u"dsRecTypeStandard:RPC")
# smbServer = ValueConstant(u"dsRecTypeStandard:SMBServer")
# server = ValueConstant(u"dsRecTypeStandard:Server")
Modified: twext/trunk/twext/who/opendirectory/_service.py
===================================================================
--- twext/trunk/twext/who/opendirectory/_service.py 2014-05-21 15:07:02 UTC (rev 13522)
+++ twext/trunk/twext/who/opendirectory/_service.py 2014-05-21 19:56:54 UTC (rev 13523)
@@ -400,9 +400,9 @@
"""
if local:
+ node = self.localNode
+ else:
node = self.node
- else:
- node = self.localNode
queryString, recordTypes = (
self._queryStringAndRecordTypesFromExpression(expression)
@@ -526,9 +526,9 @@
queryValue = unicode(expression.fieldValue)
if local:
+ node = self.localNode
+ else:
node = self.node
- else:
- node = self.localNode
query, error = ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
node,
Modified: twext/trunk/twext/who/opendirectory/test/test_service.py
===================================================================
--- twext/trunk/twext/who/opendirectory/test/test_service.py 2014-05-21 15:07:02 UTC (rev 13522)
+++ twext/trunk/twext/who/opendirectory/test/test_service.py 2014-05-21 19:56:54 UTC (rev 13523)
@@ -78,7 +78,14 @@
queryString, recordTypes = service._queryStringAndRecordTypesFromExpression(expression)
self.assertEquals(
recordTypes,
- set([u"dsRecTypeStandard:Groups", u"dsRecTypeStandard:Users"])
+ set(
+ [
+ u"dsRecTypeStandard:Users",
+ u"dsRecTypeStandard:Groups",
+ u"dsRecTypeStandard:Locations",
+ u"dsRecTypeStandard:Resources",
+ ]
+ )
)
self.assertEquals(
queryString,
@@ -101,7 +108,14 @@
queryString, recordTypes = service._queryStringAndRecordTypesFromExpression(expression)
self.assertEquals(
recordTypes,
- set([u"dsRecTypeStandard:Groups", u"dsRecTypeStandard:Users"])
+ set(
+ [
+ u"dsRecTypeStandard:Users",
+ u"dsRecTypeStandard:Groups",
+ u"dsRecTypeStandard:Locations",
+ u"dsRecTypeStandard:Resources",
+ ]
+ )
)
self.assertEquals(
queryString,
@@ -125,7 +139,14 @@
queryString, recordTypes = service._queryStringAndRecordTypesFromExpression(expression)
self.assertEquals(
recordTypes,
- set([u"dsRecTypeStandard:Groups", u"dsRecTypeStandard:Users"])
+ set(
+ [
+ u"dsRecTypeStandard:Users",
+ u"dsRecTypeStandard:Groups",
+ u"dsRecTypeStandard:Locations",
+ u"dsRecTypeStandard:Resources",
+ ]
+ )
)
self.assertEquals(
queryString,
@@ -152,7 +173,12 @@
queryString, recordTypes = service._queryStringAndRecordTypesFromExpression(expression)
self.assertEquals(
recordTypes,
- set([u"dsRecTypeStandard:Groups", u"dsRecTypeStandard:Users"])
+ set(
+ [
+ u"dsRecTypeStandard:Groups", u"dsRecTypeStandard:Users",
+ u"dsRecTypeStandard:Locations", u"dsRecTypeStandard:Resources",
+ ]
+ )
)
self.assertEquals(
queryString,
@@ -199,7 +225,14 @@
queryString, recordTypes = service._queryStringAndRecordTypesFromExpression(expression)
self.assertEquals(
recordTypes,
- set([u"dsRecTypeStandard:Groups", u"dsRecTypeStandard:Users"])
+ set(
+ [
+ u"dsRecTypeStandard:Users",
+ u"dsRecTypeStandard:Groups",
+ u"dsRecTypeStandard:Locations",
+ u"dsRecTypeStandard:Resources",
+ ]
+ )
)
self.assertEquals(
queryString,
@@ -233,7 +266,14 @@
queryString, recordTypes = service._queryStringAndRecordTypesFromExpression(expression)
self.assertEquals(
recordTypes,
- set([u"dsRecTypeStandard:Groups", u"dsRecTypeStandard:Users"])
+ set(
+ [
+ u"dsRecTypeStandard:Users",
+ u"dsRecTypeStandard:Groups",
+ u"dsRecTypeStandard:Locations",
+ u"dsRecTypeStandard:Resources",
+ ]
+ )
)
self.assertEquals(
queryString,
@@ -338,8 +378,17 @@
Operand.OR
)
queryString, recordTypes = service._queryStringAndRecordTypesFromExpression(expression)
- self.assertEquals(set(recordTypes), set([u"dsRecTypeStandard:Groups"]))
self.assertEquals(
+ set(recordTypes),
+ set(
+ [
+ u"dsRecTypeStandard:Groups",
+ u"dsRecTypeStandard:Locations",
+ u"dsRecTypeStandard:Resources",
+ ]
+ )
+ )
+ self.assertEquals(
queryString,
u"("
u"|(dsAttrTypeStandard:RecordName=xxxxx)"
Modified: twext/trunk/twext/who/xml.py
===================================================================
--- twext/trunk/twext/who/xml.py 2014-05-21 15:07:02 UTC (rev 13522)
+++ twext/trunk/twext/who/xml.py 2014-05-21 19:56:54 UTC (rev 13523)
@@ -495,6 +495,8 @@
for value in values:
subNode = XMLElement(tag)
+ if isinstance(value, UUID):
+ value = str(value)
subNode.text = value
recordNode.append(subNode)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140521/d47bede9/attachment-0001.html>
More information about the calendarserver-changes
mailing list