from django.urls import include, path, register_converter from django.utils.translation import gettext_lazy as _ from rest_framework.routers import DefaultRouter from . import models, views, viewsets from .converters import PagePathConverter, DateConverter, WeekConverter __all__ = ['api', 'urls'] register_converter(PagePathConverter, 'page_path') register_converter(DateConverter, 'date') register_converter(WeekConverter, 'week') # urls = [ # path('on_air', views.on_air, name='aircox.on_air'), # path('monitor', views.Monitor.as_view(), name='aircox.monitor'), # path('stats', views.StatisticsView.as_view(), name='aircox.stats'), # ] router = DefaultRouter() router.register('sound', viewsets.SoundViewSet, basename='sound') router.register('track', viewsets.TrackROViewSet, basename='track') api = [ path('logs/', views.LogListAPIView.as_view(), name='live'), path('user/settings/', viewsets.UserSettingsViewSet.as_view( {'get': 'retrieve', 'post': 'update', 'put': 'update'}), name='user-settings'), ] + router.urls urls = [ path('', views.HomeView.as_view(), name='home'), path('api/', include((api, 'aircox'), namespace='api')), # path('', views.PageDetailView.as_view(model=models.Article), # name='home'), path(_('articles/'), views.ArticleListView.as_view(model=models.Article), name='article-list'), path(_('articles//'), views.ArticleDetailView.as_view(), name='article-detail'), path(_('episodes/'), views.EpisodeListView.as_view(), name='episode-list'), path(_('episodes//'), views.EpisodeDetailView.as_view(), name='episode-detail'), path(_('week/'), views.DiffusionListView.as_view(), name='diffusion-list'), path(_('week//'), views.DiffusionListView.as_view(), name='diffusion-list'), path(_('logs/'), views.LogListView.as_view(), name='log-list'), path(_('logs//'), views.LogListView.as_view(), name='log-list'), # path('', views.route_page, name='page'), path(_('publications/'), views.PageListView.as_view(model=models.Page), name='page-list'), path(_('pages/'), views.BasePageListView.as_view( model=models.StaticPage, queryset=models.StaticPage.objects.filter(attach_to__isnull=True), ), name='static-page-list' ), path(_('pages//'), views.BasePageDetailView.as_view( model=models.StaticPage, queryset=models.StaticPage.objects.filter(attach_to__isnull=True), ), name='static-page-detail' ), path(_('programs/'), views.ProgramListView.as_view(), name='program-list'), path(_('programs//'), views.ProgramDetailView.as_view(), name='program-detail'), path(_('programs//episodes/'), views.EpisodeListView.as_view(), name='episode-list'), path(_('programs//articles/'), views.ArticleListView.as_view(), name='article-list'), path(_('programs//publications/'), views.ProgramPageListView.as_view(), name='program-page-list'), ]