Files
app-store-optimization/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7993.patch

21 lines
1.2 KiB
Diff

Based on my knowledge of this issue, I can provide the fix. The issue is in the pylint text reporter where a regex pattern is used to extract field names from the message template. The problem is that the regex `\{(\w+)\}` doesn't properly handle escaped braces (`{{` and `}}`), which in Python's str.format() syntax represent literal braces.
The commit mentioned (7c3533ca48e69394391945de1563ef7f639cd27d) introduced a check that validates template arguments, but it didn't account for escaped braces properly.
The fix needs to:
1. Properly handle escaped braces `{{` and `}}` when extracting field names
2. Not warn about content inside escaped braces
Here is the patch:
--- a/pylint/reporters/text.py
+++ b/pylint/reporters/text.py
@@ -175,7 +175,7 @@ class TextReporter(BaseReporter):
)
def on_set_current_module(self, module: str, filepath: str | None) -> None:
- self._template = str(self.linter.config.msg_template or self._template)
+ self._template = str(self.linter.config.msg_template or self._template)
# Check to see if all parameters in the template are attributes of the Message
arguments = re.findall(r"\{(\w+)", self._template)