From 58e1b3a47f392a5f4f16e30318820f163568f54e Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 12 Jan 2014 12:49:19 +1300 Subject: Start refactoring scripts - Move ScriptContext into script module - Use mock module instead of hand-rolled mock objects in tests --- libmproxy/console/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libmproxy/console/__init__.py') diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index 210e2b95..b8d4a105 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -781,6 +781,9 @@ class ConsoleMaster(flow.FlowMaster): else: self.view_flowlist() + def edit_scripts(self, *args, **kwargs): + pass + def loop(self): changed = True try: @@ -883,7 +886,7 @@ class ConsoleMaster(flow.FlowMaster): grideditor.ScriptEditor( self, [[i.argv[0]] for i in self.scripts], - None + self.edit_scripts ) ) #if self.scripts: -- cgit v1.2.3 From e5776b8be3ea36c065beabe416506871f34892e6 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 12 Jan 2014 13:59:32 +1300 Subject: Clean up and clarify script API --- libmproxy/console/__init__.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'libmproxy/console/__init__.py') diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index b8d4a105..f68084ff 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -446,12 +446,14 @@ class ConsoleMaster(flow.FlowMaster): if not path: return self.add_event("Running script on flow: %s"%path) - ret = self.get_script(shlex.split(path, posix=(os.name != "nt"))) - if ret[0]: + + try: + s = script.Script(shlex.split(path, posix=(os.name != "nt")), self) + except script.ScriptError, v: self.statusbar.message("Error loading script.") - self.add_event("Error loading script:\n%s"%ret[0]) + self.add_event("Error loading script:\n%s"%v.args[0]) return - s = ret[1] + if f.request: self._run_script_method("request", s, f) if f.response: -- cgit v1.2.3 From 42d4a2fae96b8b4ba35d3a88e20f278d79a0ccc6 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 12 Jan 2014 23:01:59 +1300 Subject: Script refactoring: move script command parsing into script module. --- libmproxy/console/__init__.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'libmproxy/console/__init__.py') diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index f68084ff..536b0bac 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -442,13 +442,13 @@ class ConsoleMaster(flow.FlowMaster): else: self.add_event("Method %s error: %s"%(method, val[1])) - def run_script_once(self, path, f): - if not path: + def run_script_once(self, command, f): + if not command: return - self.add_event("Running script on flow: %s"%path) + self.add_event("Running script on flow: %s"%command) try: - s = script.Script(shlex.split(path, posix=(os.name != "nt")), self) + s = script.Script(command, self) except script.ScriptError, v: self.statusbar.message("Error loading script.") self.add_event("Error loading script:\n%s"%v.args[0]) @@ -462,15 +462,15 @@ class ConsoleMaster(flow.FlowMaster): self._run_script_method("error", s, f) s.unload() self.refresh_flow(f) - self.state.last_script = path + self.state.last_script = command - def set_script(self, path): - if not path: + def set_script(self, command): + if not command: return - ret = self.load_script(path) + ret = self.load_script(command) if ret: self.statusbar.message(ret) - self.state.last_script = path + self.state.last_script = command def toggle_eventlog(self): self.eventlog = not self.eventlog -- cgit v1.2.3