Fixed #15848 -- Fixed regression introduced in [15882] in makemessages management command when processing multi-line comments that contain non-ASCCI characters in templates. Thanks for the report Denis Drescher.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16038 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Ramiro Morales 2011-04-18 20:00:10 +00:00
parent d3e5380b41
commit 0defa7dc9d
2 changed files with 10 additions and 3 deletions

View File

@ -435,16 +435,16 @@ def templatize(src, origin=None):
for t in Lexer(src, origin).tokenize(): for t in Lexer(src, origin).tokenize():
if incomment: if incomment:
if t.token_type == TOKEN_BLOCK and t.contents == 'endcomment': if t.token_type == TOKEN_BLOCK and t.contents == 'endcomment':
content = u''.join(comment) content = ''.join(comment)
translators_comment_start = None translators_comment_start = None
for lineno, line in enumerate(content.splitlines(True)): for lineno, line in enumerate(content.splitlines(True)):
if line.lstrip().startswith(TRANSLATOR_COMMENT_MARK): if line.lstrip().startswith(TRANSLATOR_COMMENT_MARK):
translators_comment_start = lineno translators_comment_start = lineno
for lineno, line in enumerate(content.splitlines(True)): for lineno, line in enumerate(content.splitlines(True)):
if translators_comment_start is not None and lineno >= translators_comment_start: if translators_comment_start is not None and lineno >= translators_comment_start:
out.write(u' # %s' % line) out.write(' # %s' % line)
else: else:
out.write(u' #\n') out.write(' #\n')
incomment = False incomment = False
comment = [] comment = []
else: else:

View File

@ -50,3 +50,10 @@ continued here.
{% comment %} Translators: Two-line translator comment #4 {% comment %} Translators: Two-line translator comment #4
continued here.{% endcomment %} continued here.{% endcomment %}
{% trans "Translatable literal #4b" %} {% trans "Translatable literal #4b" %}
{% comment %} Translators: One-line translator comment #5 -- with non ASCII characters: áéíóúö{% endcomment %}
{% trans "Translatable literal #5a" %}
{% comment %} Translators: Two-line translator comment #5 -- with non ASCII characters: áéíóúö
continued here.{% endcomment %}
{% trans "Translatable literal #6b" %}