From ce9b596c04626c734993106acf4ccebd517a71d8 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sun, 19 Jun 2011 16:56:49 -0700 Subject: Fix closes Issue12315 - Updates to http.client documentation. --- Doc/library/http.client.rst | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst index 704585b..d16b808 100644 --- a/Doc/library/http.client.rst +++ b/Doc/library/http.client.rst @@ -543,6 +543,9 @@ statement. A debugging hook. If :attr:`debuglevel` is greater than zero, messages will be printed to stdout as the response is read and parsed. +.. attribute:: HTTPResponse.closed + + Is True if the stream is closed. Examples -------- @@ -555,7 +558,15 @@ Here is an example session that uses the ``GET`` method:: >>> r1 = conn.getresponse() >>> print(r1.status, r1.reason) 200 OK - >>> data1 = r1.read() + >>> data1 = r1.read() # This will return entire content. + >>> # The following example demonstrates reading data in chunks. + >>> conn.request("GET", "/index.html") + >>> r1 = conn.getresponse() + >>> while not r1.closed: + ... print(r1.read(200)) # 200 bytes + b'>> # Example of an invalid request >>> conn.request("GET", "/parrot.spam") >>> r2 = conn.getresponse() >>> print(r2.status, r2.reason) -- cgit v0.12 From fd8d7e9b0dc151bd37da6756b09fa2d139416229 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sun, 19 Jun 2011 16:59:41 -0700 Subject: Whitespace nit fixed using reident. --- Doc/library/http.client.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst index d16b808..54873ae 100644 --- a/Doc/library/http.client.rst +++ b/Doc/library/http.client.rst @@ -545,7 +545,7 @@ statement. .. attribute:: HTTPResponse.closed - Is True if the stream is closed. + Is True if the stream is closed. Examples -------- -- cgit v0.12 From 5c0347b3989e7bf9fd78825a6bdd1fee7ad2a9dd Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sun, 19 Jun 2011 17:37:06 -0700 Subject: Fix closes Issue12359 - Minor update to module import description. --- Doc/tutorial/modules.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Doc/tutorial/modules.rst b/Doc/tutorial/modules.rst index d4bfbda..6239c2a 100644 --- a/Doc/tutorial/modules.rst +++ b/Doc/tutorial/modules.rst @@ -159,13 +159,14 @@ The Module Search Path .. index:: triple: module; search; path -When a module named :mod:`spam` is imported, the interpreter searches for a file -named :file:`spam.py` in the current directory, and then in the list of -directories specified by the environment variable :envvar:`PYTHONPATH`. This -has the same syntax as the shell variable :envvar:`PATH`, that is, a list of -directory names. When :envvar:`PYTHONPATH` is not set, or when the file is not -found there, the search continues in an installation-dependent default path; on -Unix, this is usually :file:`.:/usr/local/lib/python`. +When a module named :mod:`spam` is imported, the interpreter searches for a +file named :file:`spam.py` in the directory containing the input script (or +thecurrent directory), and then in the list of directories specified by the +environment variable :envvar:`PYTHONPATH`. This has the same syntax as the +shell variable :envvar:`PATH`, that is, a list of directory names. When +:envvar:`PYTHONPATH` is not set, or when the file is not found there, the +search continues in an installation-dependent default path; on Unix, this is +usually :file:`.:/usr/local/lib/python`. Actually, modules are searched in the list of directories given by the variable ``sys.path`` which is initialized from the directory containing the input script -- cgit v0.12 From 150857028ca931e9b73c6472a89476d84c8724c1 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sun, 19 Jun 2011 17:41:33 -0700 Subject: minor space nit. --- Doc/tutorial/modules.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/tutorial/modules.rst b/Doc/tutorial/modules.rst index 6239c2a..2451fd5 100644 --- a/Doc/tutorial/modules.rst +++ b/Doc/tutorial/modules.rst @@ -161,7 +161,7 @@ The Module Search Path When a module named :mod:`spam` is imported, the interpreter searches for a file named :file:`spam.py` in the directory containing the input script (or -thecurrent directory), and then in the list of directories specified by the +the current directory), and then in the list of directories specified by the environment variable :envvar:`PYTHONPATH`. This has the same syntax as the shell variable :envvar:`PATH`, that is, a list of directory names. When :envvar:`PYTHONPATH` is not set, or when the file is not found there, the -- cgit v0.12 From 656df5ec3eaf879980b8587e30831612de9d049f Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sun, 19 Jun 2011 18:22:33 -0700 Subject: Fix closes issue 12360 - correcting parameter names in asyncore documentation. --- Doc/library/asyncore.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/library/asyncore.rst b/Doc/library/asyncore.rst index 5f95d41..619b7bb 100644 --- a/Doc/library/asyncore.rst +++ b/Doc/library/asyncore.rst @@ -157,8 +157,8 @@ any that have been added to the map during asynchronous service) is closed. Called on listening channels (passive openers) when a connection has been established with a new remote endpoint that has issued a :meth:`connect` - call for the local endpoint. *conn* is a *new* socket object usable to - send and receive data on the connection, and *address* is the address + call for the local endpoint. *sock* is a *new* socket object usable to + send and receive data on the connection, and *addr* is the address bound to the socket on the other end of the connection. .. versionadded:: 3.2 -- cgit v0.12 From 4707a998e4a0a0587dd6265e0c8c64588ab23712 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Mon, 20 Jun 2011 07:30:34 -0700 Subject: Fix closes Issue12359 - Removing a confusing sentence from the previous change. --- Doc/tutorial/modules.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Doc/tutorial/modules.rst b/Doc/tutorial/modules.rst index 2451fd5..3254a80 100644 --- a/Doc/tutorial/modules.rst +++ b/Doc/tutorial/modules.rst @@ -160,13 +160,13 @@ The Module Search Path .. index:: triple: module; search; path When a module named :mod:`spam` is imported, the interpreter searches for a -file named :file:`spam.py` in the directory containing the input script (or -the current directory), and then in the list of directories specified by the -environment variable :envvar:`PYTHONPATH`. This has the same syntax as the -shell variable :envvar:`PATH`, that is, a list of directory names. When -:envvar:`PYTHONPATH` is not set, or when the file is not found there, the -search continues in an installation-dependent default path; on Unix, this is -usually :file:`.:/usr/local/lib/python`. +file named :file:`spam.py` in the directory containing the input script and +then in the list of directories specified by the environment variable +:envvar:`PYTHONPATH`. This has the same syntax as the shell variable +:envvar:`PATH`, that is, a list of directory names. When :envvar:`PYTHONPATH` +is not set, or when the file is not found there, the search continues in an +installation-dependent default path; on Unix, this is usually +:file:`.:/usr/local/lib/python`. Actually, modules are searched in the list of directories given by the variable ``sys.path`` which is initialized from the directory containing the input script -- cgit v0.12 From 2fae27b735f4d93c8a7789a7a98857e1ce3c7193 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 20 Jun 2011 17:53:35 +0200 Subject: Issue #12285: multiprocessing.Pool() raises a ValueError if the number of processes if negative or null. --- Lib/multiprocessing/pool.py | 2 ++ Lib/test/test_multiprocessing.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/Lib/multiprocessing/pool.py b/Lib/multiprocessing/pool.py index 92170f2..e450319 100644 --- a/Lib/multiprocessing/pool.py +++ b/Lib/multiprocessing/pool.py @@ -148,6 +148,8 @@ class Pool(object): processes = cpu_count() except NotImplementedError: processes = 1 + if processes < 1: + raise ValueError("Number of processes must be at least 1") if initializer is not None and not hasattr(initializer, '__call__'): raise TypeError('initializer must be a callable') diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 2614689..dc41e15 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -1089,6 +1089,9 @@ class _TestPool(BaseTestCase): self.assertEqual(sorted(it), list(map(sqr, list(range(1000))))) def test_make_pool(self): + self.assertRaises(ValueError, multiprocessing.Pool, -1) + self.assertRaises(ValueError, multiprocessing.Pool, 0) + p = multiprocessing.Pool(3) self.assertEqual(3, len(p._pool)) p.close() -- cgit v0.12