fix(filters): trim user input (#1784)

This commit is contained in:
ze0s 2024-10-23 17:42:48 +02:00 committed by GitHub
parent a003f68f92
commit 63b8519bd9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -879,7 +879,9 @@ func containsMatchFuzzy(tags []string, filters []string) bool {
continue continue
} }
filter = strings.TrimSpace(filter)
filter = strings.ToLower(filter) filter = strings.ToLower(filter)
// check if line contains * or ?, if so try wildcard match, otherwise try substring match // check if line contains * or ?, if so try wildcard match, otherwise try substring match
a := strings.ContainsAny(filter, "?|*") a := strings.ContainsAny(filter, "?|*")
if a { if a {
@ -911,7 +913,9 @@ func containsMatch(tags []string, filters []string) bool {
continue continue
} }
filter = strings.TrimSpace(filter)
filter = strings.ToLower(filter) filter = strings.ToLower(filter)
// check if line contains * or ?, if so try wildcard match, otherwise try substring match // check if line contains * or ?, if so try wildcard match, otherwise try substring match
a := strings.ContainsAny(filter, "?|*") a := strings.ContainsAny(filter, "?|*")
if a { if a {
@ -934,7 +938,10 @@ func containsAllMatch(tags []string, filters []string) bool {
if filter == "" { if filter == "" {
continue continue
} }
filter = strings.TrimSpace(filter)
filter = strings.ToLower(filter) filter = strings.ToLower(filter)
found := false found := false
wildFilter := strings.ContainsAny(filter, "?|*") wildFilter := strings.ContainsAny(filter, "?|*")
@ -943,6 +950,7 @@ func containsAllMatch(tags []string, filters []string) bool {
if tag == "" { if tag == "" {
continue continue
} }
tag = strings.ToLower(tag) tag = strings.ToLower(tag)
if tag == filter { if tag == filter {
@ -955,6 +963,7 @@ func containsAllMatch(tags []string, filters []string) bool {
} }
} }
} }
if !found { if !found {
return false return false
} }
@ -974,6 +983,8 @@ func containsMatchBasic(tags []string, filters []string) bool {
if filter == "" { if filter == "" {
continue continue
} }
filter = strings.TrimSpace(filter)
filter = strings.ToLower(filter) filter = strings.ToLower(filter)
if tag == filter { if tag == filter {
@ -999,7 +1010,9 @@ func containsAnySlice(tags []string, filters []string) bool {
continue continue
} }
filter = strings.TrimSpace(filter)
filter = strings.ToLower(filter) filter = strings.ToLower(filter)
// check if line contains * or ?, if so try wildcard match, otherwise try substring match // check if line contains * or ?, if so try wildcard match, otherwise try substring match
a := strings.ContainsAny(filter, "?|*") a := strings.ContainsAny(filter, "?|*")
if a { if a {
@ -1065,11 +1078,12 @@ func checkFreeleechPercent(announcePercent int, filterPercent string) bool {
} }
func matchHDR(releaseValues []string, filterValues []string) bool { func matchHDR(releaseValues []string, filterValues []string) bool {
for _, filter := range filterValues { for _, filter := range filterValues {
if filter == "" { if filter == "" {
continue continue
} }
filter = strings.TrimSpace(filter)
filter = strings.ToLower(filter) filter = strings.ToLower(filter)
parts := strings.Split(filter, " ") parts := strings.Split(filter, " ")