Commit 64781e7e895891b0c97fb41cf66e8c63121af958
1 parent
1a166d1d
Exists in
master
and in
29 other branches
Allow full plugins on /etc/colab/plugins.d
Signed-off-by: Sergio Oliveira <sergio@tracy.com.br>
Showing
2 changed files
with
13 additions
and
10 deletions
Show diff stats
colab/plugins/tasks.py
@@ -2,10 +2,10 @@ | @@ -2,10 +2,10 @@ | ||
2 | from datetime import timedelta | 2 | from datetime import timedelta |
3 | from celery.decorators import periodic_task | 3 | from celery.decorators import periodic_task |
4 | 4 | ||
5 | -from .utils import data | 5 | +from .data import TASKS |
6 | 6 | ||
7 | 7 | ||
8 | -@periodic_task(run_every=timedelta(minutes=1)) | 8 | +@periodic_task(run_every=timedelta(seconds=5)) |
9 | def import_plugin_data(): | 9 | def import_plugin_data(): |
10 | - for task in data.TASKS: | 10 | + for task in TASKS: |
11 | task.delay() | 11 | task.delay() |
colab/utils/conf.py
@@ -3,7 +3,6 @@ import os | @@ -3,7 +3,6 @@ import os | ||
3 | import sys | 3 | import sys |
4 | import logging | 4 | import logging |
5 | import importlib | 5 | import importlib |
6 | -import warnings | ||
7 | 6 | ||
8 | from django.core.exceptions import ImproperlyConfigured | 7 | from django.core.exceptions import ImproperlyConfigured |
9 | 8 | ||
@@ -96,17 +95,21 @@ def load_colab_apps(): | @@ -96,17 +95,21 @@ def load_colab_apps(): | ||
96 | return {'COLAB_APPS': COLAB_APPS} | 95 | return {'COLAB_APPS': COLAB_APPS} |
97 | 96 | ||
98 | for file_name in os.listdir(plugins_dir): | 97 | for file_name in os.listdir(plugins_dir): |
99 | - if not file_name.endswith('.py'): | ||
100 | - continue | ||
101 | - | ||
102 | file_module = file_name.split('.')[0] | 98 | file_module = file_name.split('.')[0] |
99 | + | ||
100 | + logger.info('Loaded plugin settings: %s%s', plugins_dir, file_name) | ||
103 | py_settings_d = _load_py_file(file_module, plugins_dir) | 101 | py_settings_d = _load_py_file(file_module, plugins_dir) |
104 | - logger.info('Loaded plugin settings: %s/%s', plugins_dir, file_name) | ||
105 | 102 | ||
106 | - app_name = py_settings_d.get('name') | 103 | + if os.path.isdir(os.path.join(plugins_dir, file_name)): |
104 | + app_name = file_name | ||
105 | + | ||
106 | + elif file_name.endswith('.py'): | ||
107 | + app_name = py_settings_d.get('name') | ||
108 | + | ||
107 | if not app_name: | 109 | if not app_name: |
108 | - warnings.warn("Plugin missing name variable") | 110 | + logger.warning("Plugin missing name variable (%s)", file_name) |
109 | continue | 111 | continue |
112 | + | ||
110 | try: | 113 | try: |
111 | importlib.import_module(app_name) | 114 | importlib.import_module(app_name) |
112 | except ImportError: | 115 | except ImportError: |