aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/script
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2016-06-14 12:34:22 +1200
committerAldo Cortesi <aldo@nullcube.com>2016-06-14 12:34:22 +1200
commite7b61995adcb8f6e5391847043d5be3c69bfc3f9 (patch)
tree93a270e80c76bcad1f1a8135d4bbe4c65c70d85c /mitmproxy/script
parentccf4723505935f759c1bff5c5cc7d6d986726422 (diff)
downloadmitmproxy-e7b61995adcb8f6e5391847043d5be3c69bfc3f9.tar.gz
mitmproxy-e7b61995adcb8f6e5391847043d5be3c69bfc3f9.tar.bz2
mitmproxy-e7b61995adcb8f6e5391847043d5be3c69bfc3f9.zip
A tiny wrapper to make script invocations nicer
Diffstat (limited to 'mitmproxy/script')
-rw-r--r--mitmproxy/script/script.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/mitmproxy/script/script.py b/mitmproxy/script/script.py
index 70f74817..48efcde5 100644
--- a/mitmproxy/script/script.py
+++ b/mitmproxy/script/script.py
@@ -9,12 +9,21 @@ from __future__ import absolute_import, print_function, division
import os
import shlex
import sys
+import contextlib
import six
from mitmproxy import exceptions
+@contextlib.contextmanager
+def setargs(args):
+ oldargs = sys.argv
+ sys.argv = args
+ yield
+ sys.argv = oldargs
+
+
class Script(object):
"""
@@ -113,7 +122,8 @@ class Script(object):
f = self.ns.get(name)
if f:
try:
- return f(self.ctx, *args, **kwargs)
+ with setargs(self.args):
+ return f(self.ctx, *args, **kwargs)
except Exception:
six.reraise(
exceptions.ScriptException,