aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/console/__init__.py')
-rw-r--r--libmproxy/console/__init__.py42
1 files changed, 23 insertions, 19 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index 7d4a1164..052ac7dd 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -220,11 +220,29 @@ class ConsoleMaster(flow.FlowMaster):
signals.call_in.connect(self.sig_call_in)
signals.pop_view_state.connect(self.sig_pop_view_state)
signals.push_view_state.connect(self.sig_push_view_state)
+ signals.sig_add_event.connect(self.sig_add_event)
def __setattr__(self, name, value):
self.__dict__[name] = value
signals.update_settings.send(self)
+ def sig_add_event(self, sender, e, level):
+ needed = dict(error=0, info=1, debug=2).get(level, 1)
+ if self.options.verbosity < needed:
+ return
+
+ if level == "error":
+ e = urwid.Text(("error", str(e)))
+ else:
+ e = urwid.Text(str(e))
+ self.eventlist.append(e)
+ if len(self.eventlist) > EVENTLOG_SIZE:
+ self.eventlist.pop(0)
+ self.eventlist.set_focus(len(self.eventlist) - 1)
+
+ def add_event(self, e, level):
+ signals.add_event(e, level)
+
def sig_call_in(self, sender, seconds, callback, args=()):
def cb(*_):
return callback(*args)
@@ -263,16 +281,16 @@ class ConsoleMaster(flow.FlowMaster):
status, val = s.run(method, f)
if val:
if status:
- self.add_event("Method %s return: %s" % (method, val), "debug")
+ signals.add_event("Method %s return: %s" % (method, val), "debug")
else:
- self.add_event(
+ signals.add_event(
"Method %s error: %s" %
(method, val[1]), "error")
def run_script_once(self, command, f):
if not command:
return
- self.add_event("Running script on flow: %s" % command, "debug")
+ signals.add_event("Running script on flow: %s" % command, "debug")
try:
s = script.Script(command, self)
@@ -280,7 +298,7 @@ class ConsoleMaster(flow.FlowMaster):
signals.status_message.send(
message = "Error loading script."
)
- self.add_event("Error loading script:\n%s" % v.args[0], "error")
+ signals.add_event("Error loading script:\n%s" % v.args[0], "error")
return
if f.request:
@@ -432,7 +450,7 @@ class ConsoleMaster(flow.FlowMaster):
if self.options.rfile:
ret = self.load_flows_path(self.options.rfile)
if ret and self.state.flow_count():
- self.add_event(
+ signals.add_event(
"File truncated or corrupted. "
"Loaded as many flows as possible.",
"error"
@@ -666,20 +684,6 @@ class ConsoleMaster(flow.FlowMaster):
def clear_events(self):
self.eventlist[:] = []
- def add_event(self, e, level="info"):
- needed = dict(error=0, info=1, debug=2).get(level, 1)
- if self.options.verbosity < needed:
- return
-
- if level == "error":
- e = urwid.Text(("error", str(e)))
- else:
- e = urwid.Text(str(e))
- self.eventlist.append(e)
- if len(self.eventlist) > EVENTLOG_SIZE:
- self.eventlist.pop(0)
- self.eventlist.set_focus(len(self.eventlist) - 1)
-
# Handlers
def handle_error(self, f):
f = flow.FlowMaster.handle_error(self, f)