From 5836fcee63f42af2e6081069fa233dc0d819b3a8 Mon Sep 17 00:00:00 2001 From: Kyle Sanderson Date: Sun, 19 Mar 2023 13:26:18 -0700 Subject: [PATCH] fix(feeds): implement max_age for torznab/newznab (#763) * fix(nab): Implement max_age for torznab/newznab * continue newznab * continue torznab --- internal/feed/newznab.go | 10 +++++++++- internal/feed/torznab.go | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/internal/feed/newznab.go b/internal/feed/newznab.go index 5aa9b62..b47aa84 100644 --- a/internal/feed/newznab.go +++ b/internal/feed/newznab.go @@ -75,8 +75,16 @@ func (j *NewznabJob) process(ctx context.Context) error { } releases := make([]*domain.Release, 0) - + now := time.Now() for _, item := range items { + if j.Feed.MaxAge > 0 { + if item.PubDate.After(time.Date(1970, time.April, 1, 0, 0, 0, 0, time.UTC)) { + if !isNewerThanMaxAge(j.Feed.MaxAge, item.PubDate.Time, now) { + continue + } + } + } + rls := domain.NewRelease(j.IndexerIdentifier) rls.TorrentName = item.Title diff --git a/internal/feed/torznab.go b/internal/feed/torznab.go index 99f3328..88125d2 100644 --- a/internal/feed/torznab.go +++ b/internal/feed/torznab.go @@ -76,8 +76,16 @@ func (j *TorznabJob) process(ctx context.Context) error { } releases := make([]*domain.Release, 0) - + now := time.Now() for _, item := range items { + if j.Feed.MaxAge > 0 { + if item.PubDate.After(time.Date(1970, time.April, 1, 0, 0, 0, 0, time.UTC)) { + if !isNewerThanMaxAge(j.Feed.MaxAge, item.PubDate.Time, now) { + continue + } + } + } + rls := domain.NewRelease(j.IndexerIdentifier) rls.TorrentName = item.Title