diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2014-01-12 13:59:32 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2014-01-12 13:59:32 +1300 |
commit | e5776b8be3ea36c065beabe416506871f34892e6 (patch) | |
tree | 46da3faa0648588ac60d66b0430f06b06be7fc78 /libmproxy | |
parent | 58e1b3a47f392a5f4f16e30318820f163568f54e (diff) | |
download | mitmproxy-e5776b8be3ea36c065beabe416506871f34892e6.tar.gz mitmproxy-e5776b8be3ea36c065beabe416506871f34892e6.tar.bz2 mitmproxy-e5776b8be3ea36c065beabe416506871f34892e6.zip |
Clean up and clarify script API
Diffstat (limited to 'libmproxy')
-rw-r--r-- | libmproxy/console/__init__.py | 10 | ||||
-rw-r--r-- | libmproxy/flow.py | 21 | ||||
-rw-r--r-- | libmproxy/script.py | 1 |
3 files changed, 12 insertions, 20 deletions
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: diff --git a/libmproxy/flow.py b/libmproxy/flow.py index e88bf985..0aa03198 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -1394,17 +1394,6 @@ class FlowMaster(controller.Master): """ pass - def get_script(self, script_argv): - """ - Returns an (error, script) tuple. - """ - s = script.Script(script_argv, self) - try: - s.load() - except script.ScriptError, v: - return (v.args[0], None) - return (None, s) - def unload_script(self, script): script.unload() self.scripts.remove(script) @@ -1414,11 +1403,11 @@ class FlowMaster(controller.Master): Loads a script. Returns an error description if something went wrong. """ - r = self.get_script(script_argv) - if r[0]: - return r[0] - else: - self.scripts.append(r[1]) + try: + s = script.Script(script_argv, self) + except script.ScriptError, v: + return v.args[0] + self.scripts.append(s) def run_single_script_hook(self, script, name, *args, **kwargs): if script and not self.pause_scripts: diff --git a/libmproxy/script.py b/libmproxy/script.py index 0f1056f6..747d1567 100644 --- a/libmproxy/script.py +++ b/libmproxy/script.py @@ -49,6 +49,7 @@ class Script: self.argv = argv self.ctx = ScriptContext(master) self.ns = None + self.load() def load(self): """ |