mirror of
https://github.com/simon-ding/polaris.git
synced 2026-05-28 21:47:56 +08:00
feat: do not download episode aired more than 24h
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
|||||||
"polaris/pkg/storage"
|
"polaris/pkg/storage"
|
||||||
"polaris/pkg/utils"
|
"polaris/pkg/utils"
|
||||||
"polaris/server/core"
|
"polaris/server/core"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
@@ -225,14 +226,6 @@ func (s *Server) downloadTvSeries() {
|
|||||||
if lastEpisode.Title != detail.LastEpisodeToAir.Name {
|
if lastEpisode.Title != detail.LastEpisodeToAir.Name {
|
||||||
s.db.UpdateEpiode(lastEpisode.ID, detail.LastEpisodeToAir.Name, detail.LastEpisodeToAir.Overview)
|
s.db.UpdateEpiode(lastEpisode.ID, detail.LastEpisodeToAir.Name, detail.LastEpisodeToAir.Overview)
|
||||||
}
|
}
|
||||||
if lastEpisode.Status == episode.StatusMissing {
|
|
||||||
name, err := s.searchAndDownload(series.ID, lastEpisode.SeasonNumber, lastEpisode.EpisodeNumber)
|
|
||||||
if err != nil {
|
|
||||||
log.Infof("cannot find resource to download for %s: %v", lastEpisode.Title, err)
|
|
||||||
} else {
|
|
||||||
log.Infof("begin download torrent resource: %v", name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
nextEpisode, err := s.db.GetEpisode(series.ID, detail.NextEpisodeToAir.SeasonNumber, detail.NextEpisodeToAir.EpisodeNumber)
|
nextEpisode, err := s.db.GetEpisode(series.ID, detail.NextEpisodeToAir.SeasonNumber, detail.NextEpisodeToAir.EpisodeNumber)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@@ -242,6 +235,28 @@ func (s *Server) downloadTvSeries() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if lastEpisode.Status == episode.StatusMissing {
|
||||||
|
if lastEpisode.AirDate != "" {
|
||||||
|
t, err := time.ParseInLocation("2006-01-02", lastEpisode.AirDate, time.Local)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("parse air date error: airdate %v, error %v",lastEpisode.AirDate, err)
|
||||||
|
} else {
|
||||||
|
if series.CreatedAt.Sub(t) > 24*time.Hour { //24h容错时间
|
||||||
|
log.Infof("episode were aired 24h before monitoring, skipping: %v", lastEpisode.Title)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
name, err := s.searchAndDownload(series.ID, lastEpisode.SeasonNumber, lastEpisode.EpisodeNumber)
|
||||||
|
if err != nil {
|
||||||
|
log.Infof("cannot find resource to download for %s: %v", lastEpisode.Title, err)
|
||||||
|
} else {
|
||||||
|
log.Infof("begin download torrent resource: %v", name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user