Files
nabarr/cmd/nabarr/pvr/pvr.go
l3uddz a2848439b9 pvr: add options and support for anime (#17)
* pvr: begin adding options

* pvr: add ability to configure add behaviour via config

* pvr: add skip_anime

* pvr: do not continue processing item if lookup failed or add to pvr failed
2021-02-20 20:01:04 +00:00

34 lines
760 B
Go

package pvr
import (
"errors"
"github.com/l3uddz/nabarr"
"github.com/l3uddz/nabarr/cache"
"github.com/l3uddz/nabarr/media"
"github.com/l3uddz/nabarr/radarr"
"github.com/l3uddz/nabarr/sonarr"
"github.com/lefelys/state"
"strings"
)
type PVR interface {
Type() string
GetFiltersHash() string
AddMediaItem(*media.Item, ...nabarr.PvrOption) error
ShouldIgnore(*media.Item) (bool, string, error)
Start() state.State
QueueFeedItem(*media.FeedItem)
}
func NewPVR(c nabarr.PvrConfig, mode string, m *media.Client, cc *cache.Client) (PVR, error) {
// return pvr object
switch strings.ToLower(c.Type) {
case "sonarr":
return sonarr.New(c, mode, m, cc)
case "radarr":
return radarr.New(c, mode, m, cc)
}
return nil, errors.New("unknown pvr")
}