Documentation
¶
Index ¶
- Constants
- Variables
- func DeLogf(msg string, v ...interface{})
- func ParseFlags()
- func Start() error
- func StartUp(d *deluge.Deluge, config Config)
- type Config
- type Duration
- type ExtractStatus
- type Extracts
- type RunningData
- func (r *RunningData) CheckExtractDone()
- func (r *RunningData) CheckRadarrQueue()
- func (r *RunningData) CheckSonarrQueue()
- func (r *RunningData) CreateStatus(name, path string, app string, files []string)
- func (r *RunningData) DeleteStatus(name string)
- func (r *RunningData) GetHistory() map[string]Extracts
- func (r *RunningData) GetStatus(name string) (e Extracts)
- func (r *RunningData) HandleCompleted(name, app string)
- func (r *RunningData) HandleExtractDone(app, name string, status ExtractStatus, files []string, elapsed time.Duration)
- func (r *RunningData) PollChange()
- func (r *RunningData) PollDeluge(d *deluge.Deluge) error
- func (r *RunningData) PollRadarr(s *starr.Config)
- func (r *RunningData) PollSonarr(s *starr.Config)
- func (r *RunningData) UpdateStatus(name string, status ExtractStatus, fileList []string)
Constants ¶
const ( MISSING = ExtractStatus(iota) QUEUED EXTRACTING EXTRACTFAILED EXTRACTFAILED2 EXTRACTED IMPORTED DELETING DELETEFAILED DELETED FORGOTTEN )
Extract Statuses.
Variables ¶
var ( // Version of the application. Version = "0.4.0" // Debug turns on the noise. Debug = false // ConfigFile is the file we get configuration from. ConfigFile = "" // StopChan is how we exit. Can be used in tests. StopChan = make(chan os.Signal, 1) )
Functions ¶
Types ¶
type Config ¶
type Config struct {
Interval Duration `json:"interval" toml:"interval" xml:"interval" yaml:"interval"`
Timeout Duration `json:"timeout" toml:"timeout" xml:"timeout" yaml:"timeout"`
DeleteDelay Duration `json:"delete_delay" toml:"delete_delay" xml:"delete_delay" yaml:"delete_delay"`
ConcurrentExtracts int `json:"concurrent_extracts" toml:"concurrent_extracts" xml:"concurrent_extracts" yaml:"concurrent_extracts"`
Deluge delugeConfig `json:"deluge" toml:"deluge" xml:"deluge" yaml:"deluge"`
Sonarr starrConfig `json:"sonarr" toml:"sonarr" xml:"sonarr" yaml:"sonarr"`
Radarr starrConfig `json:"radarr" toml:"radarr" xml:"wharadarrt" yaml:"radarr"`
Lidarr starrConfig `json:"lidarr" toml:"lidarr" xml:"lidarr" yaml:"lidarr"`
// contains filtered or unexported fields
}
Config defines the configuration data used to start the application.
func ValidateConfig ¶
ValidateConfig makes sure config values are ok.
type Duration ¶
Duration is used to UnmarshalTOML into a time.Duration value.
func (*Duration) UnmarshalJSON ¶
UnmarshalJSON parses a duration type from a config file.
func (*Duration) UnmarshalTOML ¶
UnmarshalTOML parses a duration type from a config file.
type ExtractStatus ¶
type ExtractStatus uint8
ExtractStatus is our enum for an extract's status.
func (ExtractStatus) String ¶
func (status ExtractStatus) String() string
String makes ExtractStatus human readable.
type Extracts ¶
type Extracts struct {
Path string
App string
Files []string
Status ExtractStatus
Updated time.Time
}
Extracts holds data for files being extracted.
type RunningData ¶
type RunningData struct {
DeleteDelay time.Duration
Deluge map[string]*deluge.XferStatus
SonarrQ []*starr.SonarQueue
RadarrQ []*starr.RadarQueue
History map[string]Extracts
// contains filtered or unexported fields
}
RunningData stores all the running data.
func (*RunningData) CheckExtractDone ¶
func (r *RunningData) CheckExtractDone()
CheckExtractDone checks if an extracted item has been imported.
func (*RunningData) CheckRadarrQueue ¶
func (r *RunningData) CheckRadarrQueue()
CheckRadarrQueue passes completed Radarr-queued downloads to the HandleCompleted method.
func (*RunningData) CheckSonarrQueue ¶
func (r *RunningData) CheckSonarrQueue()
CheckSonarrQueue passes completed Sonarr-queued downloads to the HandleCompleted method.
func (*RunningData) CreateStatus ¶
func (r *RunningData) CreateStatus(name, path string, app string, files []string)
CreateStatus for a newly-started extraction. It will also overwrite.
func (*RunningData) DeleteStatus ¶
func (r *RunningData) DeleteStatus(name string)
DeleteStatus deletes a deleted item from internal history.
func (*RunningData) GetHistory ¶
func (r *RunningData) GetHistory() map[string]Extracts
GetHistory returns a copy of the extracts map.
func (*RunningData) GetStatus ¶
func (r *RunningData) GetStatus(name string) (e Extracts)
GetStatus returns the status history for an extraction.
func (*RunningData) HandleCompleted ¶
func (r *RunningData) HandleCompleted(name, app string)
HandleCompleted checks if a completed sonarr or radarr item needs to be extracted.
func (*RunningData) HandleExtractDone ¶
func (r *RunningData) HandleExtractDone(app, name string, status ExtractStatus, files []string, elapsed time.Duration)
HandleExtractDone checks if files should be deleted.
func (*RunningData) PollChange ¶
func (r *RunningData) PollChange()
PollChange runs other tasks. Those tasks: a) look for things to extract, b) look for things to delete.
func (*RunningData) PollDeluge ¶
func (r *RunningData) PollDeluge(d *deluge.Deluge) error
PollDeluge at an interval and save the transfer list to r.Deluge
func (*RunningData) PollRadarr ¶
func (r *RunningData) PollRadarr(s *starr.Config)
PollRadarr saves the Radarr Queue to r.RadarrQ
func (*RunningData) PollSonarr ¶
func (r *RunningData) PollSonarr(s *starr.Config)
PollSonarr saves the Sonarr Queue to r.SonarrQ
func (*RunningData) UpdateStatus ¶
func (r *RunningData) UpdateStatus(name string, status ExtractStatus, fileList []string)
UpdateStatus for an on-going tracked extraction.