[Python-checkins] distutils2: renamed DistributionMetadata to Metadata

tarek.ziade python-checkins at python.org
Wed Feb 16 22:23:56 CET 2011


tarek.ziade pushed 196f90ab8ee3 to distutils2:

http://hg.python.org/distutils2/rev/196f90ab8ee3
changeset:   1005:196f90ab8ee3
parent:      896:272155a17d56
user:        Christophe Combelles <ccomb at free.fr>
date:        Fri Jan 28 10:43:00 2011 +0100
summary:
  renamed DistributionMetadata to Metadata

files:
  CHANGES.txt
  distutils2/_backport/pkgutil.py
  distutils2/_backport/tests/test_pkgutil.py
  distutils2/dist.py
  distutils2/index/dist.py
  distutils2/index/simple.py
  distutils2/metadata.py
  distutils2/tests/test_command_install_distinfo.py
  distutils2/tests/test_dist.py
  distutils2/tests/test_install.py
  distutils2/tests/test_metadata.py
  docs/design/pep-0376.txt
  docs/source/distutils/examples.rst
  docs/source/library/distutils2.metadata.rst

diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -10,6 +10,7 @@
 - Issue #10409: Fixed the Licence selector in mkcfg [tarek]
 - Issue #9558: Fix build_ext with VS 8.0 [éric]
 - Issue #6007: Add disclaimer about MinGW compatibility in docs [éric]
+- Renamed DistributionMetadata to Metadata [ccomb]
 
 1.0a3 - 2010-10-08
 ------------------
diff --git a/distutils2/_backport/pkgutil.py b/distutils2/_backport/pkgutil.py
--- a/distutils2/_backport/pkgutil.py
+++ b/distutils2/_backport/pkgutil.py
@@ -10,7 +10,7 @@
 from csv import reader as csv_reader
 from types import ModuleType
 from distutils2.errors import DistutilsError
-from distutils2.metadata import DistributionMetadata
+from distutils2.metadata import Metadata
 from distutils2.version import suggest_normalized_version, VersionPredicate
 import zipimport
 try:
@@ -716,7 +716,7 @@
     name = ''
     """The name of the distribution."""
     metadata = None
-    """A :class:`distutils2.metadata.DistributionMetadata` instance loaded with
+    """A :class:`distutils2.metadata.Metadata` instance loaded with
     the distribution's ``METADATA`` file."""
     requested = False
     """A boolean that indicates whether the ``REQUESTED`` metadata file is
@@ -728,7 +728,7 @@
             self.metadata = _cache_path[path].metadata
         else:
             metadata_path = os.path.join(path, 'METADATA')
-            self.metadata = DistributionMetadata(path=metadata_path)
+            self.metadata = Metadata(path=metadata_path)
 
         self.path = path
         self.name = self.metadata['name']
@@ -849,7 +849,7 @@
     name = ''
     """The name of the distribution."""
     metadata = None
-    """A :class:`distutils2.metadata.DistributionMetadata` instance loaded with
+    """A :class:`distutils2.metadata.Metadata` instance loaded with
     the distribution's ``METADATA`` file."""
     _REQUIREMENT = re.compile( \
         r'(?P<name>[-A-Za-z0-9_.]+)\s*' \
@@ -883,7 +883,7 @@
         if path.endswith('.egg'):
             if os.path.isdir(path):
                 meta_path = os.path.join(path, 'EGG-INFO', 'PKG-INFO')
-                self.metadata = DistributionMetadata(path=meta_path)
+                self.metadata = Metadata(path=meta_path)
                 try:
                     req_path = os.path.join(path, 'EGG-INFO', 'requires.txt')
                     requires = open(req_path, 'r').read()
@@ -892,7 +892,7 @@
             else:
                 zipf = zipimport.zipimporter(path)
                 fileobj = StringIO.StringIO(zipf.get_data('EGG-INFO/PKG-INFO'))
-                self.metadata = DistributionMetadata(fileobj=fileobj)
+                self.metadata = Metadata(fileobj=fileobj)
                 try:
                     requires = zipf.get_data('EGG-INFO/requires.txt')
                 except IOError:
@@ -906,7 +906,7 @@
                     requires = req_f.read()
                 except IOError:
                     requires = None
-            self.metadata = DistributionMetadata(path=path)
+            self.metadata = Metadata(path=path)
             self.name = self.metadata['name']
         else:
             raise ValueError('The path must end with .egg-info or .egg')
diff --git a/distutils2/_backport/tests/test_pkgutil.py b/distutils2/_backport/tests/test_pkgutil.py
--- a/distutils2/_backport/tests/test_pkgutil.py
+++ b/distutils2/_backport/tests/test_pkgutil.py
@@ -236,8 +236,8 @@
         dist = Distribution(dist_path)
 
         self.assertEqual(dist.name, name)
-        from distutils2.metadata import DistributionMetadata
-        self.assertTrue(isinstance(dist.metadata, DistributionMetadata))
+        from distutils2.metadata import Metadata
+        self.assertTrue(isinstance(dist.metadata, Metadata))
         self.assertEqual(dist.metadata['version'], version)
         self.assertTrue(isinstance(dist.requested, type(bool())))
 
diff --git a/distutils2/dist.py b/distutils2/dist.py
--- a/distutils2/dist.py
+++ b/distutils2/dist.py
@@ -15,7 +15,7 @@
 from distutils2.fancy_getopt import FancyGetopt
 from distutils2.util import strtobool, resolve_name
 from distutils2 import logger
-from distutils2.metadata import DistributionMetadata
+from distutils2.metadata import Metadata
 from distutils2.config import Config
 from distutils2.command import get_command_class
 
@@ -145,7 +145,7 @@
         # forth) in a separate object -- we're getting to have enough
         # information here (and enough command-line options) that it's
         # worth it.
-        self.metadata = DistributionMetadata()
+        self.metadata = Metadata()
 
         # 'cmdclass' maps command names to class objects, so we
         # can 1) quickly figure out which class to instantiate when
diff --git a/distutils2/index/dist.py b/distutils2/index/dist.py
--- a/distutils2/index/dist.py
+++ b/distutils2/index/dist.py
@@ -28,7 +28,7 @@
                                      CantParseArchiveName)
 from distutils2.version import (suggest_normalized_version, NormalizedVersion,
                                 get_version_predicate)
-from distutils2.metadata import DistributionMetadata
+from distutils2.metadata import Metadata
 from distutils2.util import untar_file, unzip_file, splitext
 
 __all__ = ['ReleaseInfo', 'DistInfo', 'ReleasesList', 'get_infos_from_url']
@@ -66,7 +66,7 @@
         self._version = None
         self.version = version
         if metadata:
-            self.metadata = DistributionMetadata(mapping=metadata)
+            self.metadata = Metadata(mapping=metadata)
         else:
             self.metadata = None
         self.dists = {}
@@ -164,7 +164,7 @@
 
     def set_metadata(self, metadata):
         if not self.metadata:
-            self.metadata = DistributionMetadata()
+            self.metadata = Metadata()
         self.metadata.update(metadata)
 
     def __getitem__(self, item):
diff --git a/distutils2/index/simple.py b/distutils2/index/simple.py
--- a/distutils2/index/simple.py
+++ b/distutils2/index/simple.py
@@ -22,7 +22,7 @@
                                      UnableToDownload, CantParseArchiveName,
                                      ReleaseNotFound, ProjectNotFound)
 from distutils2.index.mirrors import get_mirrors
-from distutils2.metadata import DistributionMetadata
+from distutils2.metadata import Metadata
 from distutils2.version import get_version_predicate
 from distutils2 import __version__ as __distutils2_version__
 
@@ -203,7 +203,7 @@
         if not release._metadata:
             location = release.get_distribution().unpack()
             pkg_info = os.path.join(location, 'PKG-INFO')
-            release._metadata = DistributionMetadata(pkg_info)
+            release._metadata = Metadata(pkg_info)
         return release
 
     def _switch_to_next_mirror(self):
diff --git a/distutils2/metadata.py b/distutils2/metadata.py
--- a/distutils2/metadata.py
+++ b/distutils2/metadata.py
@@ -41,7 +41,7 @@
     _HAS_DOCUTILS = False
 
 # public API of this module
-__all__ = ('DistributionMetadata', 'PKG_INFO_ENCODING',
+__all__ = ('Metadata', 'PKG_INFO_ENCODING',
            'PKG_INFO_PREFERRED_VERSION')
 
 # Encoding used for the PKG-INFO files
@@ -181,7 +181,7 @@
 
 _MISSING = object()
 
-class DistributionMetadata(object):
+class Metadata(object):
     """The metadata of a release.
 
     Supports versions 1.0, 1.1 and 1.2 (auto-detected). You can
diff --git a/distutils2/tests/test_command_install_distinfo.py b/distutils2/tests/test_command_install_distinfo.py
--- a/distutils2/tests/test_command_install_distinfo.py
+++ b/distutils2/tests/test_command_install_distinfo.py
@@ -5,7 +5,7 @@
 
 from distutils2.command.install_distinfo import install_distinfo
 from distutils2.command.cmd import Command
-from distutils2.metadata import DistributionMetadata
+from distutils2.metadata import Metadata
 from distutils2.tests import unittest, support
 
 try:
@@ -64,7 +64,7 @@
         self.assertEqual(open(os.path.join(dist_info, 'REQUESTED')).read(),
                          '')
         meta_path = os.path.join(dist_info, 'METADATA')
-        self.assertTrue(DistributionMetadata(path=meta_path).check())
+        self.assertTrue(Metadata(path=meta_path).check())
 
     def test_installer(self):
         pkg_dir, dist = self.create_dist(name='foo',
diff --git a/distutils2/tests/test_dist.py b/distutils2/tests/test_dist.py
--- a/distutils2/tests/test_dist.py
+++ b/distutils2/tests/test_dist.py
@@ -68,7 +68,7 @@
             distutils2.dist.DEBUG = False
 
     def test_write_pkg_file(self):
-        # Check DistributionMetadata handling of Unicode fields
+        # Check Metadata handling of Unicode fields
         tmp_dir = self.mkdtemp()
         my_file = os.path.join(tmp_dir, 'f')
         cls = Distribution
diff --git a/distutils2/tests/test_install.py b/distutils2/tests/test_install.py
--- a/distutils2/tests/test_install.py
+++ b/distutils2/tests/test_install.py
@@ -5,7 +5,7 @@
 
 from distutils2 import install
 from distutils2.index.xmlrpc import Client
-from distutils2.metadata import DistributionMetadata
+from distutils2.metadata import Metadata
 from distutils2.tests import run_unittest
 from distutils2.tests.support import TempdirManager
 from distutils2.tests.pypi_server import use_xmlrpc_server
@@ -18,7 +18,7 @@
     def __init__(self, name, version, deps):
         self.name = name
         self.version = version
-        self.metadata = DistributionMetadata()
+        self.metadata = Metadata()
         self.metadata['Requires-Dist'] = deps
         self.metadata['Provides-Dist'] = ['%s (%s)' % (name, version)]
 
diff --git a/distutils2/tests/test_metadata.py b/distutils2/tests/test_metadata.py
--- a/distutils2/tests/test_metadata.py
+++ b/distutils2/tests/test_metadata.py
@@ -4,7 +4,7 @@
 import platform
 from StringIO import StringIO
 
-from distutils2.metadata import (DistributionMetadata, _interpret,
+from distutils2.metadata import (Metadata, _interpret,
                                  PKG_INFO_PREFERRED_VERSION)
 from distutils2.tests import run_unittest, unittest
 from distutils2.tests.support import LoggingCatcher, WarningsCatcher
@@ -12,7 +12,7 @@
                                MetadataUnrecognizedVersionError)
 
 
-class DistributionMetadataTestCase(LoggingCatcher, WarningsCatcher,
+class MetadataTestCase(LoggingCatcher, WarningsCatcher,
                                    unittest.TestCase):
 
     def test_instantiation(self):
@@ -24,26 +24,26 @@
             fp.close()
         fp = StringIO(contents)
 
-        m = DistributionMetadata()
+        m = Metadata()
         self.assertRaises(MetadataUnrecognizedVersionError, m.items)
 
-        m = DistributionMetadata(PKG_INFO)
+        m = Metadata(PKG_INFO)
         self.assertEqual(len(m.items()), 22)
 
-        m = DistributionMetadata(fileobj=fp)
+        m = Metadata(fileobj=fp)
         self.assertEqual(len(m.items()), 22)
 
-        m = DistributionMetadata(mapping=dict(name='Test', version='1.0'))
+        m = Metadata(mapping=dict(name='Test', version='1.0'))
         self.assertEqual(len(m.items()), 11)
 
         d = dict(m.items())
-        self.assertRaises(TypeError, DistributionMetadata,
+        self.assertRaises(TypeError, Metadata,
                           PKG_INFO, fileobj=fp)
-        self.assertRaises(TypeError, DistributionMetadata,
+        self.assertRaises(TypeError, Metadata,
                           PKG_INFO, mapping=d)
-        self.assertRaises(TypeError, DistributionMetadata,
+        self.assertRaises(TypeError, Metadata,
                           fileobj=fp, mapping=d)
-        self.assertRaises(TypeError, DistributionMetadata,
+        self.assertRaises(TypeError, Metadata,
                           PKG_INFO, mapping=m, fileobj=fp)
 
     def test_interpret(self):
@@ -97,11 +97,11 @@
 
     def test_metadata_read_write(self):
         PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO')
-        metadata = DistributionMetadata(PKG_INFO)
+        metadata = Metadata(PKG_INFO)
         out = StringIO()
         metadata.write_file(out)
         out.seek(0)
-        res = DistributionMetadata()
+        res = Metadata()
         res.read_file(out)
         for k in metadata.keys():
             self.assertTrue(metadata[k] == res[k])
@@ -111,7 +111,7 @@
         PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO')
         content = open(PKG_INFO).read()
         content = content % sys.platform
-        metadata = DistributionMetadata(platform_dependent=True)
+        metadata = Metadata(platform_dependent=True)
         metadata.read_file(StringIO(content))
         self.assertEqual(metadata['Requires-Dist'], ['bar'])
         metadata['Name'] = "baz; sys.platform == 'blah'"
@@ -121,7 +121,7 @@
 
         # test with context
         context = {'sys.platform': 'okook'}
-        metadata = DistributionMetadata(platform_dependent=True,
+        metadata = Metadata(platform_dependent=True,
                                         execution_context=context)
         metadata.read_file(StringIO(content))
         self.assertEqual(metadata['Requires-Dist'], ['foo'])
@@ -130,7 +130,7 @@
         PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO')
         content = open(PKG_INFO).read()
         content = content % sys.platform
-        metadata = DistributionMetadata()
+        metadata = Metadata()
         metadata.read_file(StringIO(content))
 
         # see if we can read the description now
@@ -149,7 +149,7 @@
         PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO')
         content = open(PKG_INFO).read()
         content = content % sys.platform
-        metadata = DistributionMetadata(fileobj=StringIO(content))
+        metadata = Metadata(fileobj=StringIO(content))
         self.assertIn('Version', metadata.keys())
         self.assertIn('0.5', metadata.values())
         self.assertIn(('Version', '0.5'), metadata.items())
@@ -160,7 +160,7 @@
         self.assertEqual(metadata['Version'], '0.7')
 
     def test_versions(self):
-        metadata = DistributionMetadata()
+        metadata = Metadata()
         metadata['Obsoletes'] = 'ok'
         self.assertEqual(metadata['Metadata-Version'], '1.1')
 
@@ -191,7 +191,7 @@
 
     # XXX Spurious Warnings were disabled
     def XXXtest_warnings(self):
-        metadata = DistributionMetadata()
+        metadata = Metadata()
 
         # these should raise a warning
         values = (('Requires-Dist', 'Funky (Groovie)'),
@@ -204,7 +204,7 @@
         self.assertEqual(len(self.logs), 2)
 
     def test_multiple_predicates(self):
-        metadata = DistributionMetadata()
+        metadata = Metadata()
 
         # see for "3" instead of "3.0"  ???
         # its seems like the MINOR VERSION can be omitted
@@ -214,14 +214,14 @@
         self.assertEqual(len(self.warnings), 0)
 
     def test_project_url(self):
-        metadata = DistributionMetadata()
+        metadata = Metadata()
         metadata['Project-URL'] = [('one', 'http://ok')]
         self.assertEqual(metadata['Project-URL'],
                           [('one', 'http://ok')])
         self.assertEqual(metadata.version, '1.2')
 
     def test_check(self):
-        metadata = DistributionMetadata()
+        metadata = Metadata()
         metadata['Version'] = 'rr'
         metadata['Requires-dist'] = ['Foo (a)']
         if metadata.docutils_support:
@@ -233,7 +233,7 @@
         self.assertEqual(len(warnings), 2)
 
     def test_best_choice(self):
-        metadata = DistributionMetadata()
+        metadata = Metadata()
         metadata['Version'] = '1.0'
         self.assertEqual(metadata.version, PKG_INFO_PREFERRED_VERSION)
         metadata['Classifier'] = ['ok']
@@ -242,7 +242,7 @@
     def test_project_urls(self):
         # project-url is a bit specific, make sure we write it
         # properly in PKG-INFO
-        metadata = DistributionMetadata()
+        metadata = Metadata()
         metadata['Version'] = '1.0'
         metadata['Project-Url'] = [('one', 'http://ok')]
         self.assertEqual(metadata['Project-Url'], [('one', 'http://ok')])
@@ -253,13 +253,13 @@
         self.assertIn('Project-URL: one,http://ok', res)
 
         file_.seek(0)
-        metadata = DistributionMetadata()
+        metadata = Metadata()
         metadata.read_file(file_)
         self.assertEqual(metadata['Project-Url'], [('one', 'http://ok')])
 
 
 def test_suite():
-    return unittest.makeSuite(DistributionMetadataTestCase)
+    return unittest.makeSuite(MetadataTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/docs/design/pep-0376.txt b/docs/design/pep-0376.txt
--- a/docs/design/pep-0376.txt
+++ b/docs/design/pep-0376.txt
@@ -425,7 +425,7 @@
 
 - ``name``: The name of the distribution.
 
-- ``metadata``: A ``DistributionMetadata`` instance loaded with the
+- ``metadata``: A ``Metadata`` instance loaded with the
   distribution's PKG-INFO file.
 
 - ``requested``: A boolean that indicates whether the REQUESTED
diff --git a/docs/source/distutils/examples.rst b/docs/source/distutils/examples.rst
--- a/docs/source/distutils/examples.rst
+++ b/docs/source/distutils/examples.rst
@@ -298,11 +298,11 @@
 ``2.7`` or ``3.2``.
 
 You can read back this static file, by using the
-:class:`distutils2.dist.DistributionMetadata` class and its
+:class:`distutils2.dist.Metadata` class and its
 :func:`read_pkg_file` method::
 
-    >>> from distutils2.dist import DistributionMetadata
-    >>> metadata = DistributionMetadata()
+    >>> from distutils2.dist import Metadata
+    >>> metadata = Metadata()
     >>> metadata.read_pkg_file(open('distribute-0.6.8-py2.7.egg-info'))
     >>> metadata.name
     'distribute'
@@ -315,7 +315,7 @@
 loads its values::
 
     >>> pkg_info_path = 'distribute-0.6.8-py2.7.egg-info'
-    >>> DistributionMetadata(pkg_info_path).name
+    >>> Metadata(pkg_info_path).name
     'distribute'
 
 
diff --git a/docs/source/library/distutils2.metadata.rst b/docs/source/library/distutils2.metadata.rst
--- a/docs/source/library/distutils2.metadata.rst
+++ b/docs/source/library/distutils2.metadata.rst
@@ -2,7 +2,7 @@
 Metadata
 ========
 
-Distutils2 provides a :class:`DistributionMetadata` class that can read and
+Distutils2 provides a :class:`Metadata` class that can read and
 write metadata files. This class is compatible with all metadata versions:
 
 * 1.0: :PEP:`241`
@@ -17,11 +17,11 @@
 Reading metadata
 ================
 
-The :class:`DistributionMetadata` class can be instantiated with the path of
+The :class:`Metadata` class can be instantiated with the path of
 the metadata file, and provides a dict-like interface to the values::
 
-    >>> from distutils2.metadata import DistributionMetadata
-    >>> metadata = DistributionMetadata('PKG-INFO')
+    >>> from distutils2.metadata import Metadata
+    >>> metadata = Metadata('PKG-INFO')
     >>> metadata.keys()[:5]
     ('Metadata-Version', 'Name', 'Version', 'Platform', 'Supported-Platform')
     >>> metadata['Name']
@@ -33,13 +33,13 @@
 
 The fields that supports environment markers can be automatically ignored if
 the object is instantiated using the ``platform_dependent`` option.
-:class:`DistributionMetadata` will interpret in the case the markers and will
+:class:`Metadata` will interpret in the case the markers and will
 automatically remove the fields that are not compliant with the running
 environment. Here's an example under Mac OS X. The win32 dependency
 we saw earlier is ignored::
 
-    >>> from distutils2.metadata import DistributionMetadata
-    >>> metadata = DistributionMetadata('PKG-INFO', platform_dependent=True)
+    >>> from distutils2.metadata import Metadata
+    >>> metadata = Metadata('PKG-INFO', platform_dependent=True)
     >>> metadata['Requires-Dist']
     ['bar']
 
@@ -51,9 +51,9 @@
 
 Here's an example, simulating a win32 environment::
 
-    >>> from distutils2.metadata import DistributionMetadata
+    >>> from distutils2.metadata import Metadata
     >>> context = {'sys.platform': 'win32'}
-    >>> metadata = DistributionMetadata('PKG-INFO', platform_dependent=True,
+    >>> metadata = Metadata('PKG-INFO', platform_dependent=True,
     ...                                 execution_context=context)
     ...
     >>> metadata['Requires-Dist'] = ["pywin32; sys.platform == 'win32'",
@@ -81,8 +81,8 @@
 Some fields in :PEP:`345` have to follow a version scheme in their versions
 predicate. When the scheme is violated, a warning is emitted::
 
-    >>> from distutils2.metadata import DistributionMetadata
-    >>> metadata = DistributionMetadata()
+    >>> from distutils2.metadata import Metadata
+    >>> metadata = Metadata()
     >>> metadata['Requires-Dist'] = ['Funky (Groovie)']
     "Funky (Groovie)" is not a valid predicate
     >>> metadata['Requires-Dist'] = ['Funky (1.2)']

--
Repository URL: http://hg.python.org/distutils2


More information about the Python-checkins mailing list