mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Queue renaming reversal part 3: move module into place and
change imports and other references. Closes #2925.
This commit is contained in:
parent
8107290fa1
commit
a6168f9e0a
15 changed files with 55 additions and 59 deletions
|
@ -2,17 +2,15 @@
|
||||||
===========================================
|
===========================================
|
||||||
|
|
||||||
.. module:: Queue
|
.. module:: Queue
|
||||||
:synopsis: Old name for the queue module.
|
|
||||||
|
|
||||||
.. module:: queue
|
|
||||||
:synopsis: A synchronized queue class.
|
:synopsis: A synchronized queue class.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The :mod:`Queue` module has been renamed to :mod:`queue` in Python 3.0. It
|
The :mod:`Queue` module has been renamed to :mod:`queue` in Python 3.0. The
|
||||||
is importable under both names in Python 2.6 and the rest of the 2.x series.
|
:term:`2to3` tool will automatically adapt imports when converting your
|
||||||
|
sources to 3.0.
|
||||||
|
|
||||||
|
|
||||||
The :mod:`queue` module implements multi-producer, multi-consumer queues.
|
The :mod:`Queue` module implements multi-producer, multi-consumer queues.
|
||||||
It is especially useful in threaded programming when information must be
|
It is especially useful in threaded programming when information must be
|
||||||
exchanged safely between multiple threads. The :class:`Queue` class in this
|
exchanged safely between multiple threads. The :class:`Queue` class in this
|
||||||
module implements all the required locking semantics. It depends on the
|
module implements all the required locking semantics. It depends on the
|
||||||
|
@ -26,7 +24,7 @@ the first retrieved (operating like a stack). With a priority queue,
|
||||||
the entries are kept sorted (using the :mod:`heapq` module) and the
|
the entries are kept sorted (using the :mod:`heapq` module) and the
|
||||||
lowest valued entry is retrieved first.
|
lowest valued entry is retrieved first.
|
||||||
|
|
||||||
The :mod:`queue` module defines the following classes and exceptions:
|
The :mod:`Queue` module defines the following classes and exceptions:
|
||||||
|
|
||||||
.. class:: Queue(maxsize)
|
.. class:: Queue(maxsize)
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
This module constructs higher-level threading interfaces on top of the lower
|
This module constructs higher-level threading interfaces on top of the lower
|
||||||
level :mod:`thread` module.
|
level :mod:`thread` module.
|
||||||
See also the :mod:`mutex` and :mod:`queue` modules.
|
See also the :mod:`mutex` and :mod:`Queue` modules.
|
||||||
|
|
||||||
The :mod:`dummy_threading` module is provided for situations where
|
The :mod:`dummy_threading` module is provided for situations where
|
||||||
:mod:`threading` cannot be used because :mod:`thread` is missing.
|
:mod:`threading` cannot be used because :mod:`thread` is missing.
|
||||||
|
|
|
@ -534,7 +534,7 @@ The :keyword:`raise` statement
|
||||||
If no expressions are present, :keyword:`raise` re-raises the last exception
|
If no expressions are present, :keyword:`raise` re-raises the last exception
|
||||||
that was active in the current scope. If no exception is active in the current
|
that was active in the current scope. If no exception is active in the current
|
||||||
scope, a :exc:`TypeError` exception is raised indicating that this is an error
|
scope, a :exc:`TypeError` exception is raised indicating that this is an error
|
||||||
(if running under IDLE, a :exc:`queue.Empty` exception is raised instead).
|
(if running under IDLE, a :exc:`Queue.Empty` exception is raised instead).
|
||||||
|
|
||||||
Otherwise, :keyword:`raise` evaluates the expressions to get three objects,
|
Otherwise, :keyword:`raise` evaluates the expressions to get three objects,
|
||||||
using ``None`` as the value of omitted expressions. The first two objects are
|
using ``None`` as the value of omitted expressions. The first two objects are
|
||||||
|
|
|
@ -198,9 +198,9 @@ variables, and semaphores.
|
||||||
While those tools are powerful, minor design errors can result in problems that
|
While those tools are powerful, minor design errors can result in problems that
|
||||||
are difficult to reproduce. So, the preferred approach to task coordination is
|
are difficult to reproduce. So, the preferred approach to task coordination is
|
||||||
to concentrate all access to a resource in a single thread and then use the
|
to concentrate all access to a resource in a single thread and then use the
|
||||||
:mod:`queue` module to feed that thread with requests from other threads.
|
:mod:`Queue` module to feed that thread with requests from other threads.
|
||||||
Applications using :class:`Queue` objects for inter-thread communication and
|
Applications using :class:`Queue.Queue` objects for inter-thread communication
|
||||||
coordination are easier to design, more readable, and more reliable.
|
and coordination are easier to design, more readable, and more reliable.
|
||||||
|
|
||||||
|
|
||||||
.. _tut-logging:
|
.. _tut-logging:
|
||||||
|
|
|
@ -1965,7 +1965,7 @@ details.
|
||||||
used to hold character data.
|
used to hold character data.
|
||||||
(Contributed by Achim Gaedke; :issue:`1137`.)
|
(Contributed by Achim Gaedke; :issue:`1137`.)
|
||||||
|
|
||||||
* The :mod:`queue` module now provides queue classes that retrieve entries
|
* The :mod:`Queue` module now provides queue classes that retrieve entries
|
||||||
in different orders. The :class:`PriorityQueue` class stores
|
in different orders. The :class:`PriorityQueue` class stores
|
||||||
queued items in a heap and retrieves them in priority order,
|
queued items in a heap and retrieves them in priority order,
|
||||||
and :class:`LifoQueue` retrieves the most recently added entries first,
|
and :class:`LifoQueue` retrieves the most recently added entries first,
|
||||||
|
|
|
@ -35,7 +35,7 @@ import SocketServer
|
||||||
import struct
|
import struct
|
||||||
import cPickle as pickle
|
import cPickle as pickle
|
||||||
import threading
|
import threading
|
||||||
import queue
|
import Queue
|
||||||
import traceback
|
import traceback
|
||||||
import copy_reg
|
import copy_reg
|
||||||
import types
|
import types
|
||||||
|
@ -117,8 +117,8 @@ class RPCServer(SocketServer.TCPServer):
|
||||||
#----------------- end class RPCServer --------------------
|
#----------------- end class RPCServer --------------------
|
||||||
|
|
||||||
objecttable = {}
|
objecttable = {}
|
||||||
request_queue = queue.Queue(0)
|
request_queue = Queue.Queue(0)
|
||||||
response_queue = queue.Queue(0)
|
response_queue = Queue.Queue(0)
|
||||||
|
|
||||||
|
|
||||||
class SocketIO(object):
|
class SocketIO(object):
|
||||||
|
@ -413,7 +413,7 @@ class SocketIO(object):
|
||||||
# send queued response if there is one available
|
# send queued response if there is one available
|
||||||
try:
|
try:
|
||||||
qmsg = response_queue.get(0)
|
qmsg = response_queue.get(0)
|
||||||
except queue.Empty:
|
except Queue.Empty:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
seq, response = qmsg
|
seq, response = qmsg
|
||||||
|
|
|
@ -5,7 +5,7 @@ import socket
|
||||||
import traceback
|
import traceback
|
||||||
import thread
|
import thread
|
||||||
import threading
|
import threading
|
||||||
import queue
|
import Queue
|
||||||
|
|
||||||
import CallTips
|
import CallTips
|
||||||
import AutoComplete
|
import AutoComplete
|
||||||
|
@ -85,7 +85,7 @@ def main(del_exitfunc=False):
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
seq, request = rpc.request_queue.get(block=True, timeout=0.05)
|
seq, request = rpc.request_queue.get(block=True, timeout=0.05)
|
||||||
except queue.Empty:
|
except Queue.Empty:
|
||||||
continue
|
continue
|
||||||
method, args, kwargs = request
|
method, args, kwargs = request
|
||||||
ret = method(*args, **kwargs)
|
ret = method(*args, **kwargs)
|
||||||
|
|
|
@ -40,7 +40,7 @@ class AllTest(unittest.TestCase):
|
||||||
self.check_all("configparser")
|
self.check_all("configparser")
|
||||||
self.check_all("Cookie")
|
self.check_all("Cookie")
|
||||||
self.check_all("MimeWriter")
|
self.check_all("MimeWriter")
|
||||||
self.check_all("queue")
|
self.check_all("Queue")
|
||||||
self.check_all("SimpleHTTPServer")
|
self.check_all("SimpleHTTPServer")
|
||||||
self.check_all("SocketServer")
|
self.check_all("SocketServer")
|
||||||
self.check_all("StringIO")
|
self.check_all("StringIO")
|
||||||
|
|
|
@ -7,7 +7,7 @@ implementation as its sole argument.
|
||||||
"""
|
"""
|
||||||
import dummy_thread as _thread
|
import dummy_thread as _thread
|
||||||
import time
|
import time
|
||||||
import queue
|
import Queue
|
||||||
import random
|
import random
|
||||||
import unittest
|
import unittest
|
||||||
from test import test_support
|
from test import test_support
|
||||||
|
@ -124,7 +124,7 @@ class ThreadTests(unittest.TestCase):
|
||||||
"""Use to test _thread.start_new_thread() passes args properly."""
|
"""Use to test _thread.start_new_thread() passes args properly."""
|
||||||
queue.put((arg1, arg2))
|
queue.put((arg1, arg2))
|
||||||
|
|
||||||
testing_queue = queue.Queue(1)
|
testing_queue = Queue.Queue(1)
|
||||||
_thread.start_new_thread(arg_tester, (testing_queue, True, True))
|
_thread.start_new_thread(arg_tester, (testing_queue, True, True))
|
||||||
result = testing_queue.get()
|
result = testing_queue.get()
|
||||||
self.failUnless(result[0] and result[1],
|
self.failUnless(result[0] and result[1],
|
||||||
|
@ -148,7 +148,7 @@ class ThreadTests(unittest.TestCase):
|
||||||
queue.put(_thread.get_ident())
|
queue.put(_thread.get_ident())
|
||||||
|
|
||||||
thread_count = 5
|
thread_count = 5
|
||||||
testing_queue = queue.Queue(thread_count)
|
testing_queue = Queue.Queue(thread_count)
|
||||||
if test_support.verbose:
|
if test_support.verbose:
|
||||||
print
|
print
|
||||||
print "*** Testing multiple thread creation "\
|
print "*** Testing multiple thread creation "\
|
||||||
|
|
|
@ -215,9 +215,7 @@ class TestStdlibRemovals(unittest.TestCase):
|
||||||
|
|
||||||
class TestStdlibRenames(unittest.TestCase):
|
class TestStdlibRenames(unittest.TestCase):
|
||||||
|
|
||||||
renames = {'Queue': 'queue',
|
renames = {'ConfigParser': 'configparser'}
|
||||||
'ConfigParser': 'configparser',
|
|
||||||
}
|
|
||||||
|
|
||||||
def check_rename(self, module_name, new_module_name):
|
def check_rename(self, module_name, new_module_name):
|
||||||
"""Make sure that:
|
"""Make sure that:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Some simple queue module tests, plus some failure conditions
|
# Some simple queue module tests, plus some failure conditions
|
||||||
# to ensure the Queue locks remain stable.
|
# to ensure the Queue locks remain stable.
|
||||||
import queue
|
import Queue
|
||||||
import sys
|
import sys
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
|
@ -107,12 +107,12 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin):
|
||||||
try:
|
try:
|
||||||
q.put("full", block=0)
|
q.put("full", block=0)
|
||||||
self.fail("Didn't appear to block with a full queue")
|
self.fail("Didn't appear to block with a full queue")
|
||||||
except queue.Full:
|
except Queue.Full:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
q.put("full", timeout=0.01)
|
q.put("full", timeout=0.01)
|
||||||
self.fail("Didn't appear to time-out with a full queue")
|
self.fail("Didn't appear to time-out with a full queue")
|
||||||
except queue.Full:
|
except Queue.Full:
|
||||||
pass
|
pass
|
||||||
# Test a blocking put
|
# Test a blocking put
|
||||||
self.do_blocking_test(q.put, ("full",), q.get, ())
|
self.do_blocking_test(q.put, ("full",), q.get, ())
|
||||||
|
@ -124,12 +124,12 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin):
|
||||||
try:
|
try:
|
||||||
q.get(block=0)
|
q.get(block=0)
|
||||||
self.fail("Didn't appear to block with an empty queue")
|
self.fail("Didn't appear to block with an empty queue")
|
||||||
except queue.Empty:
|
except Queue.Empty:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
q.get(timeout=0.01)
|
q.get(timeout=0.01)
|
||||||
self.fail("Didn't appear to time-out with an empty queue")
|
self.fail("Didn't appear to time-out with an empty queue")
|
||||||
except queue.Empty:
|
except Queue.Empty:
|
||||||
pass
|
pass
|
||||||
# Test a blocking get
|
# Test a blocking get
|
||||||
self.do_blocking_test(q.get, (), q.put, ('empty',))
|
self.do_blocking_test(q.get, (), q.put, ('empty',))
|
||||||
|
@ -191,13 +191,13 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin):
|
||||||
|
|
||||||
|
|
||||||
class QueueTest(BaseQueueTest):
|
class QueueTest(BaseQueueTest):
|
||||||
type2test = queue.Queue
|
type2test = Queue.Queue
|
||||||
|
|
||||||
class LifoQueueTest(BaseQueueTest):
|
class LifoQueueTest(BaseQueueTest):
|
||||||
type2test = queue.LifoQueue
|
type2test = Queue.LifoQueue
|
||||||
|
|
||||||
class PriorityQueueTest(BaseQueueTest):
|
class PriorityQueueTest(BaseQueueTest):
|
||||||
type2test = queue.PriorityQueue
|
type2test = Queue.PriorityQueue
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -205,21 +205,21 @@ class PriorityQueueTest(BaseQueueTest):
|
||||||
class FailingQueueException(Exception):
|
class FailingQueueException(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class FailingQueue(queue.Queue):
|
class FailingQueue(Queue.Queue):
|
||||||
def __init__(self, *args):
|
def __init__(self, *args):
|
||||||
self.fail_next_put = False
|
self.fail_next_put = False
|
||||||
self.fail_next_get = False
|
self.fail_next_get = False
|
||||||
queue.Queue.__init__(self, *args)
|
Queue.Queue.__init__(self, *args)
|
||||||
def _put(self, item):
|
def _put(self, item):
|
||||||
if self.fail_next_put:
|
if self.fail_next_put:
|
||||||
self.fail_next_put = False
|
self.fail_next_put = False
|
||||||
raise FailingQueueException, "You Lose"
|
raise FailingQueueException, "You Lose"
|
||||||
return queue.Queue._put(self, item)
|
return Queue.Queue._put(self, item)
|
||||||
def _get(self):
|
def _get(self):
|
||||||
if self.fail_next_get:
|
if self.fail_next_get:
|
||||||
self.fail_next_get = False
|
self.fail_next_get = False
|
||||||
raise FailingQueueException, "You Lose"
|
raise FailingQueueException, "You Lose"
|
||||||
return queue.Queue._get(self)
|
return Queue.Queue._get(self)
|
||||||
|
|
||||||
class FailingQueueTest(unittest.TestCase, BlockingTestMixin):
|
class FailingQueueTest(unittest.TestCase, BlockingTestMixin):
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import select
|
||||||
import thread, threading
|
import thread, threading
|
||||||
import time
|
import time
|
||||||
import traceback
|
import traceback
|
||||||
import queue
|
import Queue
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import array
|
import array
|
||||||
|
@ -96,7 +96,7 @@ class ThreadableTest:
|
||||||
self.server_ready = threading.Event()
|
self.server_ready = threading.Event()
|
||||||
self.client_ready = threading.Event()
|
self.client_ready = threading.Event()
|
||||||
self.done = threading.Event()
|
self.done = threading.Event()
|
||||||
self.queue = queue.Queue(1)
|
self.queue = Queue.Queue(1)
|
||||||
|
|
||||||
# Do some munging to start the client test.
|
# Do some munging to start the client test.
|
||||||
methodname = self.id()
|
methodname = self.id()
|
||||||
|
|
|
@ -1952,7 +1952,7 @@ pty Pseudo terminal utilities.
|
||||||
pyexpat Interface to the Expay XML parser.
|
pyexpat Interface to the Expay XML parser.
|
||||||
py_compile Routine to "compile" a .py file to a .pyc file.
|
py_compile Routine to "compile" a .py file to a .pyc file.
|
||||||
pyclbr Parse a Python file and retrieve classes and methods.
|
pyclbr Parse a Python file and retrieve classes and methods.
|
||||||
queue A multi-producer, multi-consumer queue.
|
Queue A multi-producer, multi-consumer queue.
|
||||||
quopri Conversions to/from quoted-printable transport encoding.
|
quopri Conversions to/from quoted-printable transport encoding.
|
||||||
rand Don't use unless you want compatibility with C's rand().
|
rand Don't use unless you want compatibility with C's rand().
|
||||||
random Random variable generators
|
random Random variable generators
|
||||||
|
|
|
@ -10,7 +10,7 @@ from Tkinter import *
|
||||||
import websucker
|
import websucker
|
||||||
import os
|
import os
|
||||||
import threading
|
import threading
|
||||||
import queue
|
import Queue
|
||||||
import time
|
import time
|
||||||
|
|
||||||
VERBOSE = 2
|
VERBOSE = 2
|
||||||
|
@ -139,7 +139,7 @@ class App:
|
||||||
|
|
||||||
def go(self, event=None):
|
def go(self, event=None):
|
||||||
if not self.msgq:
|
if not self.msgq:
|
||||||
self.msgq = queue.Queue(0)
|
self.msgq = Queue.Queue(0)
|
||||||
self.check_msgq()
|
self.check_msgq()
|
||||||
if not self.sucker:
|
if not self.sucker:
|
||||||
self.sucker = SuckerThread(self.msgq)
|
self.sucker = SuckerThread(self.msgq)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue