Skip to content

Commit 17fbcfe

Browse files
progvalPierre-Sassoulas
authored andcommitted
Avoid consider-using-f-string on modulos with brackets in template (pylint-dev#8720)
Brackets can be inconvenient in f-string expressions.
1 parent d690dd8 commit 17fbcfe

File tree

6 files changed

+39
-32
lines changed

6 files changed

+39
-32
lines changed

doc/whatsnew/fragments/8720.bugfix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Avoid ``consider-using-f-string`` on modulos with brackets in template.
2+
3+
Closes #8720.

pylint/checkers/refactoring/recommendation_checker.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,10 @@ def _detect_replacable_format_call(self, node: nodes.Const) -> None:
418418
):
419419
return
420420

421+
# Brackets can be inconvenient in f-string expressions
422+
if "{" in node.parent.left.value or "}" in node.parent.left.value:
423+
return
424+
421425
inferred_right = utils.safe_infer(node.parent.right)
422426

423427
# If dicts or lists of length > 1 are used

tests/functional/c/consider/consider_using_f_string.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def print_good():
3939
print("{}".format("\n".join(i for i in "string")))
4040
print("%s" % "\n")
4141
print("%s" % "\n".join(i for i in "string"))
42+
print("{%s}%s" % (PARAM_1, PARAM_2))
4243

4344

4445
def print_bad():
Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
1-
consider-using-f-string:45:10:45:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
2-
consider-using-f-string:46:10:46:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
3-
consider-using-f-string:47:10:47:28:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
4-
consider-using-f-string:48:10:48:17:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
5-
consider-using-f-string:49:10:49:26:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
6-
consider-using-f-string:50:10:50:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
7-
consider-using-f-string:51:10:51:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
8-
consider-using-f-string:52:10:52:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
9-
consider-using-f-string:53:10:53:24:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
10-
consider-using-f-string:54:10:54:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
11-
consider-using-f-string:80:4:80:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
12-
consider-using-f-string:81:4:81:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
13-
consider-using-f-string:82:4:82:22:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
14-
consider-using-f-string:83:4:83:11:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
15-
consider-using-f-string:84:4:84:20:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
16-
consider-using-f-string:85:4:85:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
17-
consider-using-f-string:86:4:86:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
18-
consider-using-f-string:87:4:87:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
19-
consider-using-f-string:88:4:88:18:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
20-
consider-using-f-string:89:4:89:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
21-
consider-using-f-string:112:8:112:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
22-
consider-using-f-string:113:8:113:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
23-
consider-using-f-string:114:8:114:26:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
24-
consider-using-f-string:115:8:115:15:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
25-
consider-using-f-string:116:8:116:24:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
26-
consider-using-f-string:117:8:117:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
27-
consider-using-f-string:118:8:118:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
28-
consider-using-f-string:119:8:119:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
29-
consider-using-f-string:120:8:120:22:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
30-
consider-using-f-string:121:8:121:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
1+
consider-using-f-string:46:10:46:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
2+
consider-using-f-string:47:10:47:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
3+
consider-using-f-string:48:10:48:28:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
4+
consider-using-f-string:49:10:49:17:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
5+
consider-using-f-string:50:10:50:26:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
6+
consider-using-f-string:51:10:51:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
7+
consider-using-f-string:52:10:52:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
8+
consider-using-f-string:53:10:53:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
9+
consider-using-f-string:54:10:54:24:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
10+
consider-using-f-string:55:10:55:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
11+
consider-using-f-string:81:4:81:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
12+
consider-using-f-string:82:4:82:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
13+
consider-using-f-string:83:4:83:22:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
14+
consider-using-f-string:84:4:84:11:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
15+
consider-using-f-string:85:4:85:20:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
16+
consider-using-f-string:86:4:86:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
17+
consider-using-f-string:87:4:87:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
18+
consider-using-f-string:88:4:88:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
19+
consider-using-f-string:89:4:89:18:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
20+
consider-using-f-string:90:4:90:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
21+
consider-using-f-string:113:8:113:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
22+
consider-using-f-string:114:8:114:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
23+
consider-using-f-string:115:8:115:26:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
24+
consider-using-f-string:116:8:116:15:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
25+
consider-using-f-string:117:8:117:24:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
26+
consider-using-f-string:118:8:118:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
27+
consider-using-f-string:119:8:119:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
28+
consider-using-f-string:120:8:120:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
29+
consider-using-f-string:121:8:121:22:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
30+
consider-using-f-string:122:8:122:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED

tests/functional/r/regression_02/regression_8109.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ class Number:
1111
round: int = 2
1212

1313
def __str__(self):
14-
number_format = "{:,.%sf}" % self.round # [consider-using-f-string]
14+
number_format = "{:,.%sf}" % self.round
1515
return number_format.format(self.amount).rstrip("0").rstrip(".")

tests/functional/r/regression_02/regression_8109.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)