- commit
- b105211b44df46601c11bb90f9608c77d4475dc0
- parent
- a3a05de9027d32d875a6e874433a5a106f44fdbb
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2025-02-12 03:16
use release_dates if available
Diffstat
M | dropin.py | 27 | +++++++++++++++++---------- |
M | templates/feed.xml | 2 | +- |
M | templates/series.html | 2 | +- |
M | templates/video.html | 2 | +- |
4 files changed, 20 insertions, 13 deletions
diff --git a/dropin.py b/dropin.py
@@ -35,10 +35,20 @@ env = jinja2.Environment( 35 35 lstrip_blocks=True, 36 36 ) 37 37 env.globals['FORMATS'] = FORMATS -1 38 env.filters['feed_date'] = format_datetime 38 39 39 4040 -1 def relative_datetime(value):41 -1 dt = datetime.datetime.fromisoformat(value)-1 41 def release_date(data): -1 42 if data.get('release_dates'): -1 43 s = data['release_dates'][0]['date'] -1 44 s += 'T00:00:00Z' -1 45 else: -1 46 s = data['created_at'] -1 47 return datetime.datetime.fromisoformat(s) -1 48 env.filters['release'] = release_date -1 49 -1 50 -1 51 def relative_datetime(dt): 42 52 delta = datetime.datetime.now(tz=datetime.UTC) - dt 43 53 if delta.days > 365: 44 54 return f'{delta.days // 365} years ago' @@ -46,17 +56,14 @@ def relative_datetime(value): 46 56 return f'{delta.days * 12 // 365} months ago' 47 57 elif delta.days > 14: 48 58 return f'{delta.days // 7} weeks ago'49 -1 elif delta.days > 0:50 -1 return f'{delta.days} days ago'51 59 else:52 -1 return f'{delta.seconds // 3600} hours ago'53 -1 env.filters['dt'] = relative_datetime-1 60 return f'{delta.days} days ago' -1 61 env.filters['reldate'] = relative_datetime 54 62 55 6356 -1 def feed_date(value):57 -1 dt = datetime.datetime.fromisoformat(value)58 -1 return format_datetime(dt)59 -1 env.filters['feed_date'] = feed_date-1 64 def isodate(dt): -1 65 return dt.date().isoformat() -1 66 env.filters['isodate'] = isodate 60 67 61 68 62 69 def duration(value):
diff --git a/templates/feed.xml b/templates/feed.xml
@@ -15,7 +15,7 @@ 15 15 <title>{% if col.type == 'series' %}{{ item.metadata.season_name }}: {% endif %}{{ item.title }}</title> 16 16 <link>{{ item._links.video_page.href }}</link> 17 17 <guid>{{ item._links.video_page.href }}</guid>18 -1 <pubDate>{{ item.created_at|feed_date }}</pubDate>-1 18 <pubDate>{{ item|release|feed_date }}</pubDate> 19 19 {%+ if description %}<description>{{ item.description }}</description>{% endif %} 20 20 <itunes:duration>{{ item.duration.seconds }}</itunes:duration> 21 21 <itunes:image href="{{ item.additional_images.aspect_ratio_1_1.medium }}" />
diff --git a/templates/series.html b/templates/series.html
@@ -3,7 +3,7 @@ 3 3 {% block list %} 4 4 {% for season in seasons|reverse %} 5 5 <h2 id="season-{{ season.season_number }}">{{ season.title }}</h2>6 -1 <time title="{{ season.created_at }}">{{ season.created_at|dt }}</time>-1 6 <time title="{{ season|release|isodate }}">{{ season|release|reldate }}</time> 7 7 {%+ if season.description %}<div class="description">{{ season.description|linebreaks }}</div>{% endif %} 8 8 {% with items = season.episodes %} 9 9 {% include '_list.html' %}
diff --git a/templates/video.html b/templates/video.html
@@ -26,7 +26,7 @@ 26 26 · 27 27 {% endif %} 28 28 {{ video.duration|duration }} ·29 -1 <time title="{{ video.created_at }}">{{ video.created_at|dt }}</time>-1 29 <time title="{{ video|release|isodate }}">{{ video|release|reldate }}</time> 30 30 {% if video._links.video_page %}· <a class="hidden-link" href="{{ video._links.video_page.href }}" referrerpolicy="no-referrer">Watch on dropout.tv</a>{% endif %} 31 31 </div> 32 32 {%+ if video.description %}<div class="description">{{ video.description|linebreaks }}</div>{% endif %}