93 lines
2.9 KiB
Python
93 lines
2.9 KiB
Python
# pylint: disable=missing-docstring
|
|
|
|
from operator import add
|
|
|
|
from django.conf.urls import url, include
|
|
from django.contrib import admin
|
|
from django.conf import settings
|
|
from django.conf.urls.static import static
|
|
from django.views.generic.base import TemplateView
|
|
|
|
from tastypie.api import Api
|
|
|
|
from readthedocs.api.base import (ProjectResource, UserResource,
|
|
VersionResource, FileResource)
|
|
from readthedocs.core.urls import docs_urls, core_urls, deprecated_urls
|
|
from readthedocs.core.views import HomepageView, SupportView
|
|
from readthedocs.search import views as search_views
|
|
|
|
|
|
v1_api = Api(api_name='v1')
|
|
v1_api.register(UserResource())
|
|
v1_api.register(ProjectResource())
|
|
v1_api.register(VersionResource())
|
|
v1_api.register(FileResource())
|
|
|
|
admin.autodiscover()
|
|
|
|
handler500 = 'readthedocs.core.views.server_error'
|
|
handler404 = 'readthedocs.core.views.server_error_404'
|
|
|
|
basic_urls = [
|
|
url(r'^$', HomepageView.as_view(), name='homepage'),
|
|
url(r'^support/', SupportView.as_view(), name='support'),
|
|
url(r'^security/', TemplateView.as_view(template_name='security.html')),
|
|
]
|
|
|
|
rtd_urls = [
|
|
url(r'^bookmarks/', include('readthedocs.bookmarks.urls')),
|
|
url(r'^search/$', search_views.elastic_search, name='search'),
|
|
url(r'^dashboard/', include('readthedocs.projects.urls.private')),
|
|
url(r'^profiles/', include('readthedocs.profiles.urls.public')),
|
|
url(r'^accounts/', include('readthedocs.profiles.urls.private')),
|
|
url(r'^accounts/', include('allauth.urls')),
|
|
url(r'^notifications/', include('readthedocs.notifications.urls')),
|
|
# For redirects
|
|
url(r'^builds/', include('readthedocs.builds.urls')),
|
|
]
|
|
|
|
project_urls = [
|
|
url(r'^projects/', include('readthedocs.projects.urls.public')),
|
|
]
|
|
|
|
api_urls = [
|
|
url(r'^api/', include(v1_api.urls)),
|
|
url(r'^api/v2/', include('readthedocs.restapi.urls')),
|
|
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
|
|
url(r'^websupport/', include('readthedocs.comments.urls')),
|
|
]
|
|
|
|
i18n_urls = [
|
|
url(r'^i18n/', include('django.conf.urls.i18n')),
|
|
]
|
|
|
|
admin_urls = [
|
|
url(r'^admin/', include(admin.site.urls)),
|
|
]
|
|
|
|
money_urls = [
|
|
url(r'^sustainability/', include('readthedocs.donate.urls')),
|
|
url(r'^accounts/gold/', include('readthedocs.gold.urls')),
|
|
]
|
|
|
|
debug_urls = add(
|
|
[
|
|
url('style-catalog/$',
|
|
TemplateView.as_view(template_name='style_catalog.html')),
|
|
],
|
|
static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
|
)
|
|
|
|
# Export URLs
|
|
groups = [basic_urls, rtd_urls, project_urls, api_urls, core_urls, i18n_urls,
|
|
money_urls, deprecated_urls]
|
|
|
|
if not getattr(settings, 'USE_SUBDOMAIN', False) or settings.DEBUG:
|
|
groups.insert(0, docs_urls)
|
|
if getattr(settings, 'ALLOW_ADMIN', True):
|
|
groups.append(admin_urls)
|
|
if getattr(settings, 'DEBUG', False):
|
|
groups.append(debug_urls)
|
|
|
|
urlpatterns = reduce(add, groups)
|