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