Merge branch 'main' of github.com:simon-ding/polaris

This commit is contained in:
Simon Ding
2025-04-22 15:40:08 +08:00
10 changed files with 50 additions and 47 deletions

View File

@@ -260,7 +260,10 @@ func (c *Engine) findEpisodeFilesPreMoving(historyId int) error {
return err
}
for _, id := range episodeIds {
ep, _ := c.db.GetEpisode(his.MediaID, his.SeasonNum, id)
ep, err := c.db.GetEpisode(his.MediaID, his.SeasonNum, id)
if err != nil {
continue
}
task.WalkFunc()(func(path string, info fs.FileInfo) error {
if info.IsDir() {
return nil

View File

@@ -165,17 +165,20 @@ func (c *Engine) downloadTorrent(m *ent.Media, r1 torznab.Result, seasonNum int,
c.db.SetSeasonAllEpisodeStatus(m.ID, seasonNum, episode.StatusDownloading)
}
} else {
} else {//movie download
ep, _ := c.db.GetMovieDummyEpisode(m.ID)
if ep.Status == episode.StatusMissing {
c.db.SetEpisodeStatus(ep.ID, episode.StatusDownloading)
}
}
hash, err := utils.Link2Hash(r1.Link)
link, hash, err := utils.GetRealLinkAndHash(r1.Link)
if err != nil {
return nil, errors.Wrap(err, "get hash")
}
r1.Link = link
history, err := c.db.SaveHistoryRecord(ent.History{
MediaID: m.ID,
EpisodeNums: episodeNums,

View File

@@ -204,35 +204,37 @@ func getSeasonNum(h *ent.History) int {
}
func (c *Engine) GetEpisodeIds(r *ent.History) []int {
var episodeIds []int
seasonNum := getSeasonNum(r)
// if r.EpisodeID > 0 {
// episodeIds = append(episodeIds, r.EpisodeID)
// }
series, err := c.db.GetMediaDetails(r.MediaID)
if err != nil {
log.Errorf("get media details error: %v", err)
return []int{}
}
if series.MediaType == media.MediaTypeMovie { //movie
ep, _ := c.db.GetMovieDummyEpisode(series.ID)
return []int{ep.ID}
} else { //tv
var episodeIds []int
seasonNum := getSeasonNum(r)
if len(r.EpisodeNums) > 0 {
for _, epNum := range r.EpisodeNums {
if len(r.EpisodeNums) > 0 {
for _, epNum := range r.EpisodeNums {
for _, ep := range series.Episodes {
if ep.SeasonNumber == seasonNum && ep.EpisodeNumber == epNum {
episodeIds = append(episodeIds, ep.ID)
}
}
}
} else {
for _, ep := range series.Episodes {
if ep.SeasonNumber == seasonNum && ep.EpisodeNumber == epNum {
if ep.SeasonNumber == seasonNum {
episodeIds = append(episodeIds, ep.ID)
}
}
}
} else {
for _, ep := range series.Episodes {
if ep.SeasonNumber == seasonNum {
episodeIds = append(episodeIds, ep.ID)
}
}
}
return episodeIds
}
return episodeIds
}
func (c *Engine) moveCompletedTask(id int) (err1 error) {