feat: filter resources that is qiangban

This commit is contained in:
Simon Ding
2024-08-11 19:18:27 +08:00
parent 0057a75a95
commit 6c26812b92
8 changed files with 93 additions and 21 deletions

View File

@@ -11,6 +11,7 @@ type MovieMetadata struct {
Name string
Year int
Resolution string
IsQingban bool
}
func ParseMovie(name string) *MovieMetadata {
@@ -50,5 +51,22 @@ func ParseMovie(name string) *MovieMetadata {
if len(resMatches) > 0 {
meta.Resolution = resMatches[0]
}
meta.IsQingban = isQiangban(name)
return meta
}
// https://en.wikipedia.org/wiki/Pirated_movie_release_types
func isQiangban(name string) bool {
qiangbanFilter := []string{"CAM-Rip", "CAM", "HDCAM", "TS", "HDTS", "TELESYNC", "PDVD", "PreDVDRip", "TC", "HDTC", "TELECINE", "WP", "WORKPRINT"}
re := regexp.MustCompile(`\W`)
name = re.ReplaceAllString(strings.ToLower(name), " ")
fields := strings.Fields(name)
for _, q := range qiangbanFilter {
for _, f := range fields {
if strings.ToLower(q) == strings.ToLower(f) {
return true
}
}
}
return false
}