mirror of
https://github.com/simon-ding/polaris.git
synced 2026-04-22 03:37:30 +08:00
feat: ascii name should match words
This commit is contained in:
@@ -2,6 +2,7 @@ package metadata
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"polaris/pkg/utils"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -21,6 +22,11 @@ func (m *MovieMetadata) IsAcceptable(names... string) bool {
|
||||
name2 := re.ReplaceAllString(strings.ToLower(m.Name), " ")
|
||||
name = strings.Join(strings.Fields(name), " ")
|
||||
name2 = strings.Join(strings.Fields(name2), " ")
|
||||
if utils.IsASCII(name) { //ascii name should match words
|
||||
re := regexp.MustCompile(`\b` + name + `\b`)
|
||||
return re.MatchString(name2)
|
||||
}
|
||||
|
||||
if strings.Contains(name2, name) {
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -27,6 +27,11 @@ func (m *Metadata) IsAcceptable(names... string) bool {
|
||||
name = strings.Join(strings.Fields(name), " ")
|
||||
nameCN = strings.Join(strings.Fields(nameCN), " ")
|
||||
nameEN = strings.Join(strings.Fields(nameEN), " ")
|
||||
if utils.IsASCII(name) { //ascii name should match words
|
||||
re := regexp.MustCompile(`\b` + name + `\b`)
|
||||
return re.MatchString(nameCN) || re.MatchString(nameEN)
|
||||
}
|
||||
|
||||
if strings.Contains(nameCN, name) || strings.Contains(nameEN, name) {
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -145,3 +145,16 @@ func Test_ParseTV14(t *testing.T) {
|
||||
assert.Equal(t, false, m.IsSeasonPack)
|
||||
//assert.Equal(t, "720p", m.Resolution)
|
||||
}
|
||||
//
|
||||
|
||||
func Test_ParseTV15(t *testing.T) {
|
||||
s1 := "[7³ACG] 剧场版 回转企鹅罐 [前篇] 你的列车是生存战略/RE:cycle of the PENGUINDRUM Zenpen [简繁字幕] BDrip 1080p x265 FLAC"
|
||||
m := ParseTv(s1)
|
||||
log.Infof("results: %+v", m)
|
||||
b := m.IsAcceptable("The Penguin")
|
||||
assert.False(t, b)
|
||||
//assert.Equal(t, 1, m.Season)
|
||||
//assert.Equal(t, 113, m.Episode)
|
||||
//assert.Equal(t, false, m.IsSeasonPack)
|
||||
//assert.Equal(t, "720p", m.Resolution)
|
||||
}
|
||||
Reference in New Issue
Block a user