unpackerpoller

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 27, 2019 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MISSING = ExtractStatus(iota)
	QUEUED
	EXTRACTING
	EXTRACTFAILED
	EXTRACTFAILED2
	EXTRACTED
	IMPORTED
	DELETING
	DELETEFAILED
	DELETED
	FORGOTTEN
)

Extract Statuses.

Variables

View Source
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

func DeLogf

func DeLogf(msg string, v ...interface{})

DeLogf writes Debug log lines.

func ParseFlags

func ParseFlags()

ParseFlags turns CLI args into usable data.

func Start

func Start() error

Start runs the app.

func StartUp

func StartUp(d *deluge.Deluge, config Config)

StartUp all the go routines.

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 GetConfig

func GetConfig(configFile string) (Config, error)

GetConfig parses and returns our configuration data.

func ValidateConfig

func ValidateConfig(config Config) (Config, error)

ValidateConfig makes sure config values are ok.

type Duration

type Duration struct {
	time.Duration
}

Duration is used to UnmarshalTOML into a time.Duration value.

func (*Duration) UnmarshalJSON

func (v *Duration) UnmarshalJSON(data []byte) error

UnmarshalJSON parses a duration type from a config file.

func (*Duration) UnmarshalTOML

func (v *Duration) UnmarshalTOML(data []byte) error

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL