[Python-checkins] distutils2: make sure the Project-URL field is not transformed into a string
tarek.ziade
python-checkins at python.org
Sat Mar 20 21:36:20 CET 2010
tarek.ziade pushed 98ce712a53d2 to distutils2:
http://hg.python.org/distutils2/rev/98ce712a53d2
changeset: 83:98ce712a53d2
tag: tip
user: Tarek Ziade <tarek at ziade.org>
date: Sat Mar 20 16:36:00 2010 -0400
summary: make sure the Project-URL field is not transformed into a string
files: src/distutils2/metadata.py, src/distutils2/tests/test_metadata.py
diff --git a/src/distutils2/metadata.py b/src/distutils2/metadata.py
--- a/src/distutils2/metadata.py
+++ b/src/distutils2/metadata.py
@@ -153,6 +153,7 @@
'Requires', 'Provides', 'Obsoletes-Dist',
'Provides-Dist', 'Requires-Dist', 'Requires-External',
'Project-URL')
+_LISTTUPLEFIELDS = ('Project-URL',)
_ELEMENTSFIELD = ('Keywords',)
@@ -355,7 +356,11 @@
valid, val = self._platform(val)
if not valid:
continue
- res.append(self._encode_field(val))
+ if name not in _LISTTUPLEFIELDS:
+ res.append(self._encode_field(val))
+ else:
+ # That's for Project-URL
+ res.append((self._encode_field(val[0]), val[1]))
return res
elif name in _ELEMENTSFIELD:
diff --git a/src/distutils2/tests/test_metadata.py b/src/distutils2/tests/test_metadata.py
--- a/src/distutils2/tests/test_metadata.py
+++ b/src/distutils2/tests/test_metadata.py
@@ -185,6 +185,12 @@
self.assertEquals(res, 0)
+ def test_project_url(self):
+ metadata = DistributionMetadata()
+ metadata['Project-URL'] = [('one', 'http://ok')]
+ self.assertEquals(metadata['Project-URL'],
+ [('one', 'http://ok')])
+
def test_suite():
return unittest2.makeSuite(DistributionMetadataTestCase)
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list