[CalendarServer-changes] [9047] CalendarServer/trunk/calendarserver/tools/shell
source_changes at macosforge.org
source_changes at macosforge.org
Thu Apr 12 17:02:21 PDT 2012
Revision: 9047
http://trac.macosforge.org/projects/calendarserver/changeset/9047
Author: wsanchez at apple.com
Date: 2012-04-12 17:02:21 -0700 (Thu, 12 Apr 2012)
Log Message:
-----------
Use ListEntry class.
Modified Paths:
--------------
CalendarServer/trunk/calendarserver/tools/shell/cmd.py
CalendarServer/trunk/calendarserver/tools/shell/vfs.py
Modified: CalendarServer/trunk/calendarserver/tools/shell/cmd.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/shell/cmd.py 2012-04-12 23:49:04 UTC (rev 9046)
+++ CalendarServer/trunk/calendarserver/tools/shell/cmd.py 2012-04-13 00:02:21 UTC (rev 9047)
@@ -144,9 +144,9 @@
filter = lambda item: True
files = (
- self.listEntryToString(item)
- for item in (yield self.wd.list())
- if filter(item)
+ entry.toString()
+ for entry in (yield self.wd.list())
+ if filter(entry)
)
if len(tokens) == 0:
@@ -156,21 +156,7 @@
else:
returnValue(())
- @staticmethod
- def listEntryToString(entry):
- """
- Converts an entry returned by File.list() into a
- user-displayable string.
- """
- klass = entry[0]
- name = entry[1]
- if issubclass(klass, Folder):
- return "%s/" % (name,)
- else:
- return name
-
-
class Commands(CommandsBase):
"""
Data store commands.
@@ -398,14 +384,14 @@
multiple = len(targets) > 0
for target in targets:
- rows = (yield target.list())
+ entries = (yield target.list())
#
# FIXME: this can be ugly if, for example, there are zillions
# of entries to output. Paging would be good.
#
table = Table()
- for row in rows:
- table.addRow((self.listEntryToString(row),) + tuple(row[2:]))
+ for entry in entries:
+ table.addRow(entry.toFields())
if multiple:
self.terminal.write("%s:\n" % (target,))
Modified: CalendarServer/trunk/calendarserver/tools/shell/vfs.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/shell/vfs.py 2012-04-12 23:49:04 UTC (rev 9046)
+++ CalendarServer/trunk/calendarserver/tools/shell/vfs.py 2012-04-13 00:02:21 UTC (rev 9047)
@@ -65,8 +65,11 @@
def __str__(self):
return self.toString()
+ def isFolder(self):
+ return issubclass(self.fileClass, Folder)
+
def toString(self):
- if issubclass(self.fileClass, Folder):
+ if self.isFolder():
return "%s/" % (self.fileName,)
else:
return self.fileName
@@ -85,7 +88,7 @@
return self._fieldNames
def toFields(self):
- return (self.fields[fieldName] for fieldName in self.fieldNames)
+ return tuple(self.fields[fieldName] for fieldName in self.fieldNames)
class File(object):
@@ -114,7 +117,9 @@
return succeed("%s (%s)" % (self, self.__class__.__name__))
def list(self):
- return succeed((File, str(self)))
+ return succeed((
+ ListEntry(self.__class__, self.path[-1]),
+ ))
class Folder(File):
@@ -177,9 +182,9 @@
def list(self):
result = set()
for name in self._children:
- result.add((self._children[name].__class__, name))
+ result.add(ListEntry(self._children[name].__class__, name))
for name in self._childClasses:
- result.add((self._childClasses[name], name))
+ result.add(ListEntry(self._childClasses[name], name))
return succeed(result)
@@ -233,7 +238,7 @@
# FIXME: Add directory info (eg. name) to listing
for txn, home in (yield self.service.store.eachCalendarHome()):
- result.add((PrincipalHomeFolder, home.uid()))
+ result.add(ListEntry(PrincipalHomeFolder, home.uid()))
returnValue(result)
@@ -421,7 +426,7 @@
@inlineCallbacks
def list(self):
calendars = (yield self.home.calendars())
- returnValue(((CalendarFolder, c.name()) for c in calendars))
+ returnValue((ListEntry(CalendarFolder, c.name()) for c in calendars))
@inlineCallbacks
def describe(self):
@@ -562,8 +567,13 @@
@inlineCallbacks
def list(self):
(yield self.lookup())
- returnValue(((CalendarObject, self.uid, self.componentType, self.summary.replace("\n", " ")),))
+ returnValue((ListEntry(CalendarObject, self.uid, {
+ "Component Type": self.componentType,
+ "Summary": self.summary.replace("\n", " "),
+ }),))
+ list.fieldNames = ("Component Type", "Summary")
+
@inlineCallbacks
def text(self):
(yield self.lookup())
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120412/fe38b161/attachment.html>
More information about the calendarserver-changes
mailing list