Author: mtredinnick
Date: 2008-08-26 02:43:59 -0500 (Tue, 26 Aug 2008)
New Revision: 8576

Modified:
   django/trunk/django/core/management/commands/makemessages.py
Log:
Fixed #7084 -- Fixed the "makemessages" command to handle line endings
correctly on Windows (previous behaviour was to explode when encountering a
multi-line messages). Patch and testing from Ramiro Morales.


Modified: django/trunk/django/core/management/commands/makemessages.py
===================================================================
--- django/trunk/django/core/management/commands/makemessages.py        
2008-08-26 07:36:39 UTC (rev 8575)
+++ django/trunk/django/core/management/commands/makemessages.py        
2008-08-26 07:43:59 UTC (rev 8576)
@@ -97,10 +97,10 @@
             if domain == 'djangojs' and file_ext == '.js':
                 if verbosity > 1:
                     sys.stdout.write('processing file %s in %s\n' % (file, 
dirpath))
-                src = open(os.path.join(dirpath, file), "rb").read()
+                src = open(os.path.join(dirpath, file), "rU").read()
                 src = pythonize_re.sub('\n#', src)
-                open(os.path.join(dirpath, '%s.py' % file), "wb").write(src)
                 thefile = '%s.py' % file
+                open(os.path.join(dirpath, thefile), "w").write(src)
                 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()
@@ -121,9 +121,9 @@
             elif domain == 'django' and (file_ext == '.py' or file_ext in 
extensions):
                 thefile = file
                 if file_ext in extensions:
-                    src = open(os.path.join(dirpath, file), "rb").read()
+                    src = open(os.path.join(dirpath, file), "rU").read()
                     thefile = '%s.py' % file
-                    open(os.path.join(dirpath, thefile), 
"wb").write(templatize(src))
+                    open(os.path.join(dirpath, thefile), 
"w").write(templatize(src))
                 if verbosity > 1:
                     sys.stdout.write('processing file %s in %s\n' % (file, 
dirpath))
                 cmd = 'xgettext -d %s -L Python --keyword=gettext_noop 
--keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --keyword=ugettext_noop 
--keyword=ugettext_lazy --keyword=ungettext_lazy:1,2 --from-code UTF-8 -o - 
"%s"' % (
@@ -148,14 +148,14 @@
                     os.unlink(os.path.join(dirpath, thefile))
 
         if os.path.exists(potfile):
-            (stdin, stdout, stderr) = os.popen3('msguniq --to-code=utf-8 "%s"' 
% potfile, 'b')
+            (stdin, stdout, stderr) = os.popen3('msguniq --to-code=utf-8 "%s"' 
% potfile, 't')
             msgs = stdout.read()
             errors = stderr.read()
             if errors:
                 raise CommandError("errors happened while running msguniq\n%s" 
% errors)
             open(potfile, 'w').write(msgs)
             if os.path.exists(pofile):
-                (stdin, stdout, stderr) = os.popen3('msgmerge -q "%s" "%s"' % 
(pofile, potfile), 'b')
+                (stdin, stdout, stderr) = os.popen3('msgmerge -q "%s" "%s"' % 
(pofile, potfile), 't')
                 msgs = stdout.read()
                 errors = stderr.read()
                 if errors:


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to