[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