From e2c1e24b0354dbf85ec984040351bcb5c5bcd4f3 Mon Sep 17 00:00:00 2001 From: Jake Walker Date: Tue, 28 Jan 2025 22:24:35 +0000 Subject: [PATCH] feat: episode publish date editing --- src/main.py | 9 ++++++++- src/templates/admin_episode_edit.html.j2 | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main.py b/src/main.py index fab5122..c09af1d 100644 --- a/src/main.py +++ b/src/main.py @@ -1,7 +1,7 @@ import urllib.parse import uuid from contextlib import asynccontextmanager -from datetime import timedelta, timezone +from datetime import datetime, timedelta, timezone from pathlib import Path from typing import Annotated, Any, Generator, Optional @@ -345,6 +345,7 @@ def admin_edit_episode_post( user: AuthDep, name: Annotated[str, Form()], description: Annotated[str, Form()], + publish_date: Annotated[str, Form()], ): episode = session.exec( select(models.PodcastEpisode).where( @@ -378,6 +379,12 @@ def admin_edit_episode_post( else: episode.description = None + if publish_date.strip() != "": + publish_dt = datetime.strptime(publish_date, "%Y-%m-%dT%H:%M") + # only update the date if it's changed by 2 mins or more as the input doesn't allow for seconds + if (episode.publish_date - publish_dt).seconds > 120: + episode.publish_date = publish_dt + session.add(episode) session.commit() diff --git a/src/templates/admin_episode_edit.html.j2 b/src/templates/admin_episode_edit.html.j2 index a6d93da..940f173 100644 --- a/src/templates/admin_episode_edit.html.j2 +++ b/src/templates/admin_episode_edit.html.j2 @@ -8,6 +8,11 @@ Name +