Browse Source

ci(semgrep): add translation checks for report labels (#27280)

* ci(semgrep): add translation checks for report labels

* refactor: shift report tests to it's own yml

path can't be applied on a test id basis

* ci: ignore regional report in translation checks

[skip ci]
develop
Alan 3 years ago
committed by GitHub
parent
commit
72ece75b11
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      .github/helper/semgrep_rules/report.py
  2. 21
      .github/helper/semgrep_rules/report.yml

15
.github/helper/semgrep_rules/report.py

@ -0,0 +1,15 @@
from frappe import _
# ruleid: frappe-missing-translate-function-in-report-python
{"label": "Field Label"}
# ruleid: frappe-missing-translate-function-in-report-python
dict(label="Field Label")
# ok: frappe-missing-translate-function-in-report-python
{"label": _("Field Label")}
# ok: frappe-missing-translate-function-in-report-python
dict(label=_("Field Label"))

21
.github/helper/semgrep_rules/report.yml

@ -0,0 +1,21 @@
rules:
- id: frappe-missing-translate-function-in-report-python
paths:
include:
- "**/report"
exclude:
- "**/regional"
pattern-either:
- patterns:
- pattern: |
{..., "label": "...", ...}
- pattern-not: |
{..., "label": _("..."), ...}
- patterns:
- pattern: dict(..., label="...", ...)
- pattern-not: dict(..., label=_("..."), ...)
message: |
All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations
languages: [python]
severity: ERROR
Loading…
Cancel
Save