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