diff --git a/iris/core/settings.py b/iris/core/settings.py
index 67a91c1..d7e61f6 100644
--- a/iris/core/settings.py
+++ b/iris/core/settings.py
@@ -16,7 +16,6 @@
import os
from os import path
from sys import prefix, argv
-from pkg_resources import iter_entry_points
from django.conf import global_settings
# ConfigParser was renamed to configparser in Python 3
@@ -73,16 +72,8 @@
)
TEMPLATE_DIRS = (
-
)
-for plugin in iter_entry_points(group='iris.app'):
- template_dirs = plugin.load().get('template_dirs', ())
- TEMPLATE_DIRS += template_dirs
-
- print('Loaded application template directories: ')
- print(template_dirs)
-
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
@@ -110,15 +101,10 @@
'django.contrib.humanize',
'south',
'iris.core',
+ 'iris.packagedb',
+ 'iris.submissions',
)
-for plugin in iter_entry_points(group='iris.app'):
- installed_apps = plugin.load().get('installed_apps', ())
- INSTALLED_APPS += installed_apps
-
- print('Loaded applications: ')
- print(installed_apps)
-
SECRET_KEY = '(e0wp@h7-@_p_&u99vi9&$jju+#=b&yyv9@0uqp!8#z#fiyb1!'
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
AUTH_PROFILE_MODULE = 'iris.core.models.UserProfile'
diff --git a/iris/core/templates/core/index.html b/iris/core/templates/core/index.html
index 1e22be0..cd57087 100644
--- a/iris/core/templates/core/index.html
+++ b/iris/core/templates/core/index.html
@@ -22,7 +22,7 @@
IRIS Portal
{% for app in apps %}
-
+
{{ app.header }} »
diff --git a/iris/core/urls.py b/iris/core/urls.py
index d954336..933eb23 100644
--- a/iris/core/urls.py
+++ b/iris/core/urls.py
@@ -18,7 +18,6 @@
# pylint: disable=C0103
from logging import getLogger
-from pkg_resources import iter_entry_points
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.contrib import admin
@@ -40,6 +39,14 @@
url(r'^users(?:/(?P
\d+))?/$', 'users', name='users'),
)
+urlpatterns += patterns(
+ '',
+ url(r'^app/packagedb/', include('iris.packagedb.urls')),
+ url(r'^api/packagedb/', include('iris.packagedb.apiurls')),
+ url(r'^app/submissions/', include('iris.submissions.urls')),
+ url(r'^api/submissions/', include('iris.submissions.apiurls')),
+)
+
LOGGER = getLogger('iris')
if settings.REST_API_AVAILABLE:
@@ -49,25 +56,3 @@
)
LOGGER.info('Loaded REST API documentation under /api/doc')
-
-# Please refer to documentation regarding plugins
-for plugin in iter_entry_points('iris.app'):
- urlinfo = plugin.load().get('urlpatterns', {})
-
- baseurl = urlinfo.get('baseurl')
- viewpatterns = urlinfo.get('patterns')
-
- if baseurl and patterns:
- urlpatterns += patterns('', url(baseurl, include(viewpatterns)))
-
- LOGGER.info('Loaded base URL as %s', baseurl)
- LOGGER.info('Loaded patterns as %s', viewpatterns)
-
- apiurl = urlinfo.get('apiurl')
- apipatterns = urlinfo.get('apipatterns')
-
- if settings.REST_API_AVAILABLE and apiurl and apipatterns:
- urlpatterns += patterns('', url(apiurl, include(apipatterns)))
-
- LOGGER.info('Loaded API URL as %s', apiurl)
- LOGGER.info('Loaded API patterns as %s', apipatterns)
diff --git a/iris/core/views/base.py b/iris/core/views/base.py
index ea1f67f..3c13cf5 100644
--- a/iris/core/views/base.py
+++ b/iris/core/views/base.py
@@ -13,7 +13,6 @@
"""
import logging
-from pkg_resources import iter_entry_points
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib import messages
@@ -27,6 +26,18 @@
log = logging.getLogger(__name__)
+APPS = [{
+ 'url': 'packagedb',
+ 'intro': 'IRIS Package Database. Contains metadata about packages, '
+ 'such as maintainers, developers, reviewers, versioning.',
+ 'header': 'Package Database',
+}, {
+ 'url': 'submissions',
+ 'intro': 'IRIS Submissions. Contains metadata aboutCI and build system '
+ 'statuses and package integration.',
+ 'header': 'Submissions',
+}]
+
def error(request):
"""
@@ -40,26 +51,16 @@ def index(request):
"""
Returns page index.
"""
-
apps = []
-
# Get button info for accessible apps to front page:
- for plugin in iter_entry_points(group='iris.app'):
- fields = plugin.load()
-
- try:
- app = {
- # URL is filtered because it's in regexp format of r'^url/'
- 'url': fields['urlpatterns']['baseurl'].replace('^', ''),
- 'intro': fields['intro'],
- 'header': fields['header']
- }
-
- apps.append(app)
-
- except KeyError as field:
- log.warn('Plugin error, entrypoint field "%s" missing!' % field)
-
+ for fields in APPS:
+ app = {
+ # URL is filtered because it's in regexp format of r'^url/'
+ 'url': fields['url'],
+ 'intro': fields['intro'],
+ 'header': fields['header']
+ }
+ apps.append(app)
return render(request, 'core/index.html', {
'apps': apps,
})
diff --git a/iris/packagedb/urls.py b/iris/packagedb/urls.py
index ea76485..c7e5167 100644
--- a/iris/packagedb/urls.py
+++ b/iris/packagedb/urls.py
@@ -21,7 +21,7 @@
urlpatterns = patterns(
'iris.packagedb.views.base',
- url(r'^(?i)$', 'index', name='packagedb'),
+ url(r'^$', 'index', name='packagedb'),
)
urlpatterns += patterns(
diff --git a/iris/submissions/urls.py b/iris/submissions/urls.py
index 66c15df..5153259 100644
--- a/iris/submissions/urls.py
+++ b/iris/submissions/urls.py
@@ -21,7 +21,7 @@
urlpatterns = patterns(
'iris.submissions.views.read',
- url(r'^$', 'index', name='submissions_index'),
+ url(r'^$', 'index', name='submissions'),
url(r'^mine/$', 'mine', name='my_submissions'),
url(r'^snapshots/(?P\d+)/$', 'snapshot', name='snapshot_detail'),
url(r'^snapshots/product/(?P\d+)/$', 'snapshot_by_product', name='snapshot_by_product'),
diff --git a/setup.py b/setup.py
index 2a80e09..29d9857 100644
--- a/setup.py
+++ b/setup.py
@@ -18,10 +18,6 @@
iris_packagedb.egg-info and iris_submissions.egg-info folders,
respectively, to broadcast their existence to the core app.
-Apart from this egg setup, they build from the same binary
-as the core application does, and come plugged only when
-their plugins are registered under the [iris.app] entrypoint.
-
This convenience is for RPM packaging purposes and to avoid
setting up multiple setup.py files doing essentially the same thing.
"""
@@ -87,10 +83,6 @@ def get_version():
namespace_packages=['iris'],
packages=['iris.packagedb'],
include_package_data=True,
- entry_points="""
- [iris.app]
- packagedb=iris.packagedb.plugin:APPINFO
- """,
license='GPL-2.0',
description='IRIS Package Database plugin',
)
@@ -103,10 +95,6 @@ def get_version():
namespace_packages=['iris'],
packages=['iris.submissions'],
include_package_data=True,
- entry_points="""
- [iris.app]
- submissions=iris.submissions.plugin:APPINFO
- """,
license='GPL-2.0',
description='IRIS Submissions plugin',
)