mirror of https://github.com/zulip/zulip.git
Django 1.11: Make makemessages command compatible.
Now REs have moved to template module. This commit adds a condition to use trans_real module if the Django version is less than 1.11 else use template module.
This commit is contained in:
parent
323fbdefa8
commit
b74cc576ae
|
@ -41,8 +41,8 @@ from six.moves import filter
|
||||||
from six.moves import map
|
from six.moves import map
|
||||||
from six.moves import zip
|
from six.moves import zip
|
||||||
|
|
||||||
|
import django
|
||||||
from django.core.management.commands import makemessages
|
from django.core.management.commands import makemessages
|
||||||
from django.utils.translation import trans_real
|
|
||||||
from django.template.base import BLOCK_TAG_START, BLOCK_TAG_END
|
from django.template.base import BLOCK_TAG_START, BLOCK_TAG_END
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
|
@ -105,27 +105,34 @@ class Command(makemessages.Command):
|
||||||
|
|
||||||
def handle_django_locales(self, *args, **options):
|
def handle_django_locales(self, *args, **options):
|
||||||
# type: (*Any, **Any) -> None
|
# type: (*Any, **Any) -> None
|
||||||
old_endblock_re = trans_real.endblock_re
|
if django.VERSION > (1, 11):
|
||||||
old_block_re = trans_real.block_re
|
from django.utils.translation import template
|
||||||
old_constant_re = trans_real.constant_re
|
re_module = template
|
||||||
|
else:
|
||||||
|
from django.utils.translation import trans_real
|
||||||
|
re_module = trans_real
|
||||||
|
|
||||||
old_templatize = trans_real.templatize
|
old_endblock_re = re_module.endblock_re
|
||||||
|
old_block_re = re_module.block_re
|
||||||
|
old_constant_re = re_module.constant_re
|
||||||
|
|
||||||
|
old_templatize = re_module.templatize
|
||||||
# Extend the regular expressions that are used to detect
|
# Extend the regular expressions that are used to detect
|
||||||
# translation blocks with an "OR jinja-syntax" clause.
|
# translation blocks with an "OR jinja-syntax" clause.
|
||||||
trans_real.endblock_re = re.compile(
|
re_module.endblock_re = re.compile(
|
||||||
trans_real.endblock_re.pattern + '|' + r"""^-?\s*endtrans\s*-?$""")
|
re_module.endblock_re.pattern + '|' + r"""^-?\s*endtrans\s*-?$""")
|
||||||
trans_real.block_re = re.compile(
|
re_module.block_re = re.compile(
|
||||||
trans_real.block_re.pattern + '|' + r"""^-?\s*trans(?:\s+(?!'|")(?=.*?=.*?)|\s*-?$)""")
|
re_module.block_re.pattern + '|' + r"""^-?\s*trans(?:\s+(?!'|")(?=.*?=.*?)|\s*-?$)""")
|
||||||
trans_real.plural_re = re.compile(
|
re_module.plural_re = re.compile(
|
||||||
trans_real.plural_re.pattern + '|' + r"""^-?\s*pluralize(?:\s+.+|-?$)""")
|
re_module.plural_re.pattern + '|' + r"""^-?\s*pluralize(?:\s+.+|-?$)""")
|
||||||
trans_real.constant_re = re.compile(r"""_\(((?:".*?")|(?:'.*?')).*\)""")
|
re_module.constant_re = re.compile(r"""_\(((?:".*?")|(?:'.*?')).*\)""")
|
||||||
|
|
||||||
def my_templatize(src, origin=None):
|
def my_templatize(src, *args, **kwargs):
|
||||||
# type: (Text, Optional[Text]) -> Text
|
# type: (Text, *Any, **Any) -> Text
|
||||||
new_src = strip_whitespaces(src)
|
new_src = strip_whitespaces(src)
|
||||||
return old_templatize(new_src, origin)
|
return old_templatize(new_src, *args, **kwargs)
|
||||||
|
|
||||||
trans_real.templatize = my_templatize
|
re_module.templatize = my_templatize
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ignore_patterns = options.get('ignore_patterns', [])
|
ignore_patterns = options.get('ignore_patterns', [])
|
||||||
|
@ -133,10 +140,10 @@ class Command(makemessages.Command):
|
||||||
options['ignore_patterns'] = ignore_patterns
|
options['ignore_patterns'] = ignore_patterns
|
||||||
super(Command, self).handle(*args, **options)
|
super(Command, self).handle(*args, **options)
|
||||||
finally:
|
finally:
|
||||||
trans_real.endblock_re = old_endblock_re
|
re_module.endblock_re = old_endblock_re
|
||||||
trans_real.block_re = old_block_re
|
re_module.block_re = old_block_re
|
||||||
trans_real.templatize = old_templatize
|
re_module.templatize = old_templatize
|
||||||
trans_real.constant_re = old_constant_re
|
re_module.constant_re = old_constant_re
|
||||||
|
|
||||||
def extract_strings(self, data):
|
def extract_strings(self, data):
|
||||||
# type: (str) -> Dict[str, str]
|
# type: (str) -> Dict[str, str]
|
||||||
|
|
Loading…
Reference in New Issue