[CalendarServer-changes] [9025] CalendarServer/trunk/calendarserver/tools/shell/cmd.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Apr 10 17:11:58 PDT 2012


Revision: 9025
          http://trac.macosforge.org/projects/calendarserver/changeset/9025
Author:   wsanchez at apple.com
Date:     2012-04-10 17:11:58 -0700 (Tue, 10 Apr 2012)
Log Message:
-----------
find_principals works

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/tools/shell/cmd.py

Modified: CalendarServer/trunk/calendarserver/tools/shell/cmd.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/shell/cmd.py	2012-04-10 23:56:46 UTC (rev 9024)
+++ CalendarServer/trunk/calendarserver/tools/shell/cmd.py	2012-04-11 00:11:58 UTC (rev 9025)
@@ -448,9 +448,9 @@
     # Principal tools
     #
     @inlineCallbacks
-    def cmd_find_principal(self, tokens):
+    def cmd_find_principals(self, tokens):
         """
-        Search for a principal
+        Search for matching principals
 
         usage: find_principal term
         """
@@ -463,12 +463,14 @@
             raise UnknownArguments(tokens)
 
         searchFieldNames = ("fullName", "firstName", "lastName", "emailAddresses")
-
-        records = sorted(tuple((yield self.protocol.service.directory.recordsMatchingFields(
+        searchFields = tuple(
             (fieldName, term, True, "contains")
             for fieldName in searchFieldNames
-        ))), key=operator.attrgetter("fullName"))
+        )
 
+        records = (yield self.protocol.service.directory.recordsMatchingFields(searchFields))
+        records = sorted(tuple(records), key=operator.attrgetter("fullName"))
+
         if records:
             table = Table()
 
@@ -480,9 +482,9 @@
                 "Full Name",
             ))
 
-            def first(items):
+            def formatItems(items):
                 if items:
-                    return items[0]
+                    return ", ".join(items)
                 else:
                     return None
 
@@ -490,17 +492,15 @@
                 table.addRow((
                     record.uid,
                     record.recordType,
-                    first(record.shortNames),
-                    first(record.emailAddresses),
+                    formatItems(record.shortNames),
+                    formatItems(record.emailAddresses),
                     record.fullName,
                 ))
 
             table.printTable(self.terminal)
             self.terminal.nextLine()
 
-    cmd_find_principal.hidden = "Not done yet"
 
-
     #
     # Python prompt, for the win
     #
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120410/2093a627/attachment-0001.html>


More information about the calendarserver-changes mailing list