diff options
author | Aldo Cortesi <aldo@corte.si> | 2013-12-08 01:14:12 -0800 |
---|---|---|
committer | Aldo Cortesi <aldo@corte.si> | 2013-12-08 01:14:12 -0800 |
commit | 3a1d85ab18dbff82505feac3619af733a0a2b4f7 (patch) | |
tree | b61bb99ae8e34f73583263619730fbbe5d526161 /libmproxy/script.py | |
parent | 73791f986a4b4dabd984b7fa7891801d71ab52dc (diff) | |
parent | b4f6f09c83faf54c4c1493e18ba11d0257ca841b (diff) | |
download | mitmproxy-3a1d85ab18dbff82505feac3619af733a0a2b4f7.tar.gz mitmproxy-3a1d85ab18dbff82505feac3619af733a0a2b4f7.tar.bz2 mitmproxy-3a1d85ab18dbff82505feac3619af733a0a2b4f7.zip |
Merge pull request #134 from mhils/scripts_improvements
Support multiple scripts and script arguments. refs #76
Diffstat (limited to 'libmproxy/script.py')
-rw-r--r-- | libmproxy/script.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/libmproxy/script.py b/libmproxy/script.py index 95fd5be2..c32628b0 100644 --- a/libmproxy/script.py +++ b/libmproxy/script.py @@ -8,12 +8,12 @@ class Script: """ The instantiator should do something along this vein: - s = Script(path, master) + s = Script(argv, master) s.load() - s.run("start") """ - def __init__(self, path, ctx): - self.path, self.ctx = path, ctx + def __init__(self, argv, ctx): + self.argv = argv + self.ctx = ctx self.ns = None def load(self): @@ -23,17 +23,21 @@ class Script: Raises ScriptError on failure, with argument equal to an error message that may be a formatted traceback. """ - path = os.path.expanduser(self.path) + path = os.path.expanduser(self.argv[0]) if not os.path.exists(path): - raise ScriptError("No such file: %s"%self.path) + raise ScriptError("No such file: %s" % path) if not os.path.isfile(path): - raise ScriptError("Not a file: %s"%self.path) + raise ScriptError("Not a file: %s" % path) ns = {} try: execfile(path, ns, ns) + self.ns = ns + self.run("start", self.argv) except Exception, v: raise ScriptError(traceback.format_exc(v)) - self.ns = ns + + def unload(self): + return self.run("done") def run(self, name, *args, **kwargs): """ |