Skip to content

Commit 69c4fa1

Browse files
committed
Replace promises.dataloader with aiodataloader
1 parent ed3cd1a commit 69c4fa1

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

graphene_sqlalchemy/batching.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import aiodataloader
12
import sqlalchemy
2-
from promise import dataloader, promise
33
from sqlalchemy.orm import Session, strategies
44
from sqlalchemy.orm.query import QueryContext
55

@@ -10,10 +10,10 @@ def get_batch_resolver(relationship_prop):
1010
# This is so SQL string generation is cached under-the-hood via `bakery`
1111
selectin_loader = strategies.SelectInLoader(relationship_prop, (('lazy', 'selectin'),))
1212

13-
class RelationshipLoader(dataloader.DataLoader):
13+
class RelationshipLoader(aiodataloader.DataLoader):
1414
cache = False
1515

16-
def batch_load_fn(self, parents): # pylint: disable=method-hidden
16+
async def batch_load_fn(self, parents):
1717
"""
1818
Batch loads the relationships of all the parents as one SQL statement.
1919
@@ -62,11 +62,11 @@ def batch_load_fn(self, parents): # pylint: disable=method-hidden
6262
child_mapper,
6363
)
6464

65-
return promise.Promise.resolve([getattr(parent, relationship_prop.key) for parent in parents])
65+
return [getattr(parent, relationship_prop.key) for parent in parents]
6666

6767
loader = RelationshipLoader()
6868

69-
def resolve(root, info, **args):
70-
return loader.load(root)
69+
async def resolve(root, info, **args):
70+
return await loader.load(root)
7171

7272
return resolve

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ max-line-length = 120
99
no_lines_before=FIRSTPARTY
1010
known_graphene=graphene,graphql_relay,flask_graphql,graphql_server,sphinx_graphene_theme
1111
known_first_party=graphene_sqlalchemy
12-
known_third_party=app,database,flask,models,nameko,pkg_resources,promise,pytest,schema,setuptools,sqlalchemy,sqlalchemy_utils
12+
known_third_party=aiodataloader,app,database,flask,models,nameko,pkg_resources,promise,pytest,schema,setuptools,sqlalchemy,sqlalchemy_utils
1313
sections=FUTURE,STDLIB,THIRDPARTY,GRAPHENE,FIRSTPARTY,LOCALFOLDER
1414
skip_glob=examples/nameko_sqlalchemy
1515

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313

1414
requirements = [
1515
# To keep things simple, we only support newer versions of Graphene
16-
"graphene>=3.0b5",
16+
"graphene>=3.0.0b7",
1717
"promise>=2.3",
18-
# Tests fail with 1.0.19
1918
"SQLAlchemy>=1.1,<2.0",
19+
"aiodataloader>=0.2.0,<1.0",
2020
]
2121

2222
tests_require = [

0 commit comments

Comments
 (0)