diff options
-rw-r--r-- | mitmproxy/addons.py | 7 | ||||
-rw-r--r-- | test/mitmproxy/test_addons.py | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/mitmproxy/addons.py b/mitmproxy/addons.py index 329d1215..04d1e905 100644 --- a/mitmproxy/addons.py +++ b/mitmproxy/addons.py @@ -4,7 +4,7 @@ import pprint def _get_name(itm): - return getattr(itm, "name", itm.__class__.__name__) + return getattr(itm, "name", itm.__class__.__name__.lower()) class Addons(object): @@ -13,6 +13,11 @@ class Addons(object): self.master = master master.options.changed.connect(self.options_update) + def get(self, name): + for i in self.chain: + if name == _get_name(i): + return i + def options_update(self, options, updated): for i in self.chain: with self.master.handlecontext(): diff --git a/test/mitmproxy/test_addons.py b/test/mitmproxy/test_addons.py index a5085ea0..f59f99d6 100644 --- a/test/mitmproxy/test_addons.py +++ b/test/mitmproxy/test_addons.py @@ -19,3 +19,6 @@ def test_simple(): a.add(o, TAddon("one")) assert a.has_addon("one") assert not a.has_addon("two") + + assert a.get("one") + assert not a.get("nonexistent") |