diff --git a/colab/proxy/gitlab/data_api.py b/colab/proxy/gitlab/data_api.py index aa92ee6..6d464da 100644 --- a/colab/proxy/gitlab/data_api.py +++ b/colab/proxy/gitlab/data_api.py @@ -9,7 +9,7 @@ from django.conf import settings from django.db.models.fields import DateTimeField from colab.proxy.gitlab.models import GitlabProject -from colab.proxy.proxybase.proxy_data_api import ProxyDataAPI +from colab.proxy.utils.proxy_data_api import ProxyDataAPI class GitlabDataAPI(ProxyDataAPI): diff --git a/colab/proxy/jenkins/data_api.py b/colab/proxy/jenkins/data_api.py index bec0639..a4b0ee6 100644 --- a/colab/proxy/jenkins/data_api.py +++ b/colab/proxy/jenkins/data_api.py @@ -1,12 +1,7 @@ -from colab.proxy.gitlab.models import * -from colab.proxy.proxybase.proxy_data_api import ProxyDataAPI -from django.db.models.fields import DateTimeField -from dateutil.parser import parse -import urllib2 -import json +from colab.proxy.utils.proxy_data_api import ProxyDataAPI -class JenkinsDataAPI(ProxyDataAPI): - def fetchData(self): - pass +class JenkinsDataAPI(ProxyDataAPI): + def fetchData(self): + pass diff --git a/colab/proxy/management/__init__.py b/colab/proxy/management/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/colab/proxy/management/__init__.py diff --git a/colab/proxy/management/commands/__init__.py b/colab/proxy/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/colab/proxy/management/commands/__init__.py diff --git a/colab/proxy/management/commands/import_proxy_data.py b/colab/proxy/management/commands/import_proxy_data.py new file mode 100644 index 0000000..acd8f7a --- /dev/null +++ b/colab/proxy/management/commands/import_proxy_data.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python + +import colab +from django.core.management.base import BaseCommand +from colab.super_archives.models import Message +from django.conf import settings +modules = [ i for i in settings.INSTALLED_APPS if i.startswith("colab.proxy.") ] +for module in modules: + module += ".data_api" + __import__(module, locals(), globals()) + +class Command(BaseCommand): + help = "Import proxy data into colab database" + + def handle(self, *args, **kwargs): + print "Executing extraction command..." + + for module in modules: + extractionClassname = module + ".data_api." + module.split('.')[-1].title() + "DataAPI" + api = eval(extractionClassname)() + api.fetchData() diff --git a/colab/proxy/noosfero/data_api.py b/colab/proxy/noosfero/data_api.py index 1099e46..85f71a6 100644 --- a/colab/proxy/noosfero/data_api.py +++ b/colab/proxy/noosfero/data_api.py @@ -1,12 +1,7 @@ -from colab.proxy.gitlab.models import * -from colab.proxy.proxybase.proxy_data_api import ProxyDataAPI -from django.db.models.fields import DateTimeField -from dateutil.parser import parse -import urllib2 -import json +from colab.proxy.utils.proxy_data_api import ProxyDataAPI -class NoosferoDataAPI(ProxyDataAPI): - def fetchData(self): - pass +class NoosferoDataAPI(ProxyDataAPI): + def fetchData(self): + pass diff --git a/colab/proxy/proxybase/__init__.py b/colab/proxy/proxybase/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/colab/proxy/proxybase/__init__.py +++ /dev/null diff --git a/colab/proxy/proxybase/management/commands/__init__.py b/colab/proxy/proxybase/management/commands/__init__.py deleted file mode 100644 index 93f5256..0000000 --- a/colab/proxy/proxybase/management/commands/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__init__.py \ No newline at end of file diff --git a/colab/proxy/proxybase/management/commands/import_proxy_data.py b/colab/proxy/proxybase/management/commands/import_proxy_data.py deleted file mode 100644 index e59d160..0000000 --- a/colab/proxy/proxybase/management/commands/import_proxy_data.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python - -import importlib - -from django.core.management.base import BaseCommand -from django.conf import settings - -from colab.proxy.proxybase.proxy_data_api import ProxyDataAPI - - -class Command(BaseCommand): - help = "Import proxy data into colab database" - - def handle(self, *args, **kwargs): - print "Executing extraction command..." - - for module_name in settings.PROXIED_APPS.keys(): - module_path = 'colab.proxy.{}.data_api'.format(module_name) - module = importlib.import_module(module_path) - - for module_item_name in dir(module): - module_item = getattr(module, module_item_name) - if issubclass(module_item, ProxyDataAPI): - if module_item != ProxyDataAPI: - api = module_item() - api.fetchData() diff --git a/colab/proxy/proxybase/proxy_data_api.py b/colab/proxy/proxybase/proxy_data_api.py deleted file mode 100644 index fd1a122..0000000 --- a/colab/proxy/proxybase/proxy_data_api.py +++ /dev/null @@ -1,6 +0,0 @@ - - -class ProxyDataAPI(object): - - def fetchData(self): - raise NotImplementedError('fetchData not yet implemented') diff --git a/colab/proxy/redmine/data_api.py b/colab/proxy/redmine/data_api.py index 5683519..f4e6b54 100644 --- a/colab/proxy/redmine/data_api.py +++ b/colab/proxy/redmine/data_api.py @@ -1,12 +1,7 @@ -from colab.proxy.gitlab.models import * -from colab.proxy.proxybase.proxy_data_api import ProxyDataAPI -from django.db.models.fields import DateTimeField -from dateutil.parser import parse -import urllib2 -import json +from colab.proxy.utils.proxy_data_api import ProxyDataAPI -class RedmineDataAPI(ProxyDataAPI): - def fetchData(self): - pass +class RedmineDataAPI(ProxyDataAPI): + def fetchData(self): + pass diff --git a/colab/proxy/trac/data_api.py b/colab/proxy/trac/data_api.py index f2673c7..6abd9f0 100644 --- a/colab/proxy/trac/data_api.py +++ b/colab/proxy/trac/data_api.py @@ -1,12 +1,7 @@ -from colab.proxy.gitlab.models import * -from colab.proxy.proxybase.proxy_data_api import ProxyDataAPI -from django.db.models.fields import DateTimeField -from dateutil.parser import parse -import urllib2 -import json +from colab.proxy.utils.proxy_data_api import ProxyDataAPI -class TracDataAPI(ProxyDataAPI): - def fetchData(self): - pass +class TracDataAPI(ProxyDataAPI): + def fetchData(self): + pass diff --git a/colab/proxy/utils/proxy_data_api.py b/colab/proxy/utils/proxy_data_api.py new file mode 100644 index 0000000..fd1a122 --- /dev/null +++ b/colab/proxy/utils/proxy_data_api.py @@ -0,0 +1,6 @@ + + +class ProxyDataAPI(object): + + def fetchData(self): + raise NotImplementedError('fetchData not yet implemented') diff --git a/colab/settings.py b/colab/settings.py index 79cb25e..801254f 100644 --- a/colab/settings.py +++ b/colab/settings.py @@ -323,5 +323,5 @@ if FEEDZILLA_ENABLED: PROXIED_APPS = locals().get('PROXIED_APPS') or {} BROWSERID_ENABLED = locals().get('BROWSERID_ENABLED') or False -for app_label in proxied_apps.keys(): +for app_label in PROXIED_APPS.keys(): INSTALLED_APPS += ('colab.proxy.{}'.format(app_label),) -- libgit2 0.21.2