]> git.0d.be Git - panikweb.git/blobdiff - panikweb/urls.py
misc: add support for offsite podcasts
[panikweb.git] / panikweb / urls.py
index 65be26157883e7016833ce38af667faa24af10f5..73f607a6990381976ef2aa495da6cd3c423bd24a 100644 (file)
@@ -1,25 +1,99 @@
-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()
+from django.views.i18n import JavaScriptCatalog
 
-urlpatterns = patterns('',
-    url(r'^$', 'panikweb.views.home', name='home'),
-    url(r'^program$', 'panikweb.views.program', name='program'),
-    url(r'^get$', 'panikweb.views.get', name='get'),
-    url(r'^emissions/', include('emissions.urls')),
-    url(r'^ckeditor/', include('ckeditor.urls')),
+from . import search, views
+from .webstats.urls import urlpatterns as webstats_urlpatterns
 
-    url(r'^admin/', include(admin.site.urls)),
-    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
-)
+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'),
+]
 
-from django.contrib.staticfiles.urls import staticfiles_urlpatterns
+urlpatterns = combo_plugins.register_plugins_urls(urlpatterns)
 urlpatterns += staticfiles_urlpatterns()
 
-try:
-    from local_urls import *
-except ImportError, e:
-    pass
+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)
+
+if settings.DEBUG_TOOLBAR:
+    urlpatterns += [
+        path('__debug__/', include('debug_toolbar.urls')),
+    ]
+
+urlpatterns.append(url(r'', include('combo.public.urls')))