tokenizer.c: make coding markup work again.
io.open() now takes all positional parameters (so we can conveniently
call it from C code).
test_tarfile.py no longer uses u"..." literals, but is otherwise still
badly broken.
This is a checkpoint; some more stuff now breaks.
diff --git a/Lib/io.py b/Lib/io.py
index df224e6..f1be881 100644
--- a/Lib/io.py
+++ b/Lib/io.py
@@ -49,7 +49,7 @@
self.characters_written = characters_written
-def open(file, mode="r", buffering=None, *, encoding=None, newline=None):
+def open(file, mode="r", buffering=None, encoding=None, newline=None):
"""Replacement for the built-in open function.
Args:
@@ -59,7 +59,6 @@
buffering: optional int >= 0 giving the buffer size; values
can be: 0 = unbuffered, 1 = line buffered,
larger = fully buffered.
- Keywords (for text modes only; *must* be given as keyword arguments):
encoding: optional string giving the text encoding.
newline: optional newlines specifier; must be None, '\n' or '\r\n';
specifies the line ending expected on input and written on
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
index 636a45e..39504e1 100644
--- a/Lib/test/test_tarfile.py
+++ b/Lib/test/test_tarfile.py
@@ -432,17 +432,17 @@
tarinfo = tar.getmember("pax/regtype1")
self.assertEqual(tarinfo.uname, "foo")
self.assertEqual(tarinfo.gname, "bar")
- self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"), u"ÄÖÜäöüß")
+ self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"), "ÄÖÜäöüß")
tarinfo = tar.getmember("pax/regtype2")
self.assertEqual(tarinfo.uname, "")
self.assertEqual(tarinfo.gname, "bar")
- self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"), u"ÄÖÜäöüß")
+ self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"), "ÄÖÜäöüß")
tarinfo = tar.getmember("pax/regtype3")
self.assertEqual(tarinfo.uname, "tarfile")
self.assertEqual(tarinfo.gname, "tarfile")
- self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"), u"ÄÖÜäöüß")
+ self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"), "ÄÖÜäöüß")
def test_pax_number_fields(self):
# All following number fields are read from the pax header.
@@ -727,11 +727,11 @@
def test_pax_global_header(self):
pax_headers = {
- u"foo": u"bar",
- u"uid": u"0",
- u"mtime": u"1.23",
- u"test": u"äöü",
- u"äöü": u"test"}
+ "foo": "bar",
+ "uid": "0",
+ "mtime": "1.23",
+ "test": "äöü",
+ "äöü": "test"}
tar = tarfile.open(tmpname, "w", format=tarfile.PAX_FORMAT, \
pax_headers=pax_headers)
@@ -756,11 +756,11 @@
def test_pax_extended_header(self):
# The fields from the pax header have priority over the
# TarInfo.
- pax_headers = {u"path": u"foo", u"uid": u"123"}
+ pax_headers = {"path": "foo", "uid": "123"}
tar = tarfile.open(tmpname, "w", format=tarfile.PAX_FORMAT, encoding="iso8859-1")
t = tarfile.TarInfo()
- t.name = u"äöü" # non-ASCII
+ t.name = "äöü" # non-ASCII
t.uid = 8**8 # too large
t.pax_headers = pax_headers
tar.addfile(t)
@@ -808,11 +808,11 @@
else:
tar.addfile(tarinfo)
- tarinfo.name = u"äöü"
+ tarinfo.name = "äöü"
self.assertRaises(UnicodeError, tar.addfile, tarinfo)
tarinfo.name = "foo"
- tarinfo.uname = u"äöü"
+ tarinfo.uname = "äöü"
self.assertRaises(UnicodeError, tar.addfile, tarinfo)
def test_unicode_argument(self):
@@ -825,7 +825,7 @@
tar.close()
def test_uname_unicode(self):
- for name in (u"äöü", "äöü"):
+ for name in ("äöü", "äöü"):
t = tarfile.TarInfo("foo")
t.uname = name
t.gname = name
@@ -860,9 +860,9 @@
def test_error_handlers(self):
# Test if the unicode error handlers work correctly for characters
# that cannot be expressed in a given encoding.
- self._create_unicode_name(u"äöü")
+ self._create_unicode_name("äöü")
- for handler, name in (("utf-8", u"äöü".encode("utf8")),
+ for handler, name in (("utf-8", "äöü".encode("utf8")),
("replace", "???"), ("ignore", "")):
tar = tarfile.open(tmpname, format=self.format, encoding="ascii",
errors=handler)
@@ -874,11 +874,11 @@
def test_error_handler_utf8(self):
# Create a pathname that has one component representable using
# iso8859-1 and the other only in iso8859-15.
- self._create_unicode_name(u"äöü/¤")
+ self._create_unicode_name("äöü/¤")
tar = tarfile.open(tmpname, format=self.format, encoding="iso8859-1",
errors="utf-8")
- self.assertEqual(tar.getnames()[0], "äöü/" + u"¤".encode("utf8"))
+ self.assertEqual(tar.getnames()[0], "äöü/" + "¤".encode("utf8"))
class AppendTest(unittest.TestCase):