]> granicus.if.org Git - python/commitdiff
Style updates for the #11670 solution after post-commit review by Ezio Melotti:
authorŁukasz Langa <lukasz@langa.pl>
Thu, 28 Apr 2011 10:02:05 +0000 (12:02 +0200)
committerŁukasz Langa <lukasz@langa.pl>
Thu, 28 Apr 2011 10:02:05 +0000 (12:02 +0200)
http://mail.python.org/pipermail/python-checkins/2011-April/104688.html

Thanks!

Doc/library/configparser.rst
Lib/test/test_cfgparser.py

index 49e348f82bcffcb91fde4247db02fb5901227b75..1a88bbd2d539528619d2d382c2272851c4f02c17 100644 (file)
@@ -975,7 +975,7 @@ ConfigParser Objects
    .. method:: read_file(f, source=None)
 
       Read and parse configuration data from *f* which must be an iterable
-      yielding Unicode strings (for example any file object).
+      yielding Unicode strings (for example files opened in text mode).
 
       Optional argument *source* specifies the name of the file being read.  If
       not given and *f* has a :attr:`name` attribute, that is used for
@@ -984,28 +984,6 @@ ConfigParser Objects
       .. versionadded:: 3.2
          Replaces :meth:`readfp`.
 
-      .. note::
-
-         Prior to Python 3.2, :meth:`readfp` consumed lines from the file-like
-         argument by calling its :meth:`~file.readline` method. For existing code
-         calling :meth:`readfp` with arguments which don't support iteration,
-         the following generator may be used as a wrapper around the file-like
-         object::
-
-             def readline_generator(f):
-                 line = f.readline()
-                 while line != '':
-                     yield line
-                     line = f.readline()
-
-         Before::
-
-             parser.readfp(f)
-
-         After::
-
-             parser.read_file(readline_generator(f))
-
    .. method:: read_string(string, source='<string>')
 
       Parse configuration data from a string.
@@ -1142,6 +1120,22 @@ ConfigParser Objects
       .. deprecated:: 3.2
          Use :meth:`read_file` instead.
 
+      .. versionchanged:: 3.2
+         :meth:`readfp` now iterates on *f* instead of calling ``f.readline()``.
+
+      For existing code calling :meth:`readfp` with arguments which don't
+      support iteration, the following generator may be used as a wrapper
+      around the file-like object::
+
+         def readline_generator(f):
+             line = f.readline()
+             while line:
+                 yield line
+                 line = f.readline()
+
+      Instead of ``parser.readfp(f)`` use
+      ``parser.read_file(readline_generator(f))``.
+
 
 .. data:: MAX_INTERPOLATION_DEPTH
 
index 03e400df29f64b8990ba8e998634f1d316b79030..299f37a107d5d7c7be76b75b99e7ab153e1492d9 100644 (file)
@@ -1316,7 +1316,7 @@ class FakeFile:
 def readline_generator(f):
     """As advised in Doc/library/configparser.rst."""
     line = f.readline()
-    while line != '':
+    while line:
         yield line
         line = f.readline()
 
@@ -1327,8 +1327,8 @@ class ReadFileTestCase(unittest.TestCase):
         parser = configparser.ConfigParser()
         with open(file_path) as f:
             parser.read_file(f)
-        self.assertTrue("Foo Bar" in parser)
-        self.assertTrue("foo" in parser["Foo Bar"])
+        self.assertIn("Foo Bar", parser)
+        self.assertIn("foo", parser["Foo Bar"])
         self.assertEqual(parser["Foo Bar"]["foo"], "newbar")
 
     def test_iterable(self):
@@ -1337,8 +1337,8 @@ class ReadFileTestCase(unittest.TestCase):
         foo=newbar""").strip().split('\n')
         parser = configparser.ConfigParser()
         parser.read_file(lines)
-        self.assertTrue("Foo Bar" in parser)
-        self.assertTrue("foo" in parser["Foo Bar"])
+        self.assertIn("Foo Bar", parser)
+        self.assertIn("foo", parser["Foo Bar"])
         self.assertEqual(parser["Foo Bar"]["foo"], "newbar")
 
     def test_readline_generator(self):
@@ -1347,8 +1347,8 @@ class ReadFileTestCase(unittest.TestCase):
         with self.assertRaises(TypeError):
             parser.read_file(FakeFile())
         parser.read_file(readline_generator(FakeFile()))
-        self.assertTrue("Foo Bar" in parser)
-        self.assertTrue("foo" in parser["Foo Bar"])
+        self.assertIn("Foo Bar", parser)
+        self.assertIn("foo", parser["Foo Bar"])
         self.assertEqual(parser["Foo Bar"]["foo"], "newbar")