aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/addonmanager.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2017-07-30 02:14:44 +0200
committerMaximilian Hils <git@maximilianhils.com>2017-07-30 02:14:44 +0200
commit6a41122990017491222602753441de8ac438b735 (patch)
tree290f49a024c69ab562ecdcbc7e5bef21382148d8 /mitmproxy/addonmanager.py
parentecc01b0f02b60cfce00f36057a78354780278aca (diff)
downloadmitmproxy-6a41122990017491222602753441de8ac438b735.tar.gz
mitmproxy-6a41122990017491222602753441de8ac438b735.tar.bz2
mitmproxy-6a41122990017491222602753441de8ac438b735.zip
make option redeclaration silent if signature is the same
Diffstat (limited to 'mitmproxy/addonmanager.py')
-rw-r--r--mitmproxy/addonmanager.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/mitmproxy/addonmanager.py b/mitmproxy/addonmanager.py
index 9094288b..857ed530 100644
--- a/mitmproxy/addonmanager.py
+++ b/mitmproxy/addonmanager.py
@@ -86,7 +86,18 @@ class Loader:
choices: typing.Optional[typing.Sequence[str]] = None
) -> None:
if name in self.master.options:
- ctx.log.warn("Over-riding existing option %s" % name)
+ existing = self.master.options._options[name]
+ same_signature = (
+ existing.name == name and
+ existing.typespec == typespec and
+ existing.default == default and
+ existing.help == help and
+ existing.choices == choices
+ )
+ if same_signature:
+ return
+ else:
+ ctx.log.warn("Over-riding existing option %s" % name)
self.master.options.add_option(
name,
typespec,