-from django.conf.urls import patterns, include, url
+from combo import plugins as combo_plugins
from django.conf import settings
-
+from django.conf.urls import include, url
+from django.conf.urls.static import static
+from django.contrib.staticfiles.urls import staticfiles_urlpatterns
+from django.urls import path, reverse_lazy
from django.views.generic import RedirectView
-from django.core.urlresolvers import reverse_lazy
-
-from django.contrib import admin
-admin.autodiscover()
-
-urlpatterns = patterns('',
- url(r'^$', 'panikweb.views.home', name='home'),
- url(r'^onair.json$', 'panikweb.views.onair', name='onair'),
- url(r'^program$', 'panikweb.views.program', name='program'),
- url(r'^grid$', 'panikweb.views.grid', name='grid'),
- url(r'^emissions/$', 'panikweb.views.emissions', name='emissions'),
- url(r'^emissions/', include('emissions.urls')),
- url(r'^ckeditor/', include('ckeditor.urls')),
- url(r'^get$', 'panikweb.views.get', name='get'),
- url(r'^listen$', 'panikweb.views.listen', name='listen'),
- url(r'^news/$', 'panikweb.views.news', name='news'),
- url(r'^news/(?P<slug>[\w,-]+)$', 'panikweb.views.newsitem', name='news-view'),
+from django.views.i18n import JavaScriptCatalog
- url(r'^search/', 'panikweb.search.view', name='search'),
+from . import search, views
+from .webstats.urls import urlpatterns as webstats_urlpatterns
- (r'^api/v2/', include('fiber.rest_api.urls')),
- (r'^admin/fiber/', include('fiber.admin_urls')),
- (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', {'packages': ('fiber',),}),
+urlpatterns = [
+ url(r'^$', views.home, name='home'),
+ url(r'^onair.json$', views.onair, name='onair'),
+ url(r'^%s$' % settings.PROGRAM_PREFIX, views.program, name='program'),
+ url(r'^%s(?P<year>\d{4})/(?P<week>\d+)/$' % settings.PROGRAM_PREFIX, views.program, name='program_week'),
+ url(r'^grille$', views.grid, name='grid'),
+ url(r'^%s$' % settings.EMISSIONS_PREFIX, views.emissions, name='emissions'),
+ url(
+ r'^%s(?P<slug>[\w,-]+)/episodes/$' % settings.EMISSIONS_PREFIX,
+ views.emissionEpisodes,
+ name='emissionEpisodes',
+ ),
+ url(
+ r'^%s(?P<slug>[\w,-]+)/podcasts.rss' % settings.EMISSIONS_PREFIX,
+ views.emission_podcasts_feed,
+ name='emission-podcasts',
+ ),
+ url(r'^%s(?P<slug>[\w,-]+)/chat/$' % settings.EMISSIONS_PREFIX, views.chat, name='emission-chat'),
+ url(
+ r'^%s(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/$' % settings.EMISSIONS_PREFIX,
+ views.episode,
+ name='episode-view',
+ ),
+ url(
+ r'^%s(?P<emission_slug>[\w,-]+)/(?P<episode_slug>[\w,-]+)/embed/$' % settings.EMISSIONS_PREFIX,
+ views.episode_embed_redirect,
+ name='episode-embed-redirect-view',
+ ),
+ url(
+ r'^%s(?P<emission_slug>[\w,-]+)/(?P<episode_slug>[\w,-]+)/embed/(?P<pk>\d+)/$'
+ % settings.EMISSIONS_PREFIX,
+ views.soundfile_embed,
+ name='soundfile-embed-view',
+ ),
+ url(
+ r'^%s(?P<emission_slug>[\w,-]+)/(?P<episode_slug>[\w,-]+)/dlg-embed/(?P<pk>\d+)/$'
+ % settings.EMISSIONS_PREFIX,
+ views.soundfile_dlg_embed,
+ name='soundfile-dialog-embed-view',
+ ),
+ url(
+ r'^%s(?P<slug>[\w,-]+)/playlist/(?P<year>[0-9]{4})-(?P<month>[0-9]+)-(?P<day>[0-9]+)/$'
+ % settings.EMISSIONS_PREFIX,
+ views.nonstop_playlist,
+ name='nonstop-playlist',
+ ),
+ url(r'^%s(?P<slug>[\w,-]+)/$' % settings.EMISSIONS_PREFIX, views.emission, name='emission-view'),
+ url(r'^%sarchives$' % settings.EMISSIONS_PREFIX, views.emissionsArchives, name='emissionsArchives'),
+ url(r'^sons/$', RedirectView.as_view(url='/podcasts/'), name='listen'),
+ url(r'^sons-old/$', views.listen),
+ url(r'^podcasts/archives/$', search.listenArchives, name='listenArchives'),
+ url(r'^%s$' % settings.NEWSITEMS_PREFIX, views.news, name='news'),
+ url(r'^%sagenda/$' % settings.NEWSITEMS_PREFIX, views.agenda, name='agenda'),
+ url(
+ r'^%sagenda/(?P<year>[0-9]{4})/(?P<month>[0-9]+)/$' % settings.NEWSITEMS_PREFIX,
+ views.agenda_by_month,
+ name='agenda_by_month',
+ ),
+ url(
+ r'^%sagenda$' % settings.NEWSITEMS_PREFIX, RedirectView.as_view(pattern_name='agenda', permanent=True)
+ ),
+ url(r'^%sarchives/$' % settings.NEWSITEMS_PREFIX, search.newsArchives, name='newsArchives'),
+ url(r'^%s(?P<slug>[\w,-]+)$' % settings.NEWSITEMS_PREFIX, views.newsitemview, name='newsitem-view'),
+ url(r'^party$', views.party, name='party'),
+ url(r'^recherche/$', search.view, name='search'),
+ url(r'^actus.rss$', views.rss_news_feed, name='rss-feed'),
+ url(r'^actus.atom$', views.atom_news_feed, name='atom-feed'),
+ url(r'^podcasts.rss$', views.podcasts_feed, name='podcasts-feed'),
+ url(r'^newsletter/', include('newsletter.urls')),
+ url(r'^__webstats/', include(webstats_urlpatterns)),
+ url(r'^jsi18n$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
+]
- url(r'^admin/', include(admin.site.urls)),
- url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
-)
-
-from django.contrib.staticfiles.urls import staticfiles_urlpatterns
+urlpatterns = combo_plugins.register_plugins_urls(urlpatterns)
urlpatterns += staticfiles_urlpatterns()
-from django.conf.urls.static import static
+if settings.OFFSITE_MEDIA_SOUNDS:
+ urlpatterns += [url(r'^media/(?P<location>sounds/.*)', views.media_hosting)]
+
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
-urlpatterns += patterns('',
- (r'', 'fiber.views.page'),
-)
+if settings.DEBUG_TOOLBAR:
+ urlpatterns += [
+ path('__debug__/', include('debug_toolbar.urls')),
+ ]
-try:
- from local_urls import *
-except ImportError, e:
- pass
+urlpatterns.append(url(r'', include('combo.public.urls')))