From: Jason Kirtland Date: Tue, 15 Jul 2008 19:46:24 +0000 (+0000) Subject: - Always use native deque X-Git-Tag: rel_0_5beta3~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4eb747b61f0c1b1c25bdee3856d7195d10a0c227;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - Always use native deque --- diff --git a/lib/sqlalchemy/queue.py b/lib/sqlalchemy/queue.py index 7ef1ba61bd..37e772547d 100644 --- a/lib/sqlalchemy/queue.py +++ b/lib/sqlalchemy/queue.py @@ -7,16 +7,9 @@ rare cases be invoked within the ``get()`` method of the Queue itself, producing a ``put()`` inside the ``get()`` and therefore a reentrant condition.""" +from collections import deque from time import time as _time -try: - # py2.4 deque class - from collections import deque -except: - # roll our own... - class deque(list): - def popleft(self): - return self.pop(0) __all__ = ['Empty', 'Full', 'Queue'] diff --git a/lib/sqlalchemy/sql/visitors.py b/lib/sqlalchemy/sql/visitors.py index 2106522d2e..3f06535de7 100644 --- a/lib/sqlalchemy/sql/visitors.py +++ b/lib/sqlalchemy/sql/visitors.py @@ -1,4 +1,4 @@ -from sqlalchemy import util +from collections import deque class ClauseVisitor(object): __traverse_options__ = {} @@ -86,7 +86,7 @@ def iterate(obj, opts): traversal is configured to be breadth-first. """ - stack = util.deque([obj]) + stack = deque([obj]) while stack: t = stack.popleft() yield t @@ -99,8 +99,8 @@ def iterate_depthfirst(obj, opts): traversal is configured to be depth-first. """ - stack = util.deque([obj]) - traversal = util.deque() + stack = deque([obj]) + traversal = deque() while stack: t = stack.pop() traversal.appendleft(t) diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py index 9175e78f24..1eacca19a8 100644 --- a/lib/sqlalchemy/util.py +++ b/lib/sqlalchemy/util.py @@ -103,22 +103,6 @@ except ImportError: return 'defaultdict(%s, %s)' % (self.default_factory, dict.__repr__(self)) -try: - from collections import deque -except ImportError: - class deque(list): - def appendleft(self, x): - self.insert(0, x) - - def extendleft(self, iterable): - self[0:0] = list(iterable) - - def popleft(self): - return self.pop(0) - - def rotate(self, n): - for i in xrange(n): - self.appendleft(self.pop()) def to_list(x, default=None): if x is None: