Documentation
¶
Overview ¶
Package cfg used for process configuration
Package cfg used for process configuration
Index ¶
- Variables
- func GenUsedFlagMap() map[string]bool
- func GetOptionTime(options *str.Options) string
- func GetOutputForModule(options *str.Options) string
- func IsValidConfigType(allowedTypes []string, userType string) bool
- func IsValidConfigTypeSlice(allowedElements []string, userElements str.Slice) bool
- func OptionsFromConfig(fs afero.Fs, config *Config) (str.Options, error)
- func SyncOptionsFromFlags(fs afero.Fs, config *Config, flagMap map[string]string) (str.Options, error)
- func ValidateConfig(module string, config OptionsConfig) bool
- type Config
- func DefaultConfig() *Config
- func GetConfig(fs afero.Fs, configPath string) (*Config, error)
- func InitConfig(fs afero.Fs) (*Config, error)
- func MergeConfigs(defaultConfig *Config, fileConfig *Config, flagConfig map[string]string) (*Config, error)
- func ReadConfigFromFile(fs afero.Fs, filename string) (*Config, error)
- type OptionsConfig
Constants ¶
This section is empty.
Variables ¶
var ModuleConfig = map[string]OptionsConfig{ "watchlist": { SearchIDType: []string{}, SearchType: []string{}, SearchField: []string{}, Type: []string{"movies", "shows", "episodes", "persons"}, Sort: []string{"rank", "added", "released", "title"}, Format: []string{"imdb", "tmdb", "tvdb", "tvrage", "trakt"}, Action: []string{}, }, "collection": { SearchIDType: []string{}, SearchType: []string{}, SearchField: []string{}, Type: []string{"movies", "shows", "episodes", "persons"}, Sort: []string{"rank", "added", "released", "title"}, Format: []string{"imdb", "tmdb", "tvdb", "tvrage", "trakt"}, Action: []string{}, }, "history": { SearchIDType: []string{}, SearchType: []string{}, SearchField: []string{}, Type: []string{"movies", "shows", "episodes", "persons"}, Sort: []string{"rank", "added", "released", "title"}, Format: []string{"imdb", "tmdb", "tvdb", "tvrage", "trakt"}, Action: []string{}, }, "lists": { SearchIDType: []string{}, SearchType: []string{}, SearchField: []string{}, Type: []string{"movies", "shows", "episodes", "persons"}, Sort: []string{"rank", "added", "released", "title"}, Format: []string{"imdb", "tmdb", "tvdb", "tvrage", "trakt"}, Action: []string{}, }, "people": { SearchIDType: []string{}, SearchType: []string{}, SearchField: []string{}, Type: []string{"movies", "shows", "episodes", "persons", "all", "personal", "official"}, Sort: []string{"rank", "added", "released", "title", "popular", "likes", "comments", "items", "added", "updated"}, Format: []string{"imdb", "tmdb", "tvdb", "tvrage", "trakt"}, Action: []string{}, }, "search": { SearchIDType: []string{"trakt", "imdb", "tmdb", "tvdb"}, SearchType: []string{"movie", "show", "episode", "person", "list", "podcast", "podcast_episode"}, SearchField: []string{"title", "aliases", "biography", "description", "episode", "name", "overview", "people", "show", "tagline", "translations"}, Type: []string{"movies", "shows", "episodes", "persons", "all", "personal", "official"}, Sort: []string{"rank", "added", "released", "title", "popular", "likes", "comments", "items", "added", "updated"}, Format: []string{"imdb", "tmdb", "tvdb", "tvrage", "trakt"}, Action: []string{}, }, "users": { SearchIDType: []string{}, SearchType: []string{}, SearchField: []string{}, Type: []string{"movies", "shows"}, Sort: []string{}, Format: []string{}, Action: []string{}, }, }
ModuleConfig represents the configuration options for all modules
var SearchFieldConfig = map[string][]string{
"movie": {"title", "tagline", "overview", "people", "translations", "aliases"},
"show": {"title", "overview", "people", "translations", "aliases"},
"episode": {"title", "overview"},
"person": {"name", "biography"},
"list": {"name", "description"},
}
SearchFieldConfig represents the configuration options for search_field depens on type
Functions ¶
func GetOptionTime ¶
GetOptionTime config Time depends on Module name
func GetOutputForModule ¶ added in v1.0.3
GetOutputForModule generates output value depends on module name
func IsValidConfigType ¶
IsValidConfigType checks if the provided type is valid for the module
func IsValidConfigTypeSlice ¶
IsValidConfigTypeSlice checks if all elements of userElements are in allowedElements, considering the counts of each element.
func OptionsFromConfig ¶
OptionsFromConfig reads optionf from config file
func SyncOptionsFromFlags ¶
func SyncOptionsFromFlags(fs afero.Fs, config *Config, flagMap map[string]string) (str.Options, error)
SyncOptionsFromFlags reads options from user flags
func ValidateConfig ¶
func ValidateConfig(module string, config OptionsConfig) bool
ValidateConfig validates if the provided configuration is allowed for the given module
Types ¶
type Config ¶
type Config struct {
UserName string `toml:"username"`
ConfigPath string `toml:"config_path"`
Action string `toml:"action"`
TokenPath string `toml:"token_path"`
Type string `toml:"type"`
Output string `toml:"output"`
ID string `toml:"id"`
SearchIDType string `toml:"search_id_type"`
RedirectURI string `toml:"redirect_uri"`
ClientSecret string `toml:"client_secret"`
List string `toml:"list"`
Format string `toml:"format"`
ClientID string `toml:"client_id"`
Query string `toml:"query"`
Field string `toml:"field"`
Sort string `toml:"sort"`
Module string `toml:"module"`
SearchField str.Slice `toml:"search_field"`
SearchType str.Slice `toml:"search_type"`
WarningCode int `toml:"warningCode"`
ErrorCode int `toml:"errorCode"`
Days int `toml:"days"`
PerPage int `toml:"per_page"`
Verbose bool `toml:"verbose"`
}
Config struct for app.