diff options
author | Maximilian Hils <git@maximilianhils.com> | 2013-06-16 00:41:43 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2013-06-16 00:41:43 +0200 |
commit | fd36142018a18f0d6c996e9c07bfc7e80e20afc4 (patch) | |
tree | 6a42399d1150a6196c71c7fb7bd80b0dc6fbf58b /libmproxy/script.py | |
parent | 34f286df511d0d6987a21e105a7cde651130fa2d (diff) | |
parent | b4f6f09c83faf54c4c1493e18ba11d0257ca841b (diff) | |
download | mitmproxy-fd36142018a18f0d6c996e9c07bfc7e80e20afc4.tar.gz mitmproxy-fd36142018a18f0d6c996e9c07bfc7e80e20afc4.tar.bz2 mitmproxy-fd36142018a18f0d6c996e9c07bfc7e80e20afc4.zip |
Merge remote-tracking branch 'origin/scripts_improvements' into 0.10
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 4ffac71b..4676672b 100644 --- a/libmproxy/script.py +++ b/libmproxy/script.py @@ -23,12 +23,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): @@ -38,17 +38,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): """ |