[CalendarServer-changes] [376] CalendarServer/trunk/twistedcaldav/directory

source_changes at macosforge.org source_changes at macosforge.org
Mon Nov 6 19:07:30 PST 2006


Revision: 376
          http://trac.macosforge.org/projects/calendarserver/changeset/376
Author:   wsanchez at apple.com
Date:     2006-11-06 19:07:30 -0800 (Mon, 06 Nov 2006)

Log Message:
-----------
userWithShortName -> recordWithShortName

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
    CalendarServer/trunk/twistedcaldav/directory/idirectory.py

Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2006-11-07 03:06:20 UTC (rev 375)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2006-11-07 03:07:30 UTC (rev 376)
@@ -26,6 +26,7 @@
 ]
 
 import opendirectory
+import dsattributes
 
 from twistedcaldav.directory.directory import DirectoryService, DirectoryRecord
 
@@ -41,7 +42,7 @@
         self._directory = directory
 
     def recordTypes(self):
-        return ("users", "groups", "resources")
+        return ("user", "group", "resource")
 
     def listRecords(self, recordType):
         def makeRecord(shortName, guid, lastModified, principalURI):
@@ -63,32 +64,39 @@
                 fullName = None,
             )
 
-        if recordType == "users":
+        if recordType == "user":
             for data in opendirectory.listUsers(self._directory):
                 yield makeRecord(*data)
             return
 
-        if recordType == "groups":
+        if recordType == "group":
             for data in opendirectory.listGroups(self._directory):
                 yield makeRecord(*data)
             return
 
-        if recordType == "resources":
+        if recordType == "resource":
             for data in opendirectory.listResources(self._directory):
                 yield makeRecord(*data)
             return
 
         raise AssertionError("Unknown Open Directory record type: %s" % (recordType,))
 
-    def userWithShortName(shortName):
-        result = opendirectory.listUsersWithAttributes(self._directory, [shortName])
-        if shortName not in result:
-            return None
-        result = result[shortName]
+    def recordWithShortName(self, recordType, shortName):
+        if recordType == "user":
+            result = opendirectory.listUsersWithAttributes(self._directory, [shortName])
+            if shortName not in result:
+                return None
+            result = result[shortName]
+        elif recordType == "group":
+            result = opendirectory.groupAttributes(self._directory, shortName)
+        elif recordType == "resource":
+            result = opendirectory.resourceAttributes(self._directory, shortName)
+        else:
+            raise ValueError("Unknown record type: %s" % (recordType,))
 
         return OpenDirectoryRecord(
             directory = self,
-            recordType = "user",
+            recordType = recordType,
             guid = result[dsattributes.attrGUID],
             shortName = shortName,
             fullName = result[dsattributes.attrRealName],

Modified: CalendarServer/trunk/twistedcaldav/directory/idirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/idirectory.py	2006-11-07 03:06:20 UTC (rev 375)
+++ CalendarServer/trunk/twistedcaldav/directory/idirectory.py	2006-11-07 03:07:30 UTC (rev 376)
@@ -43,11 +43,12 @@
         @return: an iterable of records of the given type.
         """
 
-    def userWithShortName(shortName):
+    def recordWithShortName(recordType, shortName):
         """
-        @param short_name: the short name of the user to look up.
+        @param recordType: the type of the record to look up.
+        @param shortName: the short name of the record to look up.
         @return: an L{IDirectoryRecord} provider with the given short name, or
-            C{None} of no such user exists.
+            C{None} of no such record exists.
         """
 
 class IDirectoryRecord(Interface):

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061106/0914306e/attachment.html


More information about the calendarserver-changes mailing list