FetchingCoordinator -> fetcher_factory (better name)

This commit is contained in:
Konsta Vesterinen
2013-08-22 21:48:07 +03:00
parent 7a98f47e4c
commit 52c7acd763

View File

@@ -143,13 +143,13 @@ def batch_fetch(entities, *attr_paths):
""" """
if entities: if entities:
fetcher = FetchingCoordinator() for path in attr_paths:
for attr_path in attr_paths: fetcher = fetcher_factory(entities, path)
fetcher(entities, attr_path) fetcher.fetch()
fetcher.populate()
class FetchingCoordinator(object): def fetcher_factory(entities, path):
def __call__(self, entities, path):
populate_backrefs = False populate_backrefs = False
if isinstance(path, with_backrefs): if isinstance(path, with_backrefs):
path = path.path path = path.path
@@ -162,11 +162,9 @@ class FetchingCoordinator(object):
Path.parse(entities, path, populate_backrefs).fetcher Path.parse(entities, path, populate_backrefs).fetcher
) )
fetcher = CompositeFetcher(*fetchers) return CompositeFetcher(*fetchers)
else: else:
fetcher = Path.parse(entities, path, populate_backrefs).fetcher return Path.parse(entities, path, populate_backrefs).fetcher
fetcher.fetch()
fetcher.populate()
class CompositeFetcher(object): class CompositeFetcher(object):