diff options
author | hut <hut@lavabit.com> | 2011-10-05 13:15:35 +0200 |
---|---|---|
committer | hut <hut@lavabit.com> | 2011-10-05 13:15:35 +0200 |
commit | dbec46f5811c9c660129c91348d47442e5a524d3 (patch) | |
tree | 80c1540c00f5d70a1c6acfe06748f1809631bbb8 | |
parent | 06848dc3f83e940cf26342a5b6dfeb31c88e1f06 (diff) | |
download | ranger-dbec46f5811c9c660129c91348d47442e5a524d3.tar.gz |
ext.keybindings: more meaningful error messages
-rw-r--r-- | ranger/core/actions.py | 8 | ||||
-rw-r--r-- | ranger/ext/keybindings.py | 10 |
2 files changed, 10 insertions, 8 deletions
diff --git a/ranger/core/actions.py b/ranger/core/actions.py index f547b8d0..42f2699d 100644 --- a/ranger/core/actions.py +++ b/ranger/core/actions.py @@ -72,7 +72,8 @@ class Actions(FileManagerAware, EnvironmentAware, SettingsAware): text = str(text) self.log.appendleft(text) if self.ui and self.ui.is_on: - self.ui.status.notify(text, duration=duration, bad=bad) + self.ui.status.notify(" ".join(text.split("\n")), + duration=duration, bad=bad) else: print(text) @@ -108,10 +109,7 @@ class Actions(FileManagerAware, EnvironmentAware, SettingsAware): if 'any0' in macros: macros['any'] = macros['any0'] string = self.substitute_macros(string, additional=macros) - try: - cmd_class(string, quantifier=quantifier).execute() - except Exception as error: - self.notify(error) + cmd_class(string, quantifier=quantifier).execute() def substitute_macros(self, string, additional=dict()): return _MacroTemplate(string).safe_substitute(self._get_macros(), diff --git a/ranger/ext/keybindings.py b/ranger/ext/keybindings.py index 37cceb10..de08f26f 100644 --- a/ranger/ext/keybindings.py +++ b/ranger/ext/keybindings.py @@ -73,11 +73,15 @@ class KeyMaps(dict): pointer[last_key] = leaf def copy(self, context, source, target): - source, pointer = self._clean_input(context, source) + clean_source, pointer = self._clean_input(context, source) if not source: return - for key in source: - pointer = pointer[key] + for key in clean_source: + try: + pointer = pointer[key] + except: + raise KeyError("Tried to copy the keybinding `%s'," + " but it was not found." % source) self.bind(context, target, copy.deepcopy(pointer)) def unbind(self, context, keys): |