diff --git a/mitmproxy/optmanager.py b/mitmproxy/optmanager.py index 7d8ca9143..06e696c01 100644 --- a/mitmproxy/optmanager.py +++ b/mitmproxy/optmanager.py @@ -91,7 +91,7 @@ class OptManager: mutation doesn't change the option state inadvertently. """ def __init__(self): - self._deferred: typing.Dict[str, str] = {} + self.deferred: typing.Dict[str, str] = {} self.changed = blinker.Signal() self.errored = blinker.Signal() # Options must be the last attribute here - after that, we raise an @@ -219,7 +219,7 @@ class OptManager: def update_defer(self, **kwargs): unknown = self.update_known(**kwargs) - self._deferred.update(unknown) + self.deferred.update(unknown) def update(self, **kwargs): u = self.update_known(**kwargs) @@ -307,7 +307,7 @@ class OptManager: else: unknown[optname] = optval if defer: - self._deferred.update(unknown) + self.deferred.update(unknown) elif unknown: raise exceptions.OptionsError("Unknown options: %s" % ", ".join(unknown.keys())) self.update(**vals) @@ -318,12 +318,12 @@ class OptManager: have since been added. """ update = {} - for optname, optval in self._deferred.items(): + for optname, optval in self.deferred.items(): if optname in self._options: update[optname] = self.parse_setval(self._options[optname], optval) self.update(**update) for k in update.keys(): - del self._deferred[k] + del self.deferred[k] def parse_setval(self, o: _Option, optstr: typing.Optional[str]) -> typing.Any: """ diff --git a/test/mitmproxy/test_optmanager.py b/test/mitmproxy/test_optmanager.py index 2d408b6e5..1e4f09d47 100644 --- a/test/mitmproxy/test_optmanager.py +++ b/test/mitmproxy/test_optmanager.py @@ -270,12 +270,12 @@ def test_serialize(): t = "# a comment" optmanager.load(o2, t) optmanager.load(o2, "foobar: '123'") - assert o2._deferred == {"foobar": "123"} + assert o2.deferred == {"foobar": "123"} t = "" optmanager.load(o2, t) optmanager.load(o2, "foobar: '123'") - assert o2._deferred == {"foobar": "123"} + assert o2.deferred == {"foobar": "123"} def test_serialize_defaults(): @@ -300,7 +300,7 @@ def test_saving(tmpdir): with open(dst, 'a') as f: f.write("foobar: '123'") optmanager.load_paths(o, dst) - assert o._deferred == {"foobar": "123"} + assert o.deferred == {"foobar": "123"} with open(dst, 'a') as f: f.write("'''") @@ -429,13 +429,13 @@ def test_set(): assert opts.seqstr == [] with pytest.raises(exceptions.OptionsError): - opts.set("deferred=wobble") + opts.set("deferredoption=wobble") - opts.set("deferred=wobble", defer=True) - assert "deferred" in opts._deferred + opts.set("deferredoption=wobble", defer=True) + assert "deferredoption" in opts.deferred opts.process_deferred() - assert "deferred" in opts._deferred - opts.add_option("deferred", str, "default", "help") + assert "deferredoption" in opts.deferred + opts.add_option("deferredoption", str, "default", "help") opts.process_deferred() - assert "deferred" not in opts._deferred - assert opts.deferred == "wobble" + assert "deferredoption" not in opts.deferred + assert opts.deferredoption == "wobble"