From 0be17b6b0044051388ff49c9956bb1f7b0caea11 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Fri, 16 Oct 2020 17:53:53 -0700 Subject: [PATCH] semgrep: Treat ugettext_lazy like ugettext. Signed-off-by: Anders Kaseorg --- tools/semgrep.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/semgrep.yml b/tools/semgrep.yml index 8acd6b89fd..a3b69d557b 100644 --- a/tools/semgrep.yml +++ b/tools/semgrep.yml @@ -72,9 +72,17 @@ rules: pattern-either: - pattern: django.utils.translation.ugettext(... .format(...)) - pattern: django.utils.translation.ugettext(f"...") + - pattern: django.utils.translation.ugettext_lazy(... .format(...)) + - pattern: django.utils.translation.ugettext_lazy(f"...") severity: ERROR message: "Format strings after translation, not before" + - id: translated-format-lazy + languages: [python] + pattern: django.utils.translation.ugettext_lazy(...).format(...) + severity: ERROR + message: "Immediately formatting a lazily translated string destroys its laziness" + - id: mutable-default-type languages: [python] pattern-either: @@ -116,6 +124,7 @@ rules: pattern-either: - pattern: '"..." % ...' - pattern: django.utils.translation.ugettext(...) % ... + - pattern: django.utils.translation.ugettext_lazy(...) % ... severity: ERROR message: "Prefer f-strings or .format for string formatting"