aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/optmanager.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2017-03-07 10:28:15 +1300
committerAldo Cortesi <aldo@nullcube.com>2017-03-07 10:28:15 +1300
commitb51df9a0b1cc9da1d7381421dfac481da6205a7a (patch)
treef61be6a2e0d0ac526ff237cf42b5270c3c42378a /mitmproxy/optmanager.py
parent2312cf6fb08e6c3f208a9bfe4af93c193dfd9ab1 (diff)
downloadmitmproxy-b51df9a0b1cc9da1d7381421dfac481da6205a7a.tar.gz
mitmproxy-b51df9a0b1cc9da1d7381421dfac481da6205a7a.tar.bz2
mitmproxy-b51df9a0b1cc9da1d7381421dfac481da6205a7a.zip
Cleanups and test coverage
Diffstat (limited to 'mitmproxy/optmanager.py')
-rw-r--r--mitmproxy/optmanager.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/mitmproxy/optmanager.py b/mitmproxy/optmanager.py
index 319fe622..3768b52c 100644
--- a/mitmproxy/optmanager.py
+++ b/mitmproxy/optmanager.py
@@ -110,7 +110,7 @@ class OptManager:
self._options[name] = _Option(name, default, typespec, help, choices)
@contextlib.contextmanager
- def rollback(self, updated):
+ def rollback(self, updated, reraise=False):
old = copy.deepcopy(self._options)
try:
yield
@@ -120,6 +120,8 @@ class OptManager:
# Rollback
self.__dict__["_options"] = old
self.changed.send(self, updated=updated)
+ if reraise:
+ raise e
def subscribe(self, func, opts):
"""
@@ -337,7 +339,7 @@ class OptManager:
dest=option,
help=o.help
)
- parser.set_defaults(**{option: o.default})
+ parser.set_defaults(**{option: None})
elif o.typespec in (int, typing.Optional[int]):
parser.add_argument(
"--%s" % f,