From 730c78ac53672c4ef2f3d1067aa50e8adeee7f24 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Thu, 4 Aug 2011 10:14:44 +1200 Subject: Move script.Context to flow.ScriptContext --- libmproxy/flow.py | 18 ++++++++++++++++-- libmproxy/script.py | 14 +++----------- 2 files changed, 19 insertions(+), 13 deletions(-) (limited to 'libmproxy') diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 25fa3fc1..e649fbb8 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -15,6 +15,21 @@ class RunException(Exception): self.errout = errout +class ScriptContext: + def __init__(self, master): + self._master = master + + def log(self, *args, **kwargs): + """ + Logs an event. + + How this is handled depends on the front-end. mitmdump will display + events if the eventlog flag ("-e") was passed. mitmproxy sends + output to the eventlog for display ("v" keyboard shortcut). + """ + self._master.add_event(*args, **kwargs) + + class Headers: def __init__(self, lst=None): if lst: @@ -1055,7 +1070,6 @@ class State(object): i.kill(master) - class FlowMaster(controller.Master): def __init__(self, server, state): controller.Master.__init__(self, server) @@ -1086,7 +1100,7 @@ class FlowMaster(controller.Master): """ Returns an (error, script) tuple. """ - s = script.Script(path, self) + s = script.Script(path, ScriptContext(self)) try: s.load() except script.ScriptError, v: diff --git a/libmproxy/script.py b/libmproxy/script.py index 03eff958..251d6dea 100644 --- a/libmproxy/script.py +++ b/libmproxy/script.py @@ -1,15 +1,8 @@ -import imp, os, traceback +import imp, os, traceback, flow class ScriptError(Exception): pass -class Context: - def __init__(self, master, state): - self.master, self.state = master, state - - def log(self, *args, **kwargs): - self.master.add_event(*args, **kwargs) - class Script: """ @@ -19,9 +12,8 @@ class Script: s.load() s.run("start") """ - def __init__(self, path, master): - self.path = path - self.ctx = Context(master, master.state) + def __init__(self, path, ctx): + self.path, self.ctx = path, ctx self.mod = None self.ns = None -- cgit v1.2.3