From a0596e338dd14f545663ecd4cf88efaadb30a30d Mon Sep 17 00:00:00 2001 From: Guillaume Chazarain Date: Sun, 11 May 2008 23:12:04 +0200 Subject: [PATCH] Name callbacks to ease debugging --- gsh/callbacks.py | 12 ++++++------ gsh/remote_dispatcher.py | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gsh/callbacks.py b/gsh/callbacks.py index 9e75db1..67421a9 100644 --- a/gsh/callbacks.py +++ b/gsh/callbacks.py @@ -34,8 +34,9 @@ GSH_COMMON_PREFIX = 'gsh-' + random_string() + ',' # {'random_string()': (function, continuous)} GSH_CALLBACKS = {} -def add(function, continous): - trigger1 = random_string() + '/' +def add(name, function, continous): + clean_name = name.replace(':', '_').replace('.', '_') + trigger1 = clean_name + ':' + random_string() + '/' trigger2 = random_string() + '.' trigger = trigger1 + trigger2 GSH_CALLBACKS[trigger] = (function, continous) @@ -50,12 +51,11 @@ def process(line): return False trigger_start = start + len(GSH_COMMON_PREFIX) - trigger_length = RANDOM_LENGTH + 1 + RANDOM_LENGTH + 1 - trigger_end = trigger_start + trigger_length - trigger = line[trigger_start:trigger_end] - if len(trigger) != trigger_length: + trigger_end = line.find('.', trigger_start) + 1 + if trigger_end <= 0: return False + trigger = line[trigger_start:trigger_end] callback, continous = GSH_CALLBACKS.get(trigger, (None, True)) if not callback: return False diff --git a/gsh/remote_dispatcher.py b/gsh/remote_dispatcher.py index 7c7f8f7..20bd9a9 100644 --- a/gsh/remote_dispatcher.py +++ b/gsh/remote_dispatcher.py @@ -161,7 +161,7 @@ class remote_dispatcher(buffered_dispatcher): # No right prompt command_line = 'RPS1=;RPROMPT=;' command_line += 'TERM=ansi;' - prompt1, prompt2 = callbacks.add(self.seen_prompt_cb, True) + prompt1, prompt2 = callbacks.add('prompt', self.seen_prompt_cb, True) command_line += 'PS1="%s""%s\n"\n' % (prompt1, prompt2) return command_line -- 2.11.4.GIT