Commit ba702dae authored by Łukasz Langa's avatar Łukasz Langa

Style updates for the #11670 solution after post-commit review by Ezio Melotti:

http://mail.python.org/pipermail/python-checkins/2011-April/104688.html

Thanks!
parent c20566cd
......@@ -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
......
......@@ -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")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment