]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Always use native deque
authorJason Kirtland <jek@discorporate.us>
Tue, 15 Jul 2008 19:46:24 +0000 (19:46 +0000)
committerJason Kirtland <jek@discorporate.us>
Tue, 15 Jul 2008 19:46:24 +0000 (19:46 +0000)
lib/sqlalchemy/queue.py
lib/sqlalchemy/sql/visitors.py
lib/sqlalchemy/util.py

index 7ef1ba61bd3ae8c4612e2604fb0552a010e83a85..37e772547d3fe3f8f8f417c14f6465af21bfe85a 100644 (file)
@@ -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']
 
index 2106522d2e8bd0345f833d88efafd5e48d1e2651..3f06535de74e69b7a26e6e3ddaee9e9da04cbe51 100644 (file)
@@ -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)
index 9175e78f246e7b801d08a39af4c0cca2ae11a346..1eacca19a8f55757e14d43ad2568dbb4bbd7c2be 100644 (file)
@@ -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: