Commit 2945a057 authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

Fixed #7030 -- Handle extraction of UTF-8 messages from Javascript files.

This leads to more duplicated code in make-messages.py, but this is just a
holdover for the immediate problem until we merge make-messages into
management/.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7473 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 138cecd8
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -85,8 +85,7 @@ def make_messages():
                src = pythonize_re.sub('\n#', src)
                open(os.path.join(dirpath, '%s.py' % file), "wb").write(src)
                thefile = '%s.py' % file
                cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % (
                    os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile))
                cmd = 'xgettext -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % (domain, os.path.join(dirpath, thefile))
                (stdin, stdout, stderr) = os.popen3(cmd, 't')
                msgs = stdout.read()
                errors = stderr.read()
@@ -97,6 +96,11 @@ def make_messages():
                old = '#: '+os.path.join(dirpath, thefile)[2:]
                new = '#: '+os.path.join(dirpath, file)[2:]
                msgs = msgs.replace(old, new)
                if os.path.exists(potfile):
                    # Strip the header
                    msgs = '\n'.join(dropwhile(len, msgs.split('\n')))
                else:
                    msgs = msgs.replace('charset=CHARSET', 'charset=UTF-8')
                if msgs:
                    open(potfile, 'ab').write(msgs)
                os.unlink(os.path.join(dirpath, thefile))