style(i18n): apply ruff formatting for CI lint
This commit is contained in:
@@ -41,7 +41,9 @@ def language_neutral_path(value: str | None) -> str:
|
|||||||
language_codes = [code for code, _ in settings.LANGUAGES]
|
language_codes = [code for code, _ in settings.LANGUAGES]
|
||||||
if language_codes:
|
if language_codes:
|
||||||
# Strip the first language segment, e.g. /en/manage -> /manage.
|
# Strip the first language segment, e.g. /en/manage -> /manage.
|
||||||
pattern = rf"^/(?:{'|'.join(re.escape(code) for code in language_codes)})(?=/|$)"
|
pattern = (
|
||||||
|
rf"^/(?:{'|'.join(re.escape(code) for code in language_codes)})(?=/|$)"
|
||||||
|
)
|
||||||
path = re.sub(pattern, "", path, count=1) or "/"
|
path = re.sub(pattern, "", path, count=1) or "/"
|
||||||
|
|
||||||
return urlunsplit(("", "", path, parsed.query, ""))
|
return urlunsplit(("", "", path, parsed.query, ""))
|
||||||
|
|||||||
@@ -18,14 +18,22 @@ from mandelstudio.templatetags.mandelstudio_i18n import language_neutral_path
|
|||||||
class LanguageNeutralPathFilterTests(SimpleTestCase):
|
class LanguageNeutralPathFilterTests(SimpleTestCase):
|
||||||
def test_strips_language_prefix(self):
|
def test_strips_language_prefix(self):
|
||||||
self.assertEqual(language_neutral_path("/en/manage/"), "/manage/")
|
self.assertEqual(language_neutral_path("/en/manage/"), "/manage/")
|
||||||
self.assertEqual(language_neutral_path("/fr/manage/checkout/paymentmethod/"), "/manage/checkout/paymentmethod/")
|
self.assertEqual(
|
||||||
|
language_neutral_path("/fr/manage/checkout/paymentmethod/"),
|
||||||
|
"/manage/checkout/paymentmethod/",
|
||||||
|
)
|
||||||
|
|
||||||
def test_keeps_unprefixed_path(self):
|
def test_keeps_unprefixed_path(self):
|
||||||
self.assertEqual(language_neutral_path("/manage/"), "/manage/")
|
self.assertEqual(language_neutral_path("/manage/"), "/manage/")
|
||||||
self.assertEqual(language_neutral_path("/manage/checkout/paymentmethod/"), "/manage/checkout/paymentmethod/")
|
self.assertEqual(
|
||||||
|
language_neutral_path("/manage/checkout/paymentmethod/"),
|
||||||
|
"/manage/checkout/paymentmethod/",
|
||||||
|
)
|
||||||
|
|
||||||
def test_preserves_query_string(self):
|
def test_preserves_query_string(self):
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
language_neutral_path("/de/manage/?next=/de/manage/checkout/paymentmethod/"),
|
language_neutral_path(
|
||||||
|
"/de/manage/?next=/de/manage/checkout/paymentmethod/"
|
||||||
|
),
|
||||||
"/manage/?next=/de/manage/checkout/paymentmethod/",
|
"/manage/?next=/de/manage/checkout/paymentmethod/",
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user