Skip to content

Commit ab77b98

Browse files
authored
Avoid consider-using-f-string on modulos with brackets in template (#8720)
Brackets can be inconvenient in f-string expressions.
1 parent 538a8fe commit ab77b98

File tree

6 files changed

+30
-23
lines changed

6 files changed

+30
-23
lines changed

doc/whatsnew/fragments/8720.bugfix

+3
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

+4
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,10 @@ def _detect_replacable_format_call(self, node: nodes.Const) -> None:
428428
):
429429
return
430430

431+
# Brackets can be inconvenient in f-string expressions
432+
if "{" in node.parent.left.value or "}" in node.parent.left.value:
433+
return
434+
431435
inferred_right = utils.safe_infer(node.parent.right)
432436

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

tests/functional/c/consider/consider_using_f_string.py

+1
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():
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 an f-string:UNDEFINED
21
consider-using-f-string:46:10:46:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
3-
consider-using-f-string:47:10:47:28:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
4-
consider-using-f-string:48:10:48:17:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
5-
consider-using-f-string:49:10:49:26:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
6-
consider-using-f-string:50:10:50: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
76
consider-using-f-string:51:10:51:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
87
consider-using-f-string:52:10:52:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
9-
consider-using-f-string:53:10:53:24:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
10-
consider-using-f-string:54:10:54:21:print_bad:Formatting a regular string which could be an f-string:UNDEFINED
11-
consider-using-f-string:80:4:80:15:statement_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
1211
consider-using-f-string:81:4:81:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
13-
consider-using-f-string:82:4:82:22:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
14-
consider-using-f-string:83:4:83:11:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
15-
consider-using-f-string:84:4:84:20:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
16-
consider-using-f-string:85:4:85: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
1716
consider-using-f-string:86:4:86:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
1817
consider-using-f-string:87:4:87:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
19-
consider-using-f-string:88:4:88:18:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
20-
consider-using-f-string:89:4:89:15:statement_bad:Formatting a regular string which could be an f-string:UNDEFINED
21-
consider-using-f-string:112:8:112:19:assignment_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
2221
consider-using-f-string:113:8:113:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
23-
consider-using-f-string:114:8:114:26:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
24-
consider-using-f-string:115:8:115:15:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
25-
consider-using-f-string:116:8:116:24:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
26-
consider-using-f-string:117:8:117: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
2726
consider-using-f-string:118:8:118:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
2827
consider-using-f-string:119:8:119:19:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
29-
consider-using-f-string:120:8:120:22:assignment_bad:Formatting a regular string which could be an f-string:UNDEFINED
30-
consider-using-f-string:121:8:121: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

+1-1
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

-1
This file was deleted.

0 commit comments

Comments
 (0)