]> granicus.if.org Git - python/commitdiff
Renamed ConfigParser to configparser.
authorAlexandre Vassalotti <alexandre@peadrop.com>
Wed, 14 May 2008 22:59:42 +0000 (22:59 +0000)
committerAlexandre Vassalotti <alexandre@peadrop.com>
Wed, 14 May 2008 22:59:42 +0000 (22:59 +0000)
Merged revisions 63247-63248 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r63247 | georg.brandl | 2008-05-14 18:30:31 -0400 (Wed, 14 May 2008) | 2 lines

  Update configparser docs for lowercasing rename.
........
  r63248 | alexandre.vassalotti | 2008-05-14 18:44:22 -0400 (Wed, 14 May 2008) | 8 lines

  Updated import statements to use the new `configparser` module name.
  Updated the documentation to use the new name.
  Revert addition of the stub entry for the old name.

  Georg, I am reverting your changes since this commit should propagate
  to py3k.
........

Doc/library/configparser.rst
Doc/library/logging.rst
Doc/library/shlex.rst
Lib/configparser.py [moved from Lib/ConfigParser.py with 100% similarity]
Lib/distutils/command/upload.py
Lib/distutils/dist.py
Lib/idlelib/configHandler.py
Lib/logging/config.py
Lib/test/test___all__.py
Lib/test/test_cfgparser.py
Misc/NEWS

index a7ad2e7ff1f5d3709969f2d428266abe90922015..75bfd92daccb7fd180655ef56ae3fff83e0966c4 100644 (file)
@@ -1,15 +1,14 @@
-
-:mod:`ConfigParser` --- Configuration file parser
+:mod:`configparser` --- Configuration file parser
 =================================================
 
-.. module:: ConfigParser
+.. module:: configparser
    :synopsis: Configuration file parser.
+
 .. moduleauthor:: Ken Manheimer <klm@zope.com>
 .. moduleauthor:: Barry Warsaw <bwarsaw@python.org>
 .. moduleauthor:: Eric S. Raymond <esr@thyrsus.com>
 .. sectionauthor:: Christopher G. Petrilli <petrilli@amber.org>
 
-
 .. index::
    pair: .ini; file
    pair: configuration; file
@@ -213,9 +212,9 @@ RawConfigParser Objects
    load the required file or files using :meth:`readfp` before calling :meth:`read`
    for any optional files::
 
-      import ConfigParser, os
+      import configparser, os
 
-      config = ConfigParser.ConfigParser()
+      config = configparser.ConfigParser()
       config.readfp(open('defaults.cfg'))
       config.read(['site.cfg', os.path.expanduser('~/.myapp.cfg')])
 
@@ -342,9 +341,9 @@ Examples
 
 An example of writing to a configuration file::
 
-   import ConfigParser
+   import configparser
 
-   config = ConfigParser.RawConfigParser()
+   config = configparser.RawConfigParser()
    
    # When adding sections or items, add them in the reverse order of
    # how you want them to be displayed in the actual file.
@@ -367,9 +366,9 @@ An example of writing to a configuration file::
 
 An example of reading the configuration file again::
 
-   import ConfigParser
+   import configparser
 
-   config = ConfigParser.RawConfigParser()
+   config = configparser.RawConfigParser()
    config.read('example.cfg')
 
    # getfloat() raises an exception if the value is not a float
@@ -386,9 +385,9 @@ An example of reading the configuration file again::
 To get interpolation, you will need to use a :class:`ConfigParser` or
 :class:`SafeConfigParser`::
 
-   import ConfigParser
+   import configparser
 
-   config = ConfigParser.ConfigParser()
+   config = configparser.ConfigParser()
    config.read('example.cfg')
 
    # Set the third, optional argument of get to 1 if you wish to use raw mode.
@@ -403,10 +402,10 @@ To get interpolation, you will need to use a :class:`ConfigParser` or
 Defaults are available in all three types of ConfigParsers. They are used in 
 interpolation if an option used is not defined elsewhere. ::
 
-   import ConfigParser
+   import configparser
 
    # New instance with 'bar' and 'baz' defaulting to 'Life' and 'hard' each
-   config = ConfigParser.SafeConfigParser({'bar': 'Life', 'baz': 'hard'})
+   config = configparser.SafeConfigParser({'bar': 'Life', 'baz': 'hard'})
    config.read('example.cfg')
    
    print(config.get('Section1', 'foo')) # -> "Python is fun!"
@@ -419,7 +418,7 @@ The function ``opt_move`` below can be used to move options between sections::
    def opt_move(config, section1, section2, option):
        try:
            config.set(section2, option, config.get(section1, option, 1))
-       except ConfigParser.NoSectionError:
+       except configparser.NoSectionError:
            # Create non-existent section
            config.add_section(section2)
            opt_move(config, section1, section2, option)
index 365776a2e6aad72a88ea7d54781720ea7ce0a6b0..cac29e999791c575e713c40c14e1896ef382ce5f 100644 (file)
@@ -2202,12 +2202,12 @@ in :mod:`logging` itself) and defining handlers which are declared either in
 
 .. function:: fileConfig(fname[, defaults])
 
-   Reads the logging configuration from a ConfigParser-format file named *fname*.
-   This function can be called several times from an application, allowing an end
-   user the ability to select from various pre-canned configurations (if the
-   developer provides a mechanism to present the choices and load the chosen
-   configuration). Defaults to be passed to ConfigParser can be specified in the
-   *defaults* argument.
+   Reads the logging configuration from a :mod:`configparser`\-format file named
+   *fname*.  This function can be called several times from an application,
+   allowing an end user the ability to select from various pre-canned
+   configurations (if the developer provides a mechanism to present the choices
+   and load the chosen configuration). Defaults to be passed to the ConfigParser
+   can be specified in the *defaults* argument.
 
 
 .. function:: listen([port])
@@ -2237,18 +2237,20 @@ in :mod:`logging` itself) and defining handlers which are declared either in
 Configuration file format
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-The configuration file format understood by :func:`fileConfig` is based on
-ConfigParser functionality. The file must contain sections called ``[loggers]``,
-``[handlers]`` and ``[formatters]`` which identify by name the entities of each
-type which are defined in the file. For each such entity, there is a separate
-section which identified how that entity is configured. Thus, for a logger named
-``log01`` in the ``[loggers]`` section, the relevant configuration details are
-held in a section ``[logger_log01]``. Similarly, a handler called ``hand01`` in
-the ``[handlers]`` section will have its configuration held in a section called
-``[handler_hand01]``, while a formatter called ``form01`` in the
-``[formatters]`` section will have its configuration specified in a section
-called ``[formatter_form01]``. The root logger configuration must be specified
-in a section called ``[logger_root]``.
+The configuration file format understood by :func:`fileConfig` is
+based on :mod:`configparser` functionality. The file must contain
+sections called ``[loggers]``, ``[handlers]`` and ``[formatters]``
+which identify by name the entities of each type which are defined in
+the file. For each such entity, there is a separate section which
+identified how that entity is configured. Thus, for a logger named
+``log01`` in the ``[loggers]`` section, the relevant configuration
+details are held in a section ``[logger_log01]``. Similarly, a handler
+called ``hand01`` in the ``[handlers]`` section will have its
+configuration held in a section called ``[handler_hand01]``, while a
+formatter called ``form01`` in the ``[formatters]`` section will have
+its configuration specified in a section called
+``[formatter_form01]``. The root logger configuration must be
+specified in a section called ``[logger_root]``.
 
 Examples of these sections in the file are given below. ::
 
index 7d88610fbe4f3f6dd46155574074527ab173e67f..1b1e6fe7000715a289d770263d7504f41d36fc54 100644 (file)
@@ -55,7 +55,7 @@ The :mod:`shlex` module defines the following class:
 
 .. seealso::
 
-   Module :mod:`ConfigParser`
+   Module :mod:`configparser`
       Parser for configuration files similar to the Windows :file:`.ini` files.
 
 
similarity index 100%
rename from Lib/ConfigParser.py
rename to Lib/configparser.py
index 34b6692d047fbb72c5998576d39c8bea3df271a4..23999ae9cae410f38fbbd4cfb2b8850af209ad1e 100644 (file)
@@ -10,7 +10,7 @@ from hashlib import md5
 import os
 import socket
 import platform
-import ConfigParser
+import configparser
 import httplib
 import base64
 import urlparse
index ade2ab795c8c9f785e140ce4498ae8446dfc6b36..847eb902cf3c29435f2b0a8c44e76dd97ac0eff6 100644 (file)
@@ -349,7 +349,7 @@ Common commands: (see '--help-commands' for more)
 
     def parse_config_files (self, filenames=None):
 
-        from ConfigParser import ConfigParser
+        from configparser import ConfigParser
 
         if filenames is None:
             filenames = self.find_config_files()
index 9b995cf2cfb57bef6706f177b9e8094fea3cb3ea..8b58bbed98da099eee38f4367f852cfc2236d764 100644 (file)
@@ -21,7 +21,7 @@ import os
 import sys
 
 from idlelib import macosxSupport
-from ConfigParser import ConfigParser, NoOptionError, NoSectionError
+from configparser import ConfigParser, NoOptionError, NoSectionError
 
 class InvalidConfigType(Exception): pass
 class InvalidConfigSet(Exception): pass
index 172f069056c27f1c2ffaea0e5bb03dfb7e72b3ef..006d6690e5aba71f42453a5f124147e31caeb0d5 100644 (file)
@@ -62,9 +62,9 @@ def fileConfig(fname, defaults=None):
     rather than a filename, in which case the file-like object will be read
     using readfp.
     """
-    import ConfigParser
+    import configparser
 
-    cp = ConfigParser.ConfigParser(defaults)
+    cp = configparser.ConfigParser(defaults)
     if hasattr(cp, 'readfp') and hasattr(fname, 'readline'):
         cp.readfp(fname)
     else:
index ab8480f91bdf41271419e9e691ef3fa753d04190..f6da4fe2ba201b963b9e76cf12ec07fda29db163 100644 (file)
@@ -34,7 +34,7 @@ class AllTest(unittest.TestCase):
 
         self.check_all("BaseHTTPServer")
         self.check_all("CGIHTTPServer")
-        self.check_all("ConfigParser")
+        self.check_all("configparser")
         self.check_all("Cookie")
         self.check_all("Queue")
         self.check_all("SimpleHTTPServer")
index a2da55620c173791ecfef363f9c60cbd9faea0a1..70bf0acf63ea36445054e3e93c43693aec593b46 100644 (file)
@@ -1,4 +1,4 @@
-import ConfigParser
+import configparser
 import io
 import unittest
 import collections
@@ -89,7 +89,7 @@ class TestCaseBase(unittest.TestCase):
                     "remove_option() failed to report non-existance of option"
                     " that was removed")
 
-        self.assertRaises(ConfigParser.NoSectionError,
+        self.assertRaises(configparser.NoSectionError,
                           cf.remove_option, 'No Such Section', 'foo')
 
         eq(cf.get('Long Line', 'foo'),
@@ -142,17 +142,17 @@ class TestCaseBase(unittest.TestCase):
 
     def test_parse_errors(self):
         self.newconfig()
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\n  extra-spaces: splat\n")
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\n  extra-spaces= splat\n")
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\noption-without-value\n")
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\n:value-without-option-name\n")
-        self.parse_error(ConfigParser.ParsingError,
+        self.parse_error(configparser.ParsingError,
                          "[Foo]\n=value-without-option-name\n")
-        self.parse_error(ConfigParser.MissingSectionHeaderError,
+        self.parse_error(configparser.MissingSectionHeaderError,
                          "No Section!\n")
 
     def parse_error(self, exc, src):
@@ -165,13 +165,13 @@ class TestCaseBase(unittest.TestCase):
                          "new ConfigParser should have no defined sections")
         self.failIf(cf.has_section("Foo"),
                     "new ConfigParser should have no acknowledged sections")
-        self.assertRaises(ConfigParser.NoSectionError,
+        self.assertRaises(configparser.NoSectionError,
                           cf.options, "Foo")
-        self.assertRaises(ConfigParser.NoSectionError,
+        self.assertRaises(configparser.NoSectionError,
                           cf.set, "foo", "bar", "value")
-        self.get_error(ConfigParser.NoSectionError, "foo", "bar")
+        self.get_error(configparser.NoSectionError, "foo", "bar")
         cf.add_section("foo")
-        self.get_error(ConfigParser.NoOptionError, "foo", "bar")
+        self.get_error(configparser.NoOptionError, "foo", "bar")
 
     def get_error(self, exc, section, option):
         try:
@@ -210,7 +210,7 @@ class TestCaseBase(unittest.TestCase):
     def test_weird_errors(self):
         cf = self.newconfig()
         cf.add_section("Foo")
-        self.assertRaises(ConfigParser.DuplicateSectionError,
+        self.assertRaises(configparser.DuplicateSectionError,
                           cf.add_section, "Foo")
 
     def test_write(self):
@@ -314,7 +314,7 @@ class TestCaseBase(unittest.TestCase):
 
 
 class ConfigParserTestCase(TestCaseBase):
-    config_class = ConfigParser.ConfigParser
+    config_class = configparser.ConfigParser
 
     def test_interpolation(self):
         cf = self.get_interpolation_config()
@@ -325,11 +325,11 @@ class ConfigParserTestCase(TestCaseBase):
            "something with lots of interpolation (9 steps)")
         eq(cf.get("Foo", "bar10"),
            "something with lots of interpolation (10 steps)")
-        self.get_error(ConfigParser.InterpolationDepthError, "Foo", "bar11")
+        self.get_error(configparser.InterpolationDepthError, "Foo", "bar11")
 
     def test_interpolation_missing_value(self):
         cf = self.get_interpolation_config()
-        e = self.get_error(ConfigParser.InterpolationError,
+        e = self.get_error(configparser.InterpolationError,
                            "Interpolation Error", "name")
         self.assertEqual(e.reference, "reference")
         self.assertEqual(e.section, "Interpolation Error")
@@ -365,7 +365,7 @@ class ConfigParserTestCase(TestCaseBase):
 
 
 class RawConfigParserTestCase(TestCaseBase):
-    config_class = ConfigParser.RawConfigParser
+    config_class = configparser.RawConfigParser
 
     def test_interpolation(self):
         cf = self.get_interpolation_config()
@@ -400,7 +400,7 @@ class RawConfigParserTestCase(TestCaseBase):
 
 
 class SafeConfigParserTestCase(ConfigParserTestCase):
-    config_class = ConfigParser.SafeConfigParser
+    config_class = configparser.SafeConfigParser
 
     def test_safe_interpolation(self):
         # See http://www.python.org/sf/511737
index 80f31ef9e63399442874f4aeb6e6a36cd29a8489..75e8be0d4d83d5f365f0acc722e91a9ab47e47ab 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -28,6 +28,8 @@ Extension Modules
 Library
 -------
 
+- The ConfigParser module has been renamed to configparser.
+
 - Issue 2865: webbrowser.open() works again in a KDE environment.
 
 - The multifile module has been removed.