mirror of
https://github.com/simon-ding/polaris.git
synced 2026-03-15 22:20:52 +08:00
fix: movie year match
This commit is contained in:
@@ -8,8 +8,7 @@ import (
|
||||
)
|
||||
|
||||
type MovieMetadata struct {
|
||||
NameEn string
|
||||
NameCN string
|
||||
Name string
|
||||
Year int
|
||||
Resolution string
|
||||
}
|
||||
@@ -29,11 +28,22 @@ func ParseMovie(name string) *MovieMetadata {
|
||||
panic(fmt.Sprintf("convert %s error: %v", y, err))
|
||||
}
|
||||
meta.Year = n
|
||||
}
|
||||
if yearIndex != -1 {
|
||||
meta.NameEn = name[:yearIndex]
|
||||
} else {
|
||||
meta.NameEn = name
|
||||
yearRe := regexp.MustCompile(`\d{4}`)
|
||||
yearMatches := yearRe.FindAllString(name, -1)
|
||||
if len(yearMatches) > 0 {
|
||||
n, err := strconv.Atoi(yearMatches[0])
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("convert %s error: %v", yearMatches[0], err))
|
||||
}
|
||||
meta.Year = n
|
||||
}
|
||||
}
|
||||
|
||||
if yearIndex != -1 {
|
||||
meta.Name = name[:yearIndex]
|
||||
} else {
|
||||
meta.Name = name
|
||||
}
|
||||
resRe := regexp.MustCompile(`\d{3,4}p`)
|
||||
resMatches := resRe.FindAllString(name, -1)
|
||||
|
||||
@@ -50,7 +50,7 @@ func SearchTvSeries(db1 *db.Client, seriesId, seasonNum int, episodes []int, che
|
||||
if checkResolution && meta.Resolution != series.Resolution.String() {
|
||||
continue
|
||||
}
|
||||
if !utils.IsNameAcceptable(meta.NameEn, series.NameEn) && !utils.IsNameAcceptable(meta.NameCn, series.NameCn) &&
|
||||
if !utils.IsNameAcceptable(meta.NameEn, series.NameEn) && !utils.IsNameAcceptable(meta.NameCn, series.NameCn) &&
|
||||
!utils.IsNameAcceptable(meta.NameCn, series.OriginalName) {
|
||||
continue
|
||||
}
|
||||
@@ -104,8 +104,8 @@ func SearchMovie(db1 *db.Client, movieId int, checkResolution bool, checkFileSiz
|
||||
var filtered []torznab.Result
|
||||
for _, r := range res {
|
||||
meta := metadata.ParseMovie(r.Name)
|
||||
if !utils.IsNameAcceptable(meta.NameEn, movieDetail.NameEn) && !utils.IsNameAcceptable(meta.NameEn, movieDetail.NameCn) &&
|
||||
!utils.IsNameAcceptable(meta.NameEn, movieDetail.OriginalName) {
|
||||
if !utils.IsNameAcceptable(meta.Name, movieDetail.NameEn) && !utils.IsNameAcceptable(meta.Name, movieDetail.NameCn) &&
|
||||
!utils.IsNameAcceptable(meta.Name, movieDetail.OriginalName) {
|
||||
continue
|
||||
}
|
||||
if checkResolution && meta.Resolution != movieDetail.Resolution.String() {
|
||||
|
||||
Reference in New Issue
Block a user