diff options
Diffstat (limited to 'pylint/checkers/base.py')
-rw-r--r-- | pylint/checkers/base.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pylint/checkers/base.py b/pylint/checkers/base.py index 124881b77..36b50186b 100644 --- a/pylint/checkers/base.py +++ b/pylint/checkers/base.py @@ -1452,9 +1452,13 @@ class BasicChecker(_BasicChecker): for k, _ in node.items: if isinstance(k, nodes.Const): key = k.value - if key in keys: - self.add_message("duplicate-key", node=node, args=key) - keys.add(key) + elif isinstance(k, nodes.Attribute): + key = k.as_string() + else: + continue + if key in keys: + self.add_message("duplicate-key", node=node, args=key) + keys.add(key) def visit_tryfinally(self, node: nodes.TryFinally) -> None: """update try...finally flag""" |