From 2d1562d951e763fed71fe60e77cc9921be9abdc9 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 31 Dec 2009 15:33:39 -0500 Subject: Use fragment in base command completion + command io fixups. --- libbe/command/base.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'libbe/command') diff --git a/libbe/command/base.py b/libbe/command/base.py index 357940f..2f0ccc6 100644 --- a/libbe/command/base.py +++ b/libbe/command/base.py @@ -294,7 +294,7 @@ class Command (object): if argument == None: ret = ['--%s' % o.name for o in self.options] if len(self.args) > 0 and self.args[0].completion_callback != None: - ret.extend(self.args[0].completion_callback(self, argument)) + ret.extend(self.args[0].completion_callback(self, argument, fragment)) return ret elif argument.completion_callback != None: # finish a particular argument @@ -486,12 +486,18 @@ class UserInterface (object): raise NotImplementedError def run(self, command, options=None, args=None): - command.ui = self - self.io.setup_command(command) - self.storage_callbacks.setup_command(command) + self.setup_command(command) + return command.run(options, args) + + def setup_command(self, command): + if command.ui == None: + command.ui = self + if self.io != None: + self.io.setup_command(command) + if self.storage_callbacks != None: + self.storage_callbacks.setup_command(command) command.restrict_file_access = self.restrict_file_access command._get_user_id = self._get_user_id - return command.run(options, args) def _get_user_id(self): """Callback for use by commands that need it.""" -- cgit