Coverage for app/venv/lib/python3.14/site-packages/weblate/trans/autofixes/html.py: 58%
17 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 07:15 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 07:15 +0000
1# Copyright © Michal Čihař <michal@weblate.org>
2#
3# SPDX-License-Identifier: GPL-3.0-or-later
5from django.utils.translation import gettext_lazy
7from weblate.checks.markup import SafeHTMLCheck
8from weblate.trans.autofixes.base import AutoFix
9from weblate.utils.html import HTMLSanitizer
12class BleachHTML(AutoFix):
13 """Cleanup unsafe HTML markup."""
15 fix_id = "safe-html"
16 name = gettext_lazy("Unsafe HTML")
18 @staticmethod
19 def get_related_checks():
20 return [SafeHTMLCheck()]
22 def fix_single_target(self, target: str, source: str, unit):
23 flags = unit.all_flags
24 if "safe-html" not in flags or "ignore-safe-html" in flags:
25 return target, False
27 sanitizer = HTMLSanitizer()
28 new_target = sanitizer.clean(target, source, flags)
30 return new_target, new_target != target