[CalendarServer-changes] [9037] CalendarServer/trunk/calendarserver/tools/shell/cmd.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Apr 11 17:05:58 PDT 2012
Revision: 9037
http://trac.macosforge.org/projects/calendarserver/changeset/9037
Author: wsanchez at apple.com
Date: 2012-04-11 17:05:58 -0700 (Wed, 11 Apr 2012)
Log Message:
-----------
Add print_principal
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-11 23:57:27 UTC (rev 9036)
+++ CalendarServer/trunk/calendarserver/tools/shell/cmd.py 2012-04-12 00:05:58 UTC (rev 9037)
@@ -35,7 +35,7 @@
from calendarserver.tools.tables import Table
from calendarserver.tools.shell.vfs import Folder, RootFolder
-from calendarserver.tools.shell.directory import findRecords, summarizeRecords
+from calendarserver.tools.shell.directory import findRecords, summarizeRecords, recordInfo
class UsageError(Exception):
@@ -362,11 +362,11 @@
usage: cd [folder]
"""
- if not tokens:
+ if tokens:
+ dirname = tokens.pop(0)
+ else:
return
- dirname = tokens.pop(0)
-
if tokens:
raise UnknownArguments(tokens)
@@ -464,16 +464,45 @@
if not tokens:
raise UsageError("No search term")
- records = (yield findRecords(self.protocol.service.directory, tokens))
+ directory = self.protocol.service.directory
+ records = (yield findRecords(directory, tokens))
+
if records:
- self.terminal.write((yield summarizeRecords(self.protocol.service.directory, records)))
+ self.terminal.write((yield summarizeRecords(directory, records)))
else:
self.terminal.write("No matching principals found.")
self.terminal.nextLine()
+ @inlineCallbacks
+ def cmd_print_principal(self, tokens):
+ """
+ Print information about a principal
+
+ usage: print_principal uid
+ """
+ if tokens:
+ uid = tokens.pop(0)
+ else:
+ raise UsageError("UID required")
+
+ if tokens:
+ raise UnknownArguments(tokens)
+
+ directory = self.protocol.service.directory
+
+ record = directory.recordWithUID(uid)
+
+ if record:
+ self.terminal.write((yield recordInfo(directory, record)))
+ else:
+ self.terminal.write("No such principal.")
+
+ self.terminal.nextLine()
+
+
#
# Python prompt, for the win
#
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120411/ddb248d1/attachment-0001.html>
More information about the calendarserver-changes
mailing list