From e57746dc82950f71a72e52a070793539eda94812 Mon Sep 17 00:00:00 2001 From: Contextualist Date: Wed, 27 Jul 2022 00:35:54 -0400 Subject: [PATCH] Clean up episodes before generating XML feed --- pkg/feed/xml.go | 2 +- services/update/updater.go | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/feed/xml.go b/pkg/feed/xml.go index 5de7fe1..c20cc92 100644 --- a/pkg/feed/xml.go +++ b/pkg/feed/xml.go @@ -110,7 +110,7 @@ func Build(_ctx context.Context, feed *model.Feed, cfg *Config, hostname string) for i, episode := range feed.Episodes { if episode.Status != model.EpisodeDownloaded { - // Skip episodes that are not yet downloaded + // Skip episodes that are not yet downloaded or have been removed continue } diff --git a/services/update/updater.go b/services/update/updater.go index a26e360..727b988 100644 --- a/services/update/updater.go +++ b/services/update/updater.go @@ -71,6 +71,10 @@ func (u *Manager) Update(ctx context.Context, feedConfig *feed.Config) error { return errors.Wrap(err, "download failed") } + if err := u.cleanup(ctx, feedConfig); err != nil { + log.WithError(err).Error("cleanup failed") + } + if err := u.buildXML(ctx, feedConfig); err != nil { return errors.Wrap(err, "xml build failed") } @@ -79,10 +83,6 @@ func (u *Manager) Update(ctx context.Context, feedConfig *feed.Config) error { return errors.Wrap(err, "opml build failed") } - if err := u.cleanup(ctx, feedConfig); err != nil { - log.WithError(err).Error("cleanup failed") - } - elapsed := time.Since(started) log.Infof("successfully updated feed in %s", elapsed) return nil