diff --git a/server/core/scheduler.go b/server/core/scheduler.go index 214ce36..c63e09a 100644 --- a/server/core/scheduler.go +++ b/server/core/scheduler.go @@ -206,7 +206,7 @@ type Task struct { pkg.Torrent } -func (c *Client) DownloadSeriesAllEpisodes(id int) ([]string, error) { +func (c *Client) DownloadSeriesAllEpisodes(id int) []string { tvDetail := c.db.GetMediaDetails(id) m := make(map[int][]*ent.Episode) for _, ep := range tvDetail.Episodes { @@ -214,6 +214,9 @@ func (c *Client) DownloadSeriesAllEpisodes(id int) ([]string, error) { } var allNames []string for seasonNum, epsides := range m { + if seasonNum == 0 { + continue + } wantedSeasonPack := true for _, ep := range epsides { if !ep.Monitored { @@ -225,14 +228,16 @@ func (c *Client) DownloadSeriesAllEpisodes(id int) ([]string, error) { } if wantedSeasonPack { name, err := c.SearchAndDownload(id, seasonNum, -1) - if err != nil { - return nil, errors.Wrap(err, "find resource") - } else { + if err == nil { allNames = append(allNames, *name) log.Infof("begin download torrent resource: %v", name) + } else { + log.Warnf("finding season pack error: %v", err) + wantedSeasonPack = false } - } else { + } + if !wantedSeasonPack { for _, ep := range epsides { if !ep.Monitored { continue @@ -242,7 +247,8 @@ func (c *Client) DownloadSeriesAllEpisodes(id int) ([]string, error) { } name, err := c.SearchAndDownload(id, ep.SeasonNumber, ep.EpisodeNumber) if err != nil { - return nil, errors.Wrap(err, "find resource to download") + log.Warnf("finding resoruces of season %d episode %d error: %v", ep.SeasonNumber, ep.EpisodeNumber, err) + continue } else { allNames = append(allNames, *name) log.Infof("begin download torrent resource: %v", name) @@ -252,16 +258,14 @@ func (c *Client) DownloadSeriesAllEpisodes(id int) ([]string, error) { } } - return allNames, nil + return allNames } func (c *Client) downloadAllTvSeries() { log.Infof("begin check all tv series resources") allSeries := c.db.GetMediaWatchlist(media.MediaTypeTv) for _, series := range allSeries { - if _, err := c.DownloadSeriesAllEpisodes(series.ID); err != nil { - return - } + c.DownloadSeriesAllEpisodes(series.ID) } } diff --git a/server/resources.go b/server/resources.go index c33dbc3..da51329 100644 --- a/server/resources.go +++ b/server/resources.go @@ -180,7 +180,7 @@ func (s *Server) DownloadAll(c *gin.Context) (interface{}, error) { return nil, errors.Wrap(err, "get media") } if m.MediaType == media.MediaTypeTv { - return s.core.DownloadSeriesAllEpisodes(m.ID) + return s.core.DownloadSeriesAllEpisodes(m.ID), nil } name, err := s.core.DownloadMovieByID(m.ID) diff --git a/ui/lib/main.dart b/ui/lib/main.dart index 34addce..9ea75fa 100644 --- a/ui/lib/main.dart +++ b/ui/lib/main.dart @@ -190,6 +190,7 @@ class _MainSkeletonState extends State { onPressed: () => context.go(WelcomePage.routeTv), child: Text( "Polaris", + overflow: TextOverflow.clip, style: TextStyle(fontSize: 28), ), ),