Author: christian.heimes
Date: Wed Oct 31 20:43:22 2007
New Revision: 58735

Modified:
   python/branches/py3k-pep3137/   (props changed)
   python/branches/py3k-pep3137/Lib/gettext.py
   python/branches/py3k-pep3137/Lib/test/test_dumbdbm.py
   python/branches/py3k-pep3137/Lib/test/test_gettext.py
   python/branches/py3k-pep3137/Modules/_fileio.c
Log:
Merged revisions 58721-58734 via svnmerge from 
svn+ssh://[EMAIL PROTECTED]/python/branches/py3k

........
  r58732 | christian.heimes | 2007-10-31 19:53:44 +0100 (Wed, 31 Oct 2007) | 1 
line
  
  Fixed gettext module for Windows. The metadata lines always end in \n and not 
in os.linesep
........
  r58733 | christian.heimes | 2007-10-31 20:20:48 +0100 (Wed, 31 Oct 2007) | 1 
line
  
  Fixed bug in _fileio.c and test_pep277. On Windows IOError.filename was not 
set because the name is stored in widename.
........
  r58734 | christian.heimes | 2007-10-31 20:40:17 +0100 (Wed, 31 Oct 2007) | 2 
lines
  
  Fixed test_dumbdbm
  The test failed on Windows. I hope the change follows the spirit of the test. 
On Unix it checks if dumbdbm can handle Windows line separators and on Windows 
it tests with Unix line separators.
........


Modified: python/branches/py3k-pep3137/Lib/gettext.py
==============================================================================
--- python/branches/py3k-pep3137/Lib/gettext.py (original)
+++ python/branches/py3k-pep3137/Lib/gettext.py Wed Oct 31 20:43:22 2007
@@ -291,7 +291,7 @@
             if mlen == 0:
                 # Catalog description
                 lastk = k = None
-                for b_item in tmsg.split(os.linesep.encode("ascii")):
+                for b_item in tmsg.split('\n'.encode("ascii")):
                     item = str(b_item).strip()
                     if not item:
                         continue

Modified: python/branches/py3k-pep3137/Lib/test/test_dumbdbm.py
==============================================================================
--- python/branches/py3k-pep3137/Lib/test/test_dumbdbm.py       (original)
+++ python/branches/py3k-pep3137/Lib/test/test_dumbdbm.py       Wed Oct 31 
20:43:22 2007
@@ -113,9 +113,12 @@
         f[b'2'] = b'hello2'
         f.close()
 
-        # Mangle the file by adding \r before each newline
+        # Mangle the file by changing the line separator to Windows or Unix
         data = io.open(_fname + '.dir', 'rb').read()
-        data = data.replace(b'\n', b'\r\n')
+        if os.linesep == b'\n':
+            data = data.replace(b'\n', b'\r\n')
+        else:
+            data = data.replace(b'\r\n', b'\n')
         io.open(_fname + '.dir', 'wb').write(data)
 
         f = dumbdbm.open(_fname)

Modified: python/branches/py3k-pep3137/Lib/test/test_gettext.py
==============================================================================
--- python/branches/py3k-pep3137/Lib/test/test_gettext.py       (original)
+++ python/branches/py3k-pep3137/Lib/test/test_gettext.py       Wed Oct 31 
20:43:22 2007
@@ -332,6 +332,7 @@
 
     def test_weird_metadata(self):
         info = self.t.info()
+        self.assertEqual(len(info), 9)
         self.assertEqual(info['last-translator'],
            'John Doe <[EMAIL PROTECTED]>\nJane Foobar <[EMAIL PROTECTED]>')
 

Modified: python/branches/py3k-pep3137/Modules/_fileio.c
==============================================================================
--- python/branches/py3k-pep3137/Modules/_fileio.c      (original)
+++ python/branches/py3k-pep3137/Modules/_fileio.c      Wed Oct 31 20:43:22 2007
@@ -267,7 +267,11 @@
                        self->fd = open(name, flags, 0666);
                Py_END_ALLOW_THREADS
                if (self->fd < 0 || dircheck(self) < 0) {
+#ifdef MS_WINDOWS
+                       PyErr_SetFromErrnoWithUnicodeFilename(PyExc_IOError, 
widename);
+#else
                        PyErr_SetFromErrnoWithFilename(PyExc_IOError, name);
+#endif
                        goto error;
                }
        }
_______________________________________________
Python-3000-checkins mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000-checkins

Reply via email to