Skip to content

Commit fc03897

Browse files
committed
Introduce config package
1 parent 9ab317e commit fc03897

File tree

2 files changed

+42
-35
lines changed

2 files changed

+42
-35
lines changed

cmd/unsavory/main.go

+2-35
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,11 @@
11
package main
22

33
import (
4-
"flag"
5-
"log"
6-
"os"
7-
"runtime"
8-
4+
"github.com/citizen428/unsavory/internal/config"
95
un "github.com/citizen428/unsavory/internal/unsavory"
106
)
117

12-
var (
13-
dryRun bool
14-
proxyURL string
15-
token string
16-
)
17-
18-
func init() {
19-
if cpu := runtime.NumCPU(); cpu == 1 {
20-
runtime.GOMAXPROCS(2)
21-
} else {
22-
runtime.GOMAXPROCS(cpu)
23-
}
24-
25-
log.SetFlags(0)
26-
27-
flag.BoolVar(&dryRun, "dry-run", false, "Enables dry run mode")
28-
flag.StringVar(&proxyURL, "proxy-url", "", "HTTP proxy URL")
29-
flag.StringVar(&token, "token", "", "Pinboard API token")
30-
}
31-
328
func main() {
33-
flag.Parse()
34-
if token == "" {
35-
log.Fatalln("Missing required API token")
36-
}
37-
38-
if proxyURL != "" {
39-
os.Setenv("HTTP_PROXY", proxyURL)
40-
}
41-
42-
un := un.NewClient(token, dryRun)
9+
un := un.NewClient(config.Token, config.DryRun)
4310
un.Run()
4411
}

internal/config/config.go

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package config
2+
3+
import (
4+
"flag"
5+
"log"
6+
"os"
7+
"runtime"
8+
)
9+
10+
var (
11+
DryRun bool
12+
Token string
13+
14+
proxyURL string
15+
)
16+
17+
func init() {
18+
runtime.GOMAXPROCS(runtime.NumCPU())
19+
20+
log.SetFlags(0)
21+
22+
flag.BoolVar(&DryRun, "dry-run", false, "Enables dry run mode")
23+
flag.StringVar(&Token, "token", "", "Pinboard API token")
24+
flag.StringVar(&proxyURL, "proxy-url", "", "HTTP proxy URL")
25+
26+
flag.Parse()
27+
28+
if len(os.Args) < 2 {
29+
flag.Usage()
30+
os.Exit(0)
31+
}
32+
33+
if Token == "" {
34+
log.Fatalln("Missing required API token")
35+
}
36+
37+
if proxyURL != "" {
38+
os.Setenv("HTTP_PROXY", proxyURL)
39+
}
40+
}

0 commit comments

Comments
 (0)