Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
commit 1ff8f535da38a28068895d65230f74b34c6e29a1 Author: Peter Hatina phatina@redhat.com Date: Thu Nov 29 15:10:05 2012 +0100
optimize methods and properties completion in _LmiCompleter
cli-tools/lmi-shell.py | 23 ++++++----------------- 1 files changed, 6 insertions(+), 17 deletions(-)
diff --git a/cli-tools/lmi-shell.py b/cli-tools/lmi-shell.py index a649b90..0b33d5e 100755 --- a/cli-tools/lmi-shell.py +++ b/cli-tools/lmi-shell.py @@ -114,27 +114,18 @@ class _LmiCompleter(rlcompleter.Completer): cmd = ".".join(members[0:-1]) to_complete = members[-1] expr = eval(cmd, self.namespace) + methods = self.__complete_object_methods(expr, to_complete) + properties = self.__complete_object_properties(expr, to_complete) if isinstance(expr, LmiConnection): namespaces = expr.namespaces() for n in namespaces: if n.lower().startswith(to_complete.lower()): self._last_complete.append(cmd + "." + n) - return self._last_complete[state] + methods = [x for x in methods if x not in namespaces] elif isinstance(expr, _LmiNamespace): for c in expr.classes(): if c.lower().startswith(to_complete.lower()): self._last_complete.append(cmd + "." + c) - methods = self.__complete_object_methods(expr, to_complete) - self._last_complete.extend(cmd + "." + m + "(" for m in methods) - properties = self.__complete_object_properties(expr, to_complete) - self._last_complete.extend(cmd + "." + p for p in properties) - return self._last_complete[state] - elif isinstance(expr, _LmiClass): - methods = self.__complete_object_methods(expr, to_complete) - self._last_complete= [cmd + "." + m + "(" for m in methods] - properties = self.__complete_object_properties(expr, to_complete) - self._last_complete.extend(cmd + "." + p for p in properties) - return self._last_complete[state] elif isinstance(expr, _LmiInstance): for m in expr.methods(): if m.lower().startswith(to_complete.lower()): @@ -142,11 +133,9 @@ class _LmiCompleter(rlcompleter.Completer): for p in expr.properties(): if p.lower().startswith(to_complete.lower()): self._last_complete.append(cmd + "." + p) - methods = self.__complete_object_methods(expr, to_complete) - self._last_complete.extend(cmd + "." + m + "(" for m in methods) - properties = self.__complete_object_properties(expr, to_complete) - self._last_complete.extend(cmd + "." + p for p in properties) - return self._last_complete[state] + self._last_complete.extend(cmd + "." + m + "(" for m in methods) + self._last_complete.extend(cmd + "." + p for p in properties) + return self._last_complete[state] return rlcompleter.Completer.complete(self, text, state)
class LmiInteractiveShell(code.InteractiveConsole):
cura-tools-devel@lists.fedorahosted.org