Remove toolz dependency

This commit is contained in:
Konsta Vesterinen
2014-02-22 14:20:34 +02:00
parent d89990172a
commit 128c39bbb7
3 changed files with 4 additions and 12 deletions

View File

@@ -63,7 +63,6 @@ setup(
install_requires=[
'six',
'SQLAlchemy>=0.9.3',
'toolz>=0.4.1',
'total_ordering>=0.1'
if sys.version_info[0] == 2 and sys.version_info[1] < 7 else ''
],

View File

@@ -16,7 +16,6 @@ from sqlalchemy_utils.functions.orm import (
local_values,
local_column_names,
local_remote_expr,
mapfirst,
remote_column_names,
remote_values,
remote
@@ -295,7 +294,7 @@ class Fetcher(object):
if len(names) == 1:
attr = getattr(remote(self.prop), names[0])
return attr.in_(
mapfirst(list_local_values(self.prop, self.path.entities))
v[0] for v in list_local_values(self.prop, self.path.entities)
)
elif len(names) > 1:
return sa.or_(

View File

@@ -1,6 +1,6 @@
from functools import partial
from operator import attrgetter
from toolz import curry, first
from toolz import first
import six
import sqlalchemy as sa
from sqlalchemy import inspect
@@ -41,24 +41,18 @@ def getattrs(obj, attrs):
return map(partial(getattr, obj), attrs)
def mapfirst(iterable):
return map(first, iterable)
@curry
def local_values(prop, entity):
return tuple(getattrs(entity, local_column_names(prop)))
def list_local_values(prop, entities):
return map(local_values(prop), entities)
return map(partial(local_values, prop), entities)
def remote_values(prop, entity):
return tuple(getattrs(entity, remote_column_names(prop)))
@curry
def local_remote_expr(prop, entity):
return sa.and_(
*[
@@ -72,7 +66,7 @@ def local_remote_expr(prop, entity):
def list_local_remote_exprs(prop, entities):
return map(local_remote_expr(prop), entities)
return map(partial(local_remote_expr, prop), entities)
def remote(prop):