summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluxagraf <sng@luxagraf.net>2022-12-17 16:24:04 -0600
committerluxagraf <sng@luxagraf.net>2022-12-17 16:24:04 -0600
commit250c9dabae53407b7e1f76cb619729f2672ed82d (patch)
tree78a800e6cee9cc33bc3711b84daa456d357e0947
parenta60db651e4818a32509094b2a052fa7fac97389f (diff)
pod: finished podcast framework
-rw-r--r--app/podcasts/templates/podcasts/list-episode.html31
-rw-r--r--app/podcasts/urls.py4
-rw-r--r--app/podcasts/views.py18
3 files changed, 49 insertions, 4 deletions
diff --git a/app/podcasts/templates/podcasts/list-episode.html b/app/podcasts/templates/podcasts/list-episode.html
new file mode 100644
index 0000000..89b7ea8
--- /dev/null
+++ b/app/podcasts/templates/podcasts/list-episode.html
@@ -0,0 +1,31 @@
+{% extends 'base.html' %}
+{% load typogrify_tags %}
+{% load pagination_tags %}
+{% load comments %}
+
+{% block pagetitle %}The Lulu and Birdie Podcast{% endblock %}
+{% block metadescription %}The Adventures of Lulu, Birdie, and Henry in podcast form - by Scott Gilbertson.{% endblock %}
+{% block breadcrumbs %}{% include "lib/breadcrumbs.html" with breadcrumbs=breadcrumbs %}{% endblock %}
+{% block primary %}<main role="main" class="archive-wrapper">
+ <div class="archive-intro">
+ <h1 class="archive-hed">{{podcast.title}}</h1>
+ {% if object.subtitle %}<h2 class="list-subhed">{{podcast.subtitle}}</h2>{% endif %}
+ </div>
+
+ <h1 class="archive-sans">Episodes</h1>{% autopaginate object_list 24 %}
+ <ul class="archive-list">{% for object in object_list %}
+ <li class="h-entry hentry archive-list-card archive-list-card-sm" itemscope itemType="http://schema.org/Article">
+ <span class="date dt-published card-smcaps">{{object.pub_date|date:"F Y"}}</span>
+ <a href="{{object.get_absolute_url}}">
+ <h2 class="card-hed">{{object.title|safe|smartypants|widont}}</h2>
+ <p class="p-summary card-lede">{% if object.subtitle %}{{object.subtitle}}{%else%}{{object.meta_description|safe|smartypants|widont}}{%endif%}</p>
+ </a>
+ </li>
+ {%endfor%}</ul>
+ <a href="{% url 'podcasts_show_feed_atom' podcast.slug 'mp3' %}" >MP3</a>
+ <a href="{% url 'podcasts_show_feed_atom' podcast.slug 'mp4' %}" >MP4</a>
+ <a href="{% url 'podcasts_show_feed_rss' podcast.slug 'mp3' %}" >OGG</a>
+
+
+ </main>
+{%endblock%}
diff --git a/app/podcasts/urls.py b/app/podcasts/urls.py
index f4e39ea..792388b 100644
--- a/app/podcasts/urls.py
+++ b/app/podcasts/urls.py
@@ -7,12 +7,12 @@ app_name = "podcasts"
urlpatterns = [
re_path(
r'<str:slug>/<int:page>',
- views.PodcastListView.as_view(),
+ views.EpisodeListView.as_view(),
name="list"
),
path(
r'<str:slug>/',
- views.PodcastListView.as_view(),
+ views.EpisodeListView.as_view(),
{'page':1},
name="list"
),
diff --git a/app/podcasts/views.py b/app/podcasts/views.py
index 38d761e..9f955b5 100644
--- a/app/podcasts/views.py
+++ b/app/podcasts/views.py
@@ -24,9 +24,10 @@ class PodcastListView(PaginatedListView):
def get_context_data(self, **kwargs):
context = super(PodcastListView, self).get_context_data(**kwargs)
context['breadcrumbs'] = ['podcast',]
- context['podcast'] = Podcast.objects.get(title="The Lulu & Birdie Podcast")
+ context['podcast'] = Podcast.objects.get(slug=self.kwargs['slug'])
return context
+
class PodcastDetailView(LuxDetailView):
"""
Return a single episodes
@@ -37,6 +38,19 @@ class PodcastDetailView(LuxDetailView):
def get_context_data(self, **kwargs):
context = super(PodcastListView, self).get_context_data(**kwargs)
context['breadcrumbs'] = ['podcast',]
- context['podcast'] = Podcast.objects.get(title="The Lulu & Birdie Podcast")
+ context['podcast'] = Podcast.objects.get(slug=self.kwargs['slug'])
return context
+
+class EpisodeListView(PaginatedListView):
+ """
+ Return a list of Episodes in reverse chronological order
+ """
+ model = Episode
+ template_name = "podcasts/list-episode.html"
+
+ def get_context_data(self, **kwargs):
+ context = super(EpisodeListView, self).get_context_data(**kwargs)
+ context['breadcrumbs'] = ['podcast',]
+ context['podcast'] = Podcast.objects.get(slug=self.kwargs['slug'])
+ return context