From 800fa429829f6abd06968dc549ec94f62e9861d0 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sat, 5 Dec 2015 23:03:41 -0800 Subject: [PATCH] Selectable range for iCal New: Support for pastDays and fututeDays query parameters on iCal requests Closes #974 --- .../Calendar/CalendarFeedModule.cs | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Api/Calendar/CalendarFeedModule.cs b/src/NzbDrone.Api/Calendar/CalendarFeedModule.cs index 90450e610..27301780f 100644 --- a/src/NzbDrone.Api/Calendar/CalendarFeedModule.cs +++ b/src/NzbDrone.Api/Calendar/CalendarFeedModule.cs @@ -22,15 +22,32 @@ namespace NzbDrone.Api.Calendar private Response GetCalendarFeed() { - var start = DateTime.Today.AddDays(-7); - var end = DateTime.Today.AddDays(28); + var pastDays = 7; + var futureDays = 28; + var start = DateTime.Today.AddDays(-pastDays); + var end = DateTime.Today.AddDays(futureDays); + // TODO: Remove start/end parameters in v3, they don't work well for iCal var queryStart = Request.Query.Start; var queryEnd = Request.Query.End; + var queryPastDays = Request.Query.PastDays; + var queryFutureDays = Request.Query.FutureDays; if (queryStart.HasValue) start = DateTime.Parse(queryStart.Value); if (queryEnd.HasValue) end = DateTime.Parse(queryEnd.Value); + if (queryPastDays.HasValue) + { + pastDays = int.Parse(queryPastDays.Value); + start = DateTime.Today.AddDays(-pastDays); + } + + if (queryFutureDays.HasValue) + { + futureDays = int.Parse(queryFutureDays.Value); + end = DateTime.Today.AddDays(futureDays); + } + var episodes = _episodeService.EpisodesBetweenDates(start, end, false); var icalCalendar = new iCalendar();