Commit 06c11d4772fa9cb27a5ba06476c9daf72daa2f39
1 parent
5f51339e
Exists in
master
and in
39 other branches
Add interface for data importation for proxies
-Proxies utilizes the data_api.py fetchData() to expecify how to import their data into the colab database -Gitlab need to add the variable auth_token to colab.yml to have the permission of acces to the gitlabAPI data Signed-off-by: Gustavo Jaruga <darksshades@gmail.com> Signed-off-by: Charles Oliveira <18oliveira.charles@gmail.com> Signed-off-by: Carlos Oliveira <carlospecter@gmail.com>
Showing
7 changed files
with
32 additions
and
2 deletions
Show diff stats
colab/proxy/gitlab/data_api.py
colab/proxy/gitlab/models.py
colab/proxy/proxybase/management/commands/import_proxy_data.py
0 → 100644
| @@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
| 1 | +#!/usr/bin/env python | ||
| 2 | + | ||
| 3 | +import colab | ||
| 4 | +from django.core.management.base import BaseCommand | ||
| 5 | +from colab.super_archives.models import Message | ||
| 6 | +from django.conf import settings | ||
| 7 | +modules = [ i for i in settings.INSTALLED_APPS if i.startswith("colab.proxy.") ] | ||
| 8 | +for module in modules: | ||
| 9 | + module += ".data_api" | ||
| 10 | + __import__(module, locals(), globals()) | ||
| 11 | + | ||
| 12 | +class Command(BaseCommand): | ||
| 13 | + help = "Import proxy data into colab database" | ||
| 14 | + | ||
| 15 | + def handle(self, *args, **kwargs): | ||
| 16 | + print "Executing extraction command..." | ||
| 17 | + | ||
| 18 | + for module in modules: | ||
| 19 | + extractionClassname = module + ".data_api." + module.split('.')[-1].title() + "DataAPI" | ||
| 20 | + api = eval(extractionClassname)() | ||
| 21 | + api.fetchData() |
colab/settings.py
| @@ -321,8 +321,9 @@ if FEEDZILLA_ENABLED: | @@ -321,8 +321,9 @@ if FEEDZILLA_ENABLED: | ||
| 321 | 'common', | 321 | 'common', |
| 322 | ) | 322 | ) |
| 323 | 323 | ||
| 324 | -PROXIED_APPS = locals().get('PROXIED_APPS') or {} | ||
| 325 | BROWSERID_ENABLED = locals().get('BROWSERID_ENABLED') or False | 324 | BROWSERID_ENABLED = locals().get('BROWSERID_ENABLED') or False |
| 326 | 325 | ||
| 326 | +PROXIED_APPS = locals().get('PROXIED_APPS') or {} | ||
| 327 | + | ||
| 327 | for app_label in PROXIED_APPS.keys(): | 328 | for app_label in PROXIED_APPS.keys(): |
| 328 | INSTALLED_APPS += ('colab.proxy.{}'.format(app_label),) | 329 | INSTALLED_APPS += ('colab.proxy.{}'.format(app_label),) |