Commit 9c502ce5d6673552084598f7af45d35cc03d0b2d
1 parent
540555ad
Exists in
master
and in
29 other branches
Fixed to only call tasks if fetch_data is not abstract
Signed-off-by: Sergio Oliveira <sergio@tracy.com.br>
Showing
2 changed files
with
8 additions
and
3 deletions
Show diff stats
colab/plugins/data/base_importer.py
@@ -11,4 +11,9 @@ class PluginDataImporter(object): | @@ -11,4 +11,9 @@ class PluginDataImporter(object): | ||
11 | 11 | ||
12 | @abc.abstractmethod | 12 | @abc.abstractmethod |
13 | def fetch_data(self): | 13 | def fetch_data(self): |
14 | - raise NotImplementedError('fetchData not yet implemented') | 14 | + raise NotImplementedError |
15 | + fetch_data.is_abstract = True | ||
16 | + | ||
17 | + @abc.abstractmethod | ||
18 | + def app_label(self): | ||
19 | + raise NotImplementedError |
colab/plugins/data/tasks.py
@@ -27,10 +27,10 @@ def register_tasks(): | @@ -27,10 +27,10 @@ def register_tasks(): | ||
27 | 27 | ||
28 | for item_name in dir(module): | 28 | for item_name in dir(module): |
29 | item = getattr(module, item_name) | 29 | item = getattr(module, item_name) |
30 | - if item is PluginDataImporter: | ||
31 | - continue | ||
32 | 30 | ||
33 | if callable(getattr(item, 'fetch_data', None)): | 31 | if callable(getattr(item, 'fetch_data', None)): |
32 | + if getattr(item.fetch_data, 'is_abstract', False): | ||
33 | + continue | ||
34 | instance = item() | 34 | instance = item() |
35 | task_name = '{}.{}'.format(module.__name__, item_name) | 35 | task_name = '{}.{}'.format(module.__name__, item_name) |
36 | task = app.task(name=task_name, bind=True)(instance.fetch_data) | 36 | task = app.task(name=task_name, bind=True)(instance.fetch_data) |