summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-05-19 16:49:56 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2011-05-19 16:49:56 (GMT)
commitc3364529b8ac8e8b42e5934aa2c7d687d5074d66 (patch)
tree2d490b2e3b95a4cee45e8d603c48cc39e9f3f9de /Lib
parentdd13dd4bcc27fc77be7590ab0c9bf1c7c883201d (diff)
downloadcpython-c3364529b8ac8e8b42e5934aa2c7d687d5074d66.zip
cpython-c3364529b8ac8e8b42e5934aa2c7d687d5074d66.tar.gz
cpython-c3364529b8ac8e8b42e5934aa2c7d687d5074d66.tar.bz2
Issue #12112: packaging reads/writes metadata using UTF-8
Diffstat (limited to 'Lib')
-rw-r--r--Lib/packaging/metadata.py4
-rw-r--r--Lib/packaging/tests/test_dist.py2
-rw-r--r--Lib/packaging/tests/test_metadata.py12
3 files changed, 9 insertions, 9 deletions
diff --git a/Lib/packaging/metadata.py b/Lib/packaging/metadata.py
index 8abbe38..596eec7 100644
--- a/Lib/packaging/metadata.py
+++ b/Lib/packaging/metadata.py
@@ -307,7 +307,7 @@ class Metadata:
def read(self, filepath):
"""Read the metadata values from a file path."""
- with open(filepath, 'r', encoding='ascii') as fp:
+ with open(filepath, 'r', encoding='utf-8') as fp:
self.read_file(fp)
def read_file(self, fileob):
@@ -330,7 +330,7 @@ class Metadata:
def write(self, filepath):
"""Write the metadata fields to filepath."""
- with open(filepath, 'w') as fp:
+ with open(filepath, 'w', encoding='utf-8') as fp:
self.write_file(fp)
def write_file(self, fileobject):
diff --git a/Lib/packaging/tests/test_dist.py b/Lib/packaging/tests/test_dist.py
index 36b64f9..74c727b 100644
--- a/Lib/packaging/tests/test_dist.py
+++ b/Lib/packaging/tests/test_dist.py
@@ -78,7 +78,7 @@ class DistributionTestCase(support.TempdirManager,
# let's make sure the file can be written
# with Unicode fields. they are encoded with
# PKG_INFO_ENCODING
- with open(my_file, 'w') as fp:
+ with open(my_file, 'w', encoding='utf-8') as fp:
dist.metadata.write_file(fp)
# regular ascii is of course always usable
diff --git a/Lib/packaging/tests/test_metadata.py b/Lib/packaging/tests/test_metadata.py
index b8dc5d8..904019c 100644
--- a/Lib/packaging/tests/test_metadata.py
+++ b/Lib/packaging/tests/test_metadata.py
@@ -17,7 +17,7 @@ class MetadataTestCase(LoggingCatcher,
def test_instantiation(self):
PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO')
- with open(PKG_INFO, 'r') as f:
+ with open(PKG_INFO, 'r', encoding='utf-8') as f:
contents = f.read()
fp = StringIO(contents)
@@ -57,7 +57,7 @@ class MetadataTestCase(LoggingCatcher,
def test_metadata_markers(self):
# see if we can be platform-aware
PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO')
- with open(PKG_INFO, 'r') as f:
+ with open(PKG_INFO, 'r', encoding='utf-8') as f:
content = f.read() % sys.platform
metadata = Metadata(platform_dependent=True)
@@ -77,7 +77,7 @@ class MetadataTestCase(LoggingCatcher,
def test_description(self):
PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO')
- with open(PKG_INFO, 'r') as f:
+ with open(PKG_INFO, 'r', encoding='utf-8') as f:
content = f.read() % sys.platform
metadata = Metadata()
metadata.read_file(StringIO(content))
@@ -97,7 +97,7 @@ class MetadataTestCase(LoggingCatcher,
def test_mapping_api(self):
PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO')
- with open(PKG_INFO, 'r') as f:
+ with open(PKG_INFO, 'r', encoding='utf-8') as f:
content = f.read() % sys.platform
metadata = Metadata(fileobj=StringIO(content))
self.assertIn('Version', metadata.keys())
@@ -130,14 +130,14 @@ class MetadataTestCase(LoggingCatcher,
PKG_INFO = os.path.join(os.path.dirname(__file__),
'SETUPTOOLS-PKG-INFO')
- with open(PKG_INFO, 'r') as f:
+ with open(PKG_INFO, 'r', encoding='utf-8') as f:
content = f.read()
metadata.read_file(StringIO(content))
self.assertEqual(metadata['Metadata-Version'], '1.0')
PKG_INFO = os.path.join(os.path.dirname(__file__),
'SETUPTOOLS-PKG-INFO2')
- with open(PKG_INFO, 'r') as f:
+ with open(PKG_INFO, 'r', encoding='utf-8') as f:
content = f.read()
metadata.read_file(StringIO(content))
self.assertEqual(metadata['Metadata-Version'], '1.1')