wagtail-modeltranslation/wagtail_modeltranslation/contextlib.py
Dario Marcelino 4bcd6086e0 Patch slugurl to accept original language slug
no matter what is the user's current language
2017-12-22 18:46:57 +00:00

21 lines
533 B
Python

from django.utils.translation import activate
from modeltranslation.utils import get_language
class set_language:
"""
Context manager to safely change language momentarily
Usage:
with set_language('en'):
en_url = obj.get_absolute_url()
"""
def __init__(self, lang):
self.language = lang
self.current_language = get_language()
def __enter__(self):
activate(self.language)
def __exit__(self, exctype, excinst, exctb):
activate(self.current_language)