]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
do a sweep of some obvious 3kisms
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 26 May 2013 22:23:26 +0000 (18:23 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 26 May 2013 22:23:26 +0000 (18:23 -0400)
lib/sqlalchemy/engine/reflection.py
lib/sqlalchemy/engine/result.py
lib/sqlalchemy/engine/url.py
lib/sqlalchemy/ext/associationproxy.py
lib/sqlalchemy/orm/identity.py
lib/sqlalchemy/util/__init__.py
lib/sqlalchemy/util/compat.py

index 4b29878519a681be7fe5e9e69c8e27d3e8d0d073..cf2caf679d910f5cb622c4b0b8520d4a28065661 100644 (file)
@@ -389,12 +389,11 @@ class Inspector(object):
             del tblkw[k]
             tblkw[str(k)] = v
 
-# start Py2K
-#        if isinstance(schema, str):
-#            schema = schema.decode(dialect.encoding)
-#        if isinstance(table_name, str):
-#            table_name = table_name.decode(dialect.encoding)
-# end Py2K
+        if util.py2k:
+            if isinstance(schema, str):
+                schema = schema.decode(dialect.encoding)
+            if isinstance(table_name, str):
+                table_name = table_name.decode(dialect.encoding)
 
         # columns
         found_table = False
index 4261a5877b1467a00e5ef228376272ef2987e0c1..65ce3b742378c0206d1b07bc609a836ff6c3910f 100644 (file)
@@ -215,8 +215,6 @@ class ResultMetaData(object):
             processors.append(processor)
             rec = (processor, obj, i)
 
-#            name.encode('ascii')
-
             # indexes as keys. This is only needed for the Python version of
             # RowProxy (the C version uses a faster path for integer indexes).
             primary_keymap[i] = rec
index b7d56374e7f96a554d45bc141a9271975b7965c6..ed5729eea9a20ea51e9018cf98cd8aded49f043f 100644 (file)
@@ -149,7 +149,7 @@ def make_url(name_or_url):
     existing URL object is passed, just returns the object.
     """
 
-    if isinstance(name_or_url, str):
+    if isinstance(name_or_url, util.string_types):
         return _parse_rfc1738_args(name_or_url)
     else:
         return name_or_url
index e0a867e5aa3f308c7a2c7ad25566908d2c3dceab..39f8a7cf65cc9d5868909fa6808a6f37a21d5771 100644 (file)
@@ -571,7 +571,7 @@ class _AssociationList(_AssociationCollection):
 
     def count(self, value):
         return sum([1 for _ in
-                    filter(lambda v: v == value, iter(self))])
+                    util.itertools_filter(lambda v: v == value, iter(self))])
 
     def extend(self, values):
         for v in values:
@@ -740,7 +740,7 @@ class _AssociationDict(_AssociationCollection):
         return cmp(dict(self), other)
 
     def __repr__(self):
-        return repr(dict(list(self.items())))
+        return repr(dict(self.items()))
 
     def get(self, key, default=None):
         try:
@@ -756,26 +756,35 @@ class _AssociationDict(_AssociationCollection):
             return self[key]
 
     def keys(self):
-        return list(self.col.keys())
+        return self.col.keys()
 
-    def iterkeys(self):
-        return iter(self.col.keys())
-
-    def values(self):
-        return [self._get(member) for member in list(self.col.values())]
+    def _iteritems(self):
+        for key in self.col:
+            yield (key, self._get(self.col[key]))
+        raise StopIteration
 
-    def itervalues(self):
+    def _itervalues(self):
         for key in self.col:
             yield self._get(self.col[key])
         raise StopIteration
 
-    def items(self):
-        return [(k, self._get(self.col[k])) for k in self]
+    def _iterkeys(self):
+        return self.col.iterkeys()
 
-    def iteritems(self):
-        for key in self.col:
-            yield (key, self._get(self.col[key]))
-        raise StopIteration
+
+    if util.py2k:
+        iterkeys = _iterkeys
+        itervalues = _itervalues
+        iteritems = _iteritems
+
+        def values(self):
+            return [self._get(member) for member in list(self.col.values())]
+
+        def items(self):
+            return [(k, self._get(self.col[k])) for k in self]
+    else:
+        values = _itervalues
+        items = _iteritems
 
     def pop(self, key, default=_NotProvided):
         if default is _NotProvided:
@@ -813,7 +822,7 @@ class _AssociationDict(_AssociationCollection):
             self[key] = value
 
     def copy(self):
-        return dict(list(self.items()))
+        return dict(self.items())
 
     def __hash__(self):
         raise TypeError("%s objects are unhashable" % type(self).__name__)
@@ -846,6 +855,8 @@ class _AssociationSet(_AssociationCollection):
         else:
             return False
 
+    __nonzero__ = __bool__
+
     def __contains__(self, value):
         for member in self.col:
             # testlib.pragma exempt:__eq__
index f010a7699723e617cc7f0a36bc692ed98d8758d5..55a78066a92c7a935da14f8ac8298d414f246797 100644 (file)
@@ -6,7 +6,7 @@
 
 import weakref
 from . import attributes
-
+from .. import util
 
 class IdentityMap(dict):
     def __init__(self):
@@ -152,32 +152,28 @@ class WeakInstanceDict(IdentityMap):
 
         return result
 
-# start Py3K
-    def items(self):
-        return iter(self._items())
-    
-    def values(self):
-        return iter(self._values())
-# end Py3K
-# start Py2K
-#    items = _items
-#
-#    def iteritems(self):
-#        return iter(self.items())
-#
-#    values = _values
-#
-#    def itervalues(self):
-#        return iter(self.values())
-# end Py2K
+    if util.py2k:
+        items = _items
+
+        def iteritems(self):
+            return iter(self.items())
+
+        values = _values
+
+        def itervalues(self):
+            return iter(self.values())
+    else:
+        def items(self):
+            return iter(self._items())
+
+        def values(self):
+            return iter(self._values())
 
     def all_states(self):
-# start Py3K
-         return list(dict.values(self))
-# end Py3K
-# start Py2K
-#        return dict.values(self)
-# end Py2K
+        if util.py2k:
+            return dict.values(self)
+        else:
+             return list(dict.values(self))
 
     def discard(self, state):
         st = dict.get(self, state.key, None)
index d1fc8e8e56784f5814d15ab213117ffe66b874f9..9e099b072a90877957543d942627f869ac682653 100644 (file)
@@ -9,7 +9,7 @@ from .compat import callable, cmp, reduce,  \
     pickle, dottedgetter, parse_qsl, namedtuple, next, WeakSet, reraise, \
     raise_from_cause, text_type, string_types, int_types, binary_type, \
     quote_plus, with_metaclass, print_, itertools_filterfalse, u, ue, b,\
-    unquote_plus, b64decode, b64encode, byte_buffer
+    unquote_plus, b64decode, b64encode, byte_buffer, itertools_filter
 
 from ._collections import KeyedTuple, ImmutableContainer, immutabledict, \
     Properties, OrderedProperties, ImmutableProperties, OrderedDict, \
index ea97999cfb4419f820d33baf3352bcad4c3cbc4f..182ab1c3d08db47f6d0b032482293e1c12132409 100644 (file)
@@ -75,6 +75,7 @@ if py3k:
 
     import itertools
     itertools_filterfalse = itertools.filterfalse
+    itertools_filter = filter
     itertools_imap = map
 
     import base64
@@ -135,6 +136,7 @@ else:
 
     import itertools
     itertools_filterfalse = itertools.ifilterfalse
+    itertools_filter = itertools.ifilter
     itertools_imap = itertools.imap