diff options
author | Simon Garrelou <simon.garrelou@gmail.com> | 2022-12-08 22:39:57 +0100 |
---|---|---|
committer | Simon Garrelou <simon.garrelou@gmail.com> | 2022-12-08 22:39:57 +0100 |
commit | de4387bd08cfb26c497114367fb1749d04782c70 (patch) | |
tree | 55ed766ad1857f1606d358cbc1764e5dbb3783d1 /cmd/main.go | |
parent | 7e4333dac70cdb003e71b6805ed4d81f18aa233a (diff) | |
download | termsonic-de4387bd08cfb26c497114367fb1749d04782c70.tar.gz termsonic-de4387bd08cfb26c497114367fb1749d04782c70.zip |
Change commnd-line options
Diffstat (limited to 'cmd/main.go')
-rw-r--r-- | cmd/main.go | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/cmd/main.go b/cmd/main.go index c1ff827..57687d9 100644 --- a/cmd/main.go +++ b/cmd/main.go | |||
@@ -9,30 +9,33 @@ import ( | |||
9 | ) | 9 | ) |
10 | 10 | ||
11 | var ( | 11 | var ( |
12 | baseURL = flag.String("url", "", "URL to your Subsonic server") | 12 | configFile = flag.String("config", "", "Path to the configuration file") |
13 | username = flag.String("username", "", "Subsonic username") | ||
14 | password = flag.String("password", "", "Subsonic password") | ||
15 | ) | 13 | ) |
16 | 14 | ||
17 | func main() { | 15 | func main() { |
18 | flag.Parse() | 16 | flag.Parse() |
19 | 17 | ||
20 | cfg, err := src.LoadDefaultConfig() | 18 | var cfg *src.Config |
21 | if err != nil { | 19 | var err error |
22 | fmt.Printf("Could not start termsonic: %v", err) | 20 | if *configFile == "" { |
23 | os.Exit(1) | 21 | cfg, err = src.LoadDefaultConfig() |
24 | } | 22 | if err != nil { |
25 | 23 | fmt.Printf("Could not start termsonic: %v", err) | |
26 | if *baseURL != "" { | 24 | os.Exit(1) |
27 | cfg.BaseURL = *baseURL | 25 | } |
28 | } | 26 | } else { |
29 | 27 | f, err := os.Open(*configFile) | |
30 | if *username != "" { | 28 | if err != nil { |
31 | cfg.Username = *username | 29 | fmt.Printf("Could not read configuration file: %v", err) |
32 | } | 30 | os.Exit(1) |
33 | 31 | } | |
34 | if *password != "" { | 32 | f.Close() |
35 | cfg.Password = *password | 33 | |
34 | cfg, err = src.LoadConfigFromFile(*configFile) | ||
35 | if err != nil { | ||
36 | fmt.Printf("Error loading configuration file: %v", err) | ||
37 | os.Exit(1) | ||
38 | } | ||
36 | } | 39 | } |
37 | 40 | ||
38 | src.Run(cfg) | 41 | src.Run(cfg) |