-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
47 lines (42 loc) · 1.04 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main
// main module
//
// Copyright (c) 2022 - Valentin Kuznetsov <vkuznet@gmail.com>
//
import (
"flag"
"fmt"
"runtime"
"time"
)
// git version of our code
var version string
func info() string {
goVersion := runtime.Version()
tstamp := time.Now()
return fmt.Sprintf("wmstats git=%s go=%s date=%s", version, goVersion, tstamp)
}
func main() {
var version bool
flag.BoolVar(&version, "version", false, "Show version")
var config string
flag.StringVar(&config, "config", "", "config file")
var wmstatsFile string
flag.StringVar(&wmstatsFile, "wmstatsFile", "", "wmstats file")
var filters string
flag.StringVar(&filters, "filters", "", "comma separated wmstats filters")
var display string
flag.StringVar(&display, "display", "campaign", "display given attribute")
var verbose int
flag.IntVar(&verbose, "verbose", 0, "verbose level")
flag.Parse()
if version {
fmt.Println("wmstats version:", info())
return
}
if wmstatsFile != "" {
cli(wmstatsFile, wmstatsFilters(filters), display, verbose)
} else {
Server(config)
}
}