summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-06-07 17:51:12 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-06-07 17:51:12 -0400
commit0d9ec9fe840eb71935c2a55c3063620a028e59aa (patch)
treeb1243b5b7bba44066d3f5bb451f0d3ab2c97cd57
parent1188edccf6b796fdc2d8bd24985a71fb6060eae7 (diff)
downloadsqlalchemy-0d9ec9fe840eb71935c2a55c3063620a028e59aa.tar.gz
remove all remaining start/end py2k/py3k blocks
-rw-r--r--lib/sqlalchemy/dialects/sybase/base.py34
-rw-r--r--lib/sqlalchemy/orm/evaluator.py4
-rw-r--r--lib/sqlalchemy/orm/instrumentation.py20
-rw-r--r--lib/sqlalchemy/testing/util.py16
-rw-r--r--lib/sqlalchemy/util/langhelpers.py2
-rw-r--r--test/base/test_except.py11
-rw-r--r--test/base/test_utils.py85
-rw-r--r--test/orm/test_mapper.py46
-rw-r--r--test/orm/test_query.py32
-rw-r--r--test/orm/test_utils.py49
10 files changed, 131 insertions, 168 deletions
diff --git a/lib/sqlalchemy/dialects/sybase/base.py b/lib/sqlalchemy/dialects/sybase/base.py
index 6770ed8e7..1c42d4846 100644
--- a/lib/sqlalchemy/dialects/sybase/base.py
+++ b/lib/sqlalchemy/dialects/sybase/base.py
@@ -475,12 +475,11 @@ class SybaseDialect(default.DefaultDialect):
AND o.type in ('U', 'V')
""")
-# start Py2K
-# if isinstance(schema, unicode):
-# schema = schema.encode("ascii")
-# if isinstance(table_name, unicode):
-# table_name = table_name.encode("ascii")
-# end Py2K
+ if util.py2k:
+ if isinstance(schema, unicode):
+ schema = schema.encode("ascii")
+ if isinstance(table_name, unicode):
+ table_name = table_name.encode("ascii")
result = connection.execute(TABLEID_SQL,
schema_name=schema,
table_name=table_name)
@@ -759,10 +758,10 @@ class SybaseDialect(default.DefaultDialect):
AND o.type = 'U'
""")
-# start Py2K
-# if isinstance(schema, unicode):
-# schema = schema.encode("ascii")
-# end Py2K
+ if util.py2k:
+ if isinstance(schema, unicode):
+ schema = schema.encode("ascii")
+
tables = connection.execute(TABLE_SQL, schema_name=schema)
return [t["name"] for t in tables]
@@ -779,10 +778,10 @@ class SybaseDialect(default.DefaultDialect):
AND o.type = 'V'
""")
-# start Py2K
-# if isinstance(view_name, unicode):
-# view_name = view_name.encode("ascii")
-# end Py2K
+ if util.py2k:
+ if isinstance(view_name, unicode):
+ view_name = view_name.encode("ascii")
+
view = connection.execute(VIEW_DEF_SQL, view_name=view_name)
return view.scalar()
@@ -799,10 +798,9 @@ class SybaseDialect(default.DefaultDialect):
AND o.type = 'V'
""")
-# start Py2K
-# if isinstance(schema, unicode):
-# schema = schema.encode("ascii")
-# end Py2K
+ if util.py2k:
+ if isinstance(schema, unicode):
+ schema = schema.encode("ascii")
views = connection.execute(VIEW_SQL, schema_name=schema)
return [v["name"] for v in views]
diff --git a/lib/sqlalchemy/orm/evaluator.py b/lib/sqlalchemy/orm/evaluator.py
index 458eab7a1..7a11cd450 100644
--- a/lib/sqlalchemy/orm/evaluator.py
+++ b/lib/sqlalchemy/orm/evaluator.py
@@ -13,9 +13,7 @@ class UnevaluatableError(Exception):
_straight_ops = set(getattr(operators, op)
for op in ('add', 'mul', 'sub',
-# start Py2K
-# 'div',
-# end Py2K
+ 'div',
'mod', 'truediv',
'lt', 'le', 'ne', 'gt', 'ge', 'eq'))
diff --git a/lib/sqlalchemy/orm/instrumentation.py b/lib/sqlalchemy/orm/instrumentation.py
index f2d0df43f..368a6a0b1 100644
--- a/lib/sqlalchemy/orm/instrumentation.py
+++ b/lib/sqlalchemy/orm/instrumentation.py
@@ -446,23 +446,21 @@ def __init__(%(apply_pos)s):
func_vars = util.format_argspec_init(original__init__, grouped=False)
func_text = func_body % func_vars
-# start Py3K
- func_defaults = getattr(original__init__, '__defaults__', None)
- func_kw_defaults = getattr(original__init__, '__kwdefaults__', None)
-# end Py3K
-# start Py2K
-# func = getattr(original__init__, 'im_func', original__init__)
-# func_defaults = getattr(func, 'func_defaults', None)
-# end Py2K
+ if util.py2k:
+ func = getattr(original__init__, 'im_func', original__init__)
+ func_defaults = getattr(func, 'func_defaults', None)
+ else:
+ func_defaults = getattr(original__init__, '__defaults__', None)
+ func_kw_defaults = getattr(original__init__, '__kwdefaults__', None)
env = locals().copy()
exec(func_text, env)
__init__ = env['__init__']
__init__.__doc__ = original__init__.__doc__
+
if func_defaults:
__init__.__defaults__ = func_defaults
-# start Py3K
- if func_kw_defaults:
+ if not util.py2k and func_kw_defaults:
__init__.__kwdefaults__ = func_kw_defaults
-# end Py3K
+
return __init__
diff --git a/lib/sqlalchemy/testing/util.py b/lib/sqlalchemy/testing/util.py
index 5facd2f06..1288902f2 100644
--- a/lib/sqlalchemy/testing/util.py
+++ b/lib/sqlalchemy/testing/util.py
@@ -1,4 +1,4 @@
-from ..util import jython, pypy, defaultdict, decorator
+from ..util import jython, pypy, defaultdict, decorator, py2k
import decimal
import gc
import time
@@ -32,13 +32,13 @@ else:
def picklers():
picklers = set()
-# start Py2K
-# try:
-# import cPickle
-# picklers.add(cPickle)
-# except ImportError:
-# pass
-# end Py2K
+ if py2k:
+ try:
+ import cPickle
+ picklers.add(cPickle)
+ except ImportError:
+ pass
+
import pickle
picklers.add(pickle)
diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py
index b0ff5b073..1ff868e01 100644
--- a/lib/sqlalchemy/util/langhelpers.py
+++ b/lib/sqlalchemy/util/langhelpers.py
@@ -884,7 +884,7 @@ def dictlike_iteritems(dictlike):
if hasattr(dictlike, 'iterkeys'):
def iterator():
- for key in dictlike.keys():
+ for key in dictlike.iterkeys():
yield key, getter(key)
return iterator()
elif hasattr(dictlike, 'keys'):
diff --git a/test/base/test_except.py b/test/base/test_except.py
index f2428c22d..75e411c5e 100644
--- a/test/base/test_except.py
+++ b/test/base/test_except.py
@@ -2,15 +2,14 @@
from sqlalchemy import exc as sa_exceptions
+from sqlalchemy import util
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import eq_
-# start Py3K
-Exception = BaseException
-# end Py3K
-# start Py2K
-#from exceptions import StandardError, KeyboardInterrupt, SystemExit
-# end Py2K
+if util.py2k:
+ from exceptions import StandardError, KeyboardInterrupt, SystemExit
+else:
+ Exception = BaseException
class Error(Exception):
diff --git a/test/base/test_utils.py b/test/base/test_utils.py
index 194ef1222..aefc6d421 100644
--- a/test/base/test_utils.py
+++ b/test/base/test_utils.py
@@ -968,23 +968,21 @@ class DictlikeIteritemsTest(fixtures.TestBase):
d = subdict(a=1, b=2, c=3)
self._ok(d)
-# start Py2K
-# def test_UserDict(self):
-# import UserDict
-# d = UserDict.UserDict(a=1, b=2, c=3)
-# self._ok(d)
-# end Py2K
+ if util.py2k:
+ def test_UserDict(self):
+ import UserDict
+ d = UserDict.UserDict(a=1, b=2, c=3)
+ self._ok(d)
def test_object(self):
self._notok(object())
-# start Py2K
-# def test_duck_1(self):
-# class duck1(object):
-# def iteritems(duck):
-# return iter(self.baseline)
-# self._ok(duck1())
-# end Py2K
+ if util.py2k:
+ def test_duck_1(self):
+ class duck1(object):
+ def iteritems(duck):
+ return iter(self.baseline)
+ self._ok(duck1())
def test_duck_2(self):
class duck2(object):
@@ -992,16 +990,15 @@ class DictlikeIteritemsTest(fixtures.TestBase):
return list(self.baseline)
self._ok(duck2())
-# start Py2K
-# def test_duck_3(self):
-# class duck3(object):
-# def iterkeys(duck):
-# return iter(['a', 'b', 'c'])
-#
-# def __getitem__(duck, key):
-# return dict(a=1, b=2, c=3).get(key)
-# self._ok(duck3())
-# end Py2K
+ if util.py2k:
+ def test_duck_3(self):
+ class duck3(object):
+ def iterkeys(duck):
+ return iter(['a', 'b', 'c'])
+
+ def __getitem__(duck, key):
+ return dict(a=1, b=2, c=3).get(key)
+ self._ok(duck3())
def test_duck_4(self):
class duck4(object):
@@ -1028,10 +1025,6 @@ class DictlikeIteritemsTest(fixtures.TestBase):
class DuckTypeCollectionTest(fixtures.TestBase):
def test_sets(self):
-# start Py2K
-# import sets
-# end Py2K
-
class SetLike(object):
def add(self):
pass
@@ -1040,20 +1033,13 @@ class DuckTypeCollectionTest(fixtures.TestBase):
__emulates__ = set
for type_ in (set,
-# start Py2K
-# sets.Set,
-# end Py2K
SetLike,
ForcedSet):
eq_(util.duck_type_collection(type_), set)
instance = type_()
eq_(util.duck_type_collection(instance), set)
- for type_ in (frozenset,
-# start Py2K
-# sets.ImmutableSet
-# end Py2K
- ):
+ for type_ in (frozenset, ):
is_(util.duck_type_collection(type_), None)
instance = type_()
is_(util.duck_type_collection(instance), None)
@@ -1569,21 +1555,20 @@ class TestClassHierarchy(fixtures.TestBase):
eq_(set(util.class_hierarchy(A)), set((A, B, C, object)))
eq_(set(util.class_hierarchy(B)), set((A, B, C, object)))
-# start Py2K
-# def test_oldstyle_mixin(self):
-# class A(object):
-# pass
-#
-# class Mixin:
-# pass
-#
-# class B(A, Mixin):
-# pass
-#
-# eq_(set(util.class_hierarchy(B)), set((A, B, object)))
-# eq_(set(util.class_hierarchy(Mixin)), set())
-# eq_(set(util.class_hierarchy(A)), set((A, B, object)))
-# end Py2K
+ if util.py2k:
+ def test_oldstyle_mixin(self):
+ class A(object):
+ pass
+
+ class Mixin:
+ pass
+
+ class B(A, Mixin):
+ pass
+
+ eq_(set(util.class_hierarchy(B)), set((A, B, object)))
+ eq_(set(util.class_hierarchy(Mixin)), set())
+ eq_(set(util.class_hierarchy(A)), set((A, B, object)))
class TestClassProperty(fixtures.TestBase):
diff --git a/test/orm/test_mapper.py b/test/orm/test_mapper.py
index ed09e72c1..06ec4ce27 100644
--- a/test/orm/test_mapper.py
+++ b/test/orm/test_mapper.py
@@ -272,14 +272,11 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
)
m = mapper(Foo, foo_t)
class DontCompareMeToString(int):
-# start Py3K
- pass
-# end Py3K
-# start Py2K
-# def __lt__(self, other):
-# assert not isinstance(other, basestring)
-# return int(self) < other
-# end Py2K
+ if util.py2k:
+ def __lt__(self, other):
+ assert not isinstance(other, basestring)
+ return int(self) < other
+
foos = [Foo(id='f%d' % i) for i in range(5)]
states = [attributes.instance_state(f) for f in foos]
@@ -2989,23 +2986,22 @@ class RequirementsTest(fixtures.MappedTest):
Column('ht1b_id', Integer, ForeignKey('ht1.id'), primary_key=True),
Column('value', String(10)))
-# start Py2K
-# def test_baseclass(self):
-# ht1 = self.tables.ht1
-#
-# class OldStyle:
-# pass
-#
-# assert_raises(sa.exc.ArgumentError, mapper, OldStyle, ht1)
-#
-# assert_raises(sa.exc.ArgumentError, mapper, 123)
-#
-# class NoWeakrefSupport(str):
-# pass
-#
-# # TODO: is weakref support detectable without an instance?
-# #self.assertRaises(sa.exc.ArgumentError, mapper, NoWeakrefSupport, t2)
-# end Py2K
+ if util.py2k:
+ def test_baseclass(self):
+ ht1 = self.tables.ht1
+
+ class OldStyle:
+ pass
+
+ assert_raises(sa.exc.ArgumentError, mapper, OldStyle, ht1)
+
+ assert_raises(sa.exc.ArgumentError, mapper, 123)
+
+ class NoWeakrefSupport(str):
+ pass
+
+ # TODO: is weakref support detectable without an instance?
+ #self.assertRaises(sa.exc.ArgumentError, mapper, NoWeakrefSupport, t2)
class _ValueBase(object):
def __init__(self, value='abc', id=None):
diff --git a/test/orm/test_query.py b/test/orm/test_query.py
index 2e0355e63..c38fb351e 100644
--- a/test/orm/test_query.py
+++ b/test/orm/test_query.py
@@ -1,4 +1,4 @@
-import operator
+from sqlalchemy.sql import operators
from sqlalchemy import MetaData, null, exists, text, union, literal, \
literal_column, func, between, Unicode, desc, and_, bindparam, \
select, distinct, or_, collate
@@ -407,12 +407,7 @@ class GetTest(QueryTest):
Column('data', Unicode(40)))
try:
metadata.create_all()
-# start Py3K
- ustring = b'petit voix m\xe2\x80\x99a'.decode('utf-8')
-# end Py3K
-# start Py2K
-# ustring = 'petit voix m\xe2\x80\x99a'.decode('utf-8')
-# end Py2K
+ ustring = util.b('petit voix m\xe2\x80\x99a').decode('utf-8')
table.insert().execute(id=ustring, data=ustring)
class LocalFoo(self.classes.Base):
@@ -634,13 +629,10 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
create_session().query(User)
- for (py_op, sql_op) in ((operator.add, '+'), (operator.mul, '*'),
- (operator.sub, '-'),
- # Py3k
- #(operator.truediv, '/'),
-# start Py2K
-# (operator.div, '/'),
-# end Py2K
+ for (py_op, sql_op) in ((operators.add, '+'), (operators.mul, '*'),
+ (operators.sub, '-'),
+ (operators.truediv, '/'),
+ (operators.div, '/'),
):
for (lhs, rhs, res) in (
(5, User.id, ':id_1 %s users.id'),
@@ -660,12 +652,12 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
create_session().query(User)
ualias = aliased(User)
- for (py_op, fwd_op, rev_op) in ((operator.lt, '<', '>'),
- (operator.gt, '>', '<'),
- (operator.eq, '=', '='),
- (operator.ne, '!=', '!='),
- (operator.le, '<=', '>='),
- (operator.ge, '>=', '<=')):
+ for (py_op, fwd_op, rev_op) in ((operators.lt, '<', '>'),
+ (operators.gt, '>', '<'),
+ (operators.eq, '=', '='),
+ (operators.ne, '!=', '!='),
+ (operators.le, '<=', '>='),
+ (operators.ge, '>=', '<=')):
for (lhs, rhs, l_sql, r_sql) in (
('a', User.id, ':id_1', 'users.id'),
('a', literal('b'), ':param_2', ':param_1'), # note swap!
diff --git a/test/orm/test_utils.py b/test/orm/test_utils.py
index 49ff61ea0..d15881075 100644
--- a/test/orm/test_utils.py
+++ b/test/orm/test_utils.py
@@ -1,6 +1,7 @@
from sqlalchemy.testing import assert_raises, assert_raises_message
-from sqlalchemy.orm import util
+from sqlalchemy.orm import util as orm_util
from sqlalchemy import Column
+from sqlalchemy import util
from sqlalchemy import Integer
from sqlalchemy import MetaData
from sqlalchemy import Table
@@ -52,10 +53,10 @@ class AliasedClassTest(fixtures.TestBase):
alias = aliased(Point)
assert Point.zero
-# start Py2K
-# # TODO: what is this testing ??
-# assert not getattr(alias, 'zero')
-# end Py2K
+
+ if util.py2k:
+ # TODO: what is this testing ??
+ assert not getattr(alias, 'zero')
def test_classmethods(self):
class Point(object):
@@ -123,19 +124,15 @@ class AliasedClassTest(fixtures.TestBase):
self.func = func
def __get__(self, instance, owner):
if instance is None:
-# start Py3K
- args = (self.func, owner)
-# end Py3K
-# start Py2K
-# args = (self.func, owner, owner.__class__)
-# end Py2K
+ if util.py2k:
+ args = (self.func, owner, owner.__class__)
+ else:
+ args = (self.func, owner)
else:
-# start Py3K
- args = (self.func, instance)
-# end Py3K
-# start Py2K
-# args = (self.func, instance, owner)
-# end Py2K
+ if util.py2k:
+ args = (self.func, instance, owner)
+ else:
+ args = (self.func, instance)
return types.MethodType(*args)
class PropertyDescriptor(object):
@@ -195,9 +192,9 @@ class IdentityKeyTest(_fixtures.FixtureTest):
mapper(User, users)
- key = util.identity_key(User, [1])
+ key = orm_util.identity_key(User, [1])
eq_(key, (User, (1,)))
- key = util.identity_key(User, ident=[1])
+ key = orm_util.identity_key(User, ident=[1])
eq_(key, (User, (1,)))
def test_identity_key_scalar(self):
@@ -205,9 +202,9 @@ class IdentityKeyTest(_fixtures.FixtureTest):
mapper(User, users)
- key = util.identity_key(User, 1)
+ key = orm_util.identity_key(User, 1)
eq_(key, (User, (1,)))
- key = util.identity_key(User, ident=1)
+ key = orm_util.identity_key(User, ident=1)
eq_(key, (User, (1,)))
def test_identity_key_2(self):
@@ -218,7 +215,7 @@ class IdentityKeyTest(_fixtures.FixtureTest):
u = User(name='u1')
s.add(u)
s.flush()
- key = util.identity_key(instance=u)
+ key = orm_util.identity_key(instance=u)
eq_(key, (User, (u.id,)))
def test_identity_key_3(self):
@@ -227,7 +224,7 @@ class IdentityKeyTest(_fixtures.FixtureTest):
mapper(User, users)
row = {users.c.id: 1, users.c.name: "Frank"}
- key = util.identity_key(User, row=row)
+ key = orm_util.identity_key(User, row=row)
eq_(key, (User, (1,)))
@@ -244,12 +241,12 @@ class PathRegistryTest(_fixtures.FixtureTest):
def test_root_registry(self):
umapper = inspect(self.classes.User)
is_(
- util.RootRegistry()[umapper],
+ orm_util.RootRegistry()[umapper],
umapper._path_registry
)
eq_(
- util.RootRegistry()[umapper],
- util.PathRegistry.coerce((umapper,))
+ orm_util.RootRegistry()[umapper],
+ orm_util.PathRegistry.coerce((umapper,))
)
def test_expand(self):