summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Holth <dholth@fastmail.fm>2013-06-02 00:11:23 -0400
committerDaniel Holth <dholth@fastmail.fm>2013-06-02 00:11:23 -0400
commitc83553dd17024b92c98a75b3d7d56dbf1c652bfb (patch)
tree84c0a65e4f76e8e4c93169f3c19e3f84e99af35c
parent07c2a9e5c6eceea8e16850293557383e87d36288 (diff)
downloadwheel-c83553dd17024b92c98a75b3d7d56dbf1c652bfb.tar.gz
preserve all declared extras
-rw-r--r--wheel/metadata.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/wheel/metadata.py b/wheel/metadata.py
index ee46bf5..d75f812 100644
--- a/wheel/metadata.py
+++ b/wheel/metadata.py
@@ -87,7 +87,9 @@ def pkginfo_to_dict(path, distribution=None):
if extra_requirements:
metadata['may_require'] = [{'extra':key, 'dependencies':value}
for key, value in sorted(extra_requirements.items())]
- metadata['extras'] = [key for key in sorted(extra_requirements.keys())]
+ if not 'extras' in metadata:
+ metadata['extras'] = []
+ metadata['extras'].extend([key for key in sorted(extra_requirements.keys())])
elif low_key == 'provides_extra':
if not 'extras' in metadata:
@@ -102,7 +104,9 @@ def pkginfo_to_dict(path, distribution=None):
metadata['metadata_version'] = METADATA_VERSION
- # include extra information if distribution is available
+ metadata['extras'] = sorted(unique(metadata['extras']))
+
+ # include more information if distribution is available
if distribution:
for requires, attr in (('test_requires', 'tests_require'),):
try: