mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 00:39:13 +00:00
refactor(filters): checkMaxDownloads (#1285)
* refactor * fix: comment --------- Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
This commit is contained in:
parent
c6122dbc41
commit
d898b3cd8d
1 changed files with 11 additions and 22 deletions
|
@ -261,8 +261,8 @@ func (f *Filter) Validate() error {
|
|||
}
|
||||
|
||||
func (f *Filter) CheckFilter(r *Release) ([]string, bool) {
|
||||
// max downloads check. If reached return early
|
||||
if f.MaxDownloads > 0 && !f.checkMaxDownloads(f.MaxDownloads, f.MaxDownloadsUnit) {
|
||||
// max downloads check. If reached return early so other filters can be checked as quick as possible.
|
||||
if f.MaxDownloads > 0 && !f.checkMaxDownloads() {
|
||||
f.addRejectionF("max downloads (%d) this (%v) reached", f.MaxDownloads, f.MaxDownloadsUnit)
|
||||
return f.Rejections, false
|
||||
}
|
||||
|
@ -514,37 +514,26 @@ func (f *Filter) CheckFilter(r *Release) ([]string, bool) {
|
|||
return nil, true
|
||||
}
|
||||
|
||||
func (f *Filter) checkMaxDownloads(max int, perTimeUnit FilterMaxDownloadsUnit) bool {
|
||||
func (f Filter) checkMaxDownloads() bool {
|
||||
if f.Downloads == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
switch perTimeUnit {
|
||||
var count int
|
||||
switch f.MaxDownloadsUnit {
|
||||
case FilterMaxDownloadsHour:
|
||||
if f.Downloads.HourCount > 0 && f.Downloads.HourCount >= max {
|
||||
return false
|
||||
}
|
||||
count = f.Downloads.HourCount
|
||||
case FilterMaxDownloadsDay:
|
||||
if f.Downloads.DayCount > 0 && f.Downloads.DayCount >= max {
|
||||
return false
|
||||
}
|
||||
count = f.Downloads.DayCount
|
||||
case FilterMaxDownloadsWeek:
|
||||
if f.Downloads.WeekCount > 0 && f.Downloads.WeekCount >= max {
|
||||
return false
|
||||
}
|
||||
count = f.Downloads.WeekCount
|
||||
case FilterMaxDownloadsMonth:
|
||||
if f.Downloads.MonthCount > 0 && f.Downloads.MonthCount >= max {
|
||||
return false
|
||||
}
|
||||
count = f.Downloads.MonthCount
|
||||
case FilterMaxDownloadsEver:
|
||||
if f.Downloads.TotalCount > 0 && f.Downloads.TotalCount >= max {
|
||||
return false
|
||||
}
|
||||
default:
|
||||
return true
|
||||
count = f.Downloads.TotalCount
|
||||
}
|
||||
|
||||
return true
|
||||
return count < f.MaxDownloads
|
||||
}
|
||||
|
||||
// isPerfectFLAC Perfect is "CD FLAC Cue Log 100% Lossless or 24bit Lossless"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue