From ae138cbfbbfb376917fd29abb6724d56ba5fc081 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 15 Jan 2008 20:42:00 +0000 Subject: [PATCH] Refactor if/elif chain for clarity and speed --- Lib/Queue.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Lib/Queue.py b/Lib/Queue.py index 726cf3eb6ce..f8aa0af2318 100644 --- a/Lib/Queue.py +++ b/Lib/Queue.py @@ -102,18 +102,17 @@ def put(self, item, block=True, timeout=None): """ self.not_full.acquire() try: - if not block: - if self.maxsize > 0 and self._qsize() == self.maxsize: - raise Full - elif timeout is None: - if self.maxsize > 0: + if self.maxsize > 0: + if not block: + if self._qsize() == self.maxsize: + raise Full + elif timeout is None: while self._qsize() == self.maxsize: self.not_full.wait() - else: - if timeout < 0: + elif timeout < 0: raise ValueError("'timeout' must be a positive number") - endtime = _time() + timeout - if self.maxsize > 0: + else: + endtime = _time() + timeout while self._qsize() == self.maxsize: remaining = endtime - _time() if remaining <= 0.0: @@ -152,9 +151,9 @@ def get(self, block=True, timeout=None): elif timeout is None: while not self._qsize(): self.not_empty.wait() + elif timeout < 0: + raise ValueError("'timeout' must be a positive number") else: - if timeout < 0: - raise ValueError("'timeout' must be a positive number") endtime = _time() + timeout while not self._qsize(): remaining = endtime - _time()