import os from django.conf.urls import include, url from django.contrib import admin from django.contrib.auth.views import login from django.http import HttpResponseRedirect from django.views.generic import TemplateView from django.views.static import serve from snipts.api import (PublicSniptResource, PublicUserResource, PrivateSniptResource, PrivateFavoriteResource, PrivateUserProfileResource, PrivateUserResource, PublicTagResource) from snipts.views import search from tastypie.api import Api from views import (homepage, lexers, login_redirect, tags, user_api_key) public_api = Api(api_name='public') public_api.register(PublicSniptResource()) public_api.register(PublicTagResource()) public_api.register(PublicUserResource()) private_api = Api(api_name='private') private_api.register(PrivateSniptResource()) private_api.register(PrivateUserResource()) private_api.register(PrivateFavoriteResource()) private_api.register(PrivateUserProfileResource()) urlpatterns = [] if os.environ.get("DISABLE_SIGNUP") == "true": urlpatterns += [ url(r'^register/?$', lambda x: HttpResponseRedirect('/404/')), url(r'^signup/?$', lambda x: HttpResponseRedirect('/404/')), ] else: urlpatterns += [ url(r'^signup/?$', lambda x: HttpResponseRedirect('/register/')), ] urlpatterns += [ url(r'^$', homepage), url(r'', include('registration.backends.simple.urls')), url(r'^login/?$', login, name='login'), url(r'^login-redirect/$', login_redirect), url(r'^admin/', include(admin.site.urls)), url(r'^404/$', TemplateView.as_view(template_name='404.html')), url(r'^500/$', TemplateView.as_view(template_name='500.html')), url(r'^robots.txt$', TemplateView.as_view(template_name='robots.txt')), url(r'^tags/$', tags), url(r'^account/', include('accounts.urls')), url(r'^api/public/lexer/$', lexers), url(r'^api/private/key/$', user_api_key), url(r'^api/', include(public_api.urls)), url(r'^api/', include(private_api.urls)), url(r'^search/$', search), url(r'^', include('teams.urls')), url(r'^', include('snipts.urls')), url(r'^(?Pfavicon\.ico)$', serve, { 'document_root': os.path.join(os.path.dirname(__file__), 'static/img') }), url(r'^static/(?P.*)$', serve, { 'document_root': os.path.join(os.path.dirname(__file__), 'media') }) ]