-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
56 lines (49 loc) · 1.26 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
48
49
50
51
52
53
54
55
56
package main
import "fmt"
import "flag"
import _ "time"
import _ "strconv"
import "github.com/Yegorov/smzdoc/cnfg"
import "github.com/Yegorov/smzdoc/action"
func main() {
fmt.Println(cnfg.WelcomeMsg())
c := cnfg.NewConfig()
ud := cnfg.NewUserData()
ud.Load()
conf := &cnfg.Conf{Ud: ud, C: c}
date := conf.Ud.DateTime() // time.Now()
isDateSet := false
price := conf.Ud.Price
flag.Parse()
acceptCertCmd := "accept-cert"
switch flag.Arg(0) {
case acceptCertCmd:
acceptCert := flag.NewFlagSet(acceptCertCmd, flag.ExitOnError)
acceptCert.Var(&cnfg.DateArg{Date: &date, IsDateSet: &isDateSet}, "date", "current date")
acceptCert.IntVar(&price, "price", price, "you price")
acceptCert.Parse(flag.Args()[1:])
if isDateSet {
// fmt.Println("Set date: " + date.String()[0:10])
conf.Ud.Date = date.String()[0:10]
}
if price != conf.Ud.Price {
// fmt.Println("Set price: " + strconv.Itoa(price))
conf.Ud.Price = price
}
// fmt.Println("Do: " + acceptCertCmd)
action.GenAcceptCertificate(conf)
default:
PrintHowUse()
}
}
func PrintHowUse() {
msg := `
use: smzdoc <cmd> [options]
commands:
accept-cert - generate accept certificate
options:
--date - current date (e.g.: 2025-01-01)
--price - price (e.g.: 10000)
`
fmt.Println(msg)
}