From 748ef2b230588c66e240ceb93471b0ceaeca1f8e Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Fri, 1 Jun 2012 10:54:18 -0400 Subject: Refactor DisplayBase.run() to make it easier to override separate parts in subclasses. Rename get_data() to take_action() so subclasses that do something other than query for values have a clear place to override. --- cliff/show.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'cliff/show.py') diff --git a/cliff/show.py b/cliff/show.py index 34af0b4..39e94b1 100644 --- a/cliff/show.py +++ b/cliff/show.py @@ -24,13 +24,12 @@ class ShowOne(DisplayCommandBase): return 'table' @abc.abstractmethod - def get_data(self, parsed_args): + def take_action(self, parsed_args): """Return a two-part tuple with a tuple of column names and a tuple of values. """ - def run(self, parsed_args): - column_names, data = self.get_data(parsed_args) + def produce_output(self, parsed_args, column_names, data): if not parsed_args.columns: columns_to_include = column_names else: @@ -40,6 +39,8 @@ class ShowOne(DisplayCommandBase): selector = [(c in columns_to_include) for c in column_names] data = list(itertools.compress(data, selector)) - formatter = self.formatters[parsed_args.formatter] - formatter.emit_one(columns_to_include, data, self.app.stdout, parsed_args) + self.formatter.emit_one(columns_to_include, + data, + self.app.stdout, + parsed_args) return 0 -- cgit v1.2.1