diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2017-03-07 10:28:15 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2017-03-07 10:28:15 +1300 |
commit | b51df9a0b1cc9da1d7381421dfac481da6205a7a (patch) | |
tree | f61be6a2e0d0ac526ff237cf42b5270c3c42378a /mitmproxy/optmanager.py | |
parent | 2312cf6fb08e6c3f208a9bfe4af93c193dfd9ab1 (diff) | |
download | mitmproxy-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.py | 6 |
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, |