aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/dist.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/dist.py')
-rw-r--r--setuptools/dist.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/setuptools/dist.py b/setuptools/dist.py
index cd34eef6..0fb3d29c 100644
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
__all__ = ['Distribution']
import re
@@ -38,7 +39,9 @@ def _get_unpatched(cls):
def get_metadata_version(dist_md):
if dist_md.long_description_content_type or dist_md.provides_extras:
return StrictVersion('2.1')
- elif getattr(dist_md, 'python_requires', None) is not None:
+ elif (dist_md.maintainer is not None or
+ dist_md.maintainer_email is not None or
+ getattr(dist_md, 'python_requires', None) is not None):
return StrictVersion('1.2')
elif (dist_md.provides or dist_md.requires or dist_md.obsoletes or
dist_md.classifiers or dist_md.download_url):
@@ -48,7 +51,7 @@ def get_metadata_version(dist_md):
# Based on Python 3.5 version
-def write_pkg_file(self, file):
+def write_pkg_file(self, file, is_test=False):
"""Write the PKG-INFO format data to a file object.
"""
version = get_metadata_version(self)
@@ -59,7 +62,7 @@ def write_pkg_file(self, file):
file.write('Summary: %s\n' % self.get_description())
file.write('Home-page: %s\n' % self.get_url())
- if version == '1.2':
+ if version < StrictVersion('1.2'):
file.write('Author: %s\n' % self.get_contact())
file.write('Author-email: %s\n' % self.get_contact_email())
else:
@@ -72,6 +75,9 @@ def write_pkg_file(self, file):
for field, attr in optional_fields:
attr_val = getattr(self, attr)
+ if six.PY2:
+ attr_val = self._encode_field(attr_val)
+
if attr_val is not None:
file.write('%s: %s\n' % (field, attr_val))
@@ -88,7 +94,7 @@ def write_pkg_file(self, file):
if keywords:
file.write('Keywords: %s\n' % keywords)
- if version == '1.2':
+ if version >= StrictVersion('1.2'):
for platform in self.get_platforms():
file.write('Platform: %s\n' % platform)
else: