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__.py31
1 files changed, 18 insertions, 13 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index 210e2b95..536b0bac 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -442,16 +442,18 @@ 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)
- ret = self.get_script(shlex.split(path, posix=(os.name != "nt")))
- if ret[0]:
+ self.add_event("Running script on flow: %s"%command)
+
+ try:
+ s = script.Script(command, 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:
@@ -460,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
@@ -781,6 +783,9 @@ class ConsoleMaster(flow.FlowMaster):
else:
self.view_flowlist()
+ def edit_scripts(self, *args, **kwargs):
+ pass
+
def loop(self):
changed = True
try:
@@ -883,7 +888,7 @@ class ConsoleMaster(flow.FlowMaster):
grideditor.ScriptEditor(
self,
[[i.argv[0]] for i in self.scripts],
- None
+ self.edit_scripts
)
)
#if self.scripts: