46 lines
1.9 KiB
Go
46 lines
1.9 KiB
Go
package config
|
|
|
|
import "github.com/debridmediamanager/zurg/pkg/logutil"
|
|
|
|
type ZurgConfigV1 struct {
|
|
ZurgConfig `yaml:",inline"`
|
|
Directories map[string]*DirectoryV1 `yaml:"directories"`
|
|
log *logutil.Logger
|
|
}
|
|
|
|
type DirectoryV1 struct {
|
|
GroupOrder int `yaml:"group_order"`
|
|
Group string `yaml:"group"`
|
|
Filters []*FilterConditionsV1 `yaml:"filters"`
|
|
OnlyShowTheBiggestFile bool `yaml:"only_show_the_biggest_file"`
|
|
OnlyShowFilesWithSizeLte int64 `yaml:"only_show_files_with_size_lte"`
|
|
OnlyShowFilesWithSizeGte int64 `yaml:"only_show_files_with_size_gte"`
|
|
}
|
|
|
|
type FilterConditionsV1 struct {
|
|
ID string `yaml:"id"`
|
|
RegexStr string `yaml:"regex"`
|
|
Contains string `yaml:"contains"`
|
|
ContainsStrict string `yaml:"contains_strict"`
|
|
NotRegexStr string `yaml:"not_regex"`
|
|
NotContains string `yaml:"not_contains"`
|
|
NotContainsStrict string `yaml:"not_contains_strict"`
|
|
SizeGreaterThanOrEqual int64 `yaml:"size_gte"`
|
|
SizeLessThanOrEqual int64 `yaml:"size_lte"`
|
|
|
|
And []*FilterConditionsV1 `yaml:"and"`
|
|
Or []*FilterConditionsV1 `yaml:"or"`
|
|
|
|
FileInsideRegexStr string `yaml:"any_file_inside_regex"`
|
|
FileInsideContains string `yaml:"any_file_inside_contains"`
|
|
FileInsideContainsStrict string `yaml:"any_file_inside_contains_strict"`
|
|
FileInsideNotRegexStr string `yaml:"any_file_inside_not_regex"`
|
|
FileInsideNotContains string `yaml:"any_file_inside_not_contains"`
|
|
FileInsideNotContainsStrict string `yaml:"any_file_inside_not_contains_strict"`
|
|
FileInsideSizeGreaterThanOrEqual int64 `yaml:"any_file_inside_size_gte"`
|
|
FileInsideSizeLessThanOrEqual int64 `yaml:"any_file_inside_size_lte"`
|
|
|
|
HasEpisodes bool `yaml:"has_episodes"`
|
|
IsMusic bool `yaml:"is_music"`
|
|
}
|