diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2016-09-09 10:31:34 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2016-09-09 10:31:34 +1200 |
commit | 715e47e3d4cc16c95d572ccc871cc24417ee358a (patch) | |
tree | 0321b07f33c8c1a5eba5f11c4128281a9cd5abbd | |
parent | d4f291a8adfc6bfe7cd7820d9342868874895ad0 (diff) | |
download | mitmproxy-715e47e3d4cc16c95d572ccc871cc24417ee358a.tar.gz mitmproxy-715e47e3d4cc16c95d572ccc871cc24417ee358a.tar.bz2 mitmproxy-715e47e3d4cc16c95d572ccc871cc24417ee358a.zip |
Extend addons.Addons with a get method that retrieves an addon by name
-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") |