diff options
| author | Claudiu Popa <pcmanticore@gmail.com> | 2014-08-11 16:43:14 +0300 |
|---|---|---|
| committer | Claudiu Popa <pcmanticore@gmail.com> | 2014-08-11 16:43:14 +0300 |
| commit | e6b31b9bfa8caaaf39e0b45a8c148aa012ccc56c (patch) | |
| tree | fb3d35b99cbae4892c83f19eb2fce4fbfbb487c4 /checkers/strings.py | |
| parent | 6b40825fab6606b0a7e5073c0c042cc303664a23 (diff) | |
| download | pylint-git-e6b31b9bfa8caaaf39e0b45a8c148aa012ccc56c.tar.gz | |
Fix a false positive with 'too-few-format-args', when the format strings contains duplicate manual position arguments. Closes issue #310.
Diffstat (limited to 'checkers/strings.py')
| -rw-r--r-- | checkers/strings.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/checkers/strings.py b/checkers/strings.py index 522db4e8c..a30d29c5a 100644 --- a/checkers/strings.py +++ b/checkers/strings.py @@ -169,10 +169,10 @@ def parse_format_method_string(format_string): """ keys = [] num_args = 0 - manual_pos_arg = 0 + manual_pos_arg = set() for name in collect_string_fields(format_string): if name and str(name).isdigit(): - manual_pos_arg += 1 + manual_pos_arg.add(str(name)) elif name: keyname, fielditerator = split_format_field_names(name) if isinstance(keyname, numbers.Number): @@ -182,7 +182,7 @@ def parse_format_method_string(format_string): keys.append((keyname, list(fielditerator))) else: num_args += 1 - return keys, num_args, manual_pos_arg + return keys, num_args, len(manual_pos_arg) def get_args(callfunc): """ Get the arguments from the given `CallFunc` node. |
