diff --git a/src/colab/urls.py b/src/colab/urls.py index a47d25e..c7f624f 100644 --- a/src/colab/urls.py +++ b/src/colab/urls.py @@ -32,10 +32,5 @@ urlpatterns = patterns('', # Uncomment the next line to enable the admin: url(r'^colab/admin/', include(admin.site.urls)), - # Trac URLs - url(u'^(?P(?:admin|wiki|changeset|newticket|ticket|chrome|timeline|roadmap|browser|report|tags|query|about|prefs|log|attachment|raw-attachment).*)$', - 'revproxy.views.proxy', {'base_url': settings.COLAB_TRAC_URL}), - - # Jenkins URLs - url(u'^ci/(?P.*)$', 'revproxy.views.proxy', {'base_url': settings.COLAB_CI_URL}), + url(r'^', include('proxy.urls')), ) diff --git a/src/proxy/__init__.py b/src/proxy/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/proxy/__init__.py diff --git a/src/proxy/admin.py b/src/proxy/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/src/proxy/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/src/proxy/models.py b/src/proxy/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/src/proxy/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/src/proxy/tests.py b/src/proxy/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/src/proxy/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/src/proxy/urls.py b/src/proxy/urls.py new file mode 100644 index 0000000..042af1c --- /dev/null +++ b/src/proxy/urls.py @@ -0,0 +1,14 @@ + +from django.conf.urls import patterns, include, url + +from .views import TracProxyView, JenkinsProxyView + + +urlpatterns = patterns('', + # Trac URLs + url(r'^(?P(?:admin|wiki|changeset|newticket|ticket|chrome|timeline|roadmap|browser|report|tags|query|about|prefs|log|attachment|raw-attachment).*)$', + TracProxyView.as_view()), + + # Jenkins URLs + url(r'^ci/(?P.*)$', JenkinsProxyView.as_view()), +) diff --git a/src/proxy/views.py b/src/proxy/views.py new file mode 100644 index 0000000..faff450 --- /dev/null +++ b/src/proxy/views.py @@ -0,0 +1,19 @@ + +import os + +from django.conf import settings + +from revproxy.views import ProxyView + + +class TracProxyView(ProxyView): + base_url = settings.COLAB_TRAC_URL + add_remote_user = settings.REVPROXY_ADD_REMOTE_USER + diazo_template_theme = 'base.html' + diazo_rules = os.path.join(settings.BASE_DIR, 'proxy', 'trac_rules.xml') + + +class JenkinsProxyView(ProxyView): + base_url = settings.COLAB_CI_URL + add_remote_user = settings.REVPROXY_ADD_REMOTE_USER + diazo_template_theme = 'base.html' -- libgit2 0.21.2