49 lines
932 B
Go
49 lines
932 B
Go
package cli
|
|
|
|
import (
|
|
"fmt"
|
|
"flag"
|
|
|
|
"git.rdelaage.ovh/rdelaage/cyanocorax/version"
|
|
"git.rdelaage.ovh/rdelaage/cyanocorax/manage"
|
|
)
|
|
|
|
const (
|
|
flagInfoHelp = "Show application information"
|
|
flagVersionHelp = "Show application version"
|
|
flagSiteHelp = "Set site file path"
|
|
)
|
|
|
|
func Parse() {
|
|
var (
|
|
flagInfo bool
|
|
flagVersion bool
|
|
flagSite string
|
|
)
|
|
|
|
flag.BoolVar(&flagInfo, "info", false, flagInfoHelp)
|
|
flag.BoolVar(&flagInfo, "i", false, flagInfoHelp)
|
|
flag.BoolVar(&flagVersion, "version", false, flagVersionHelp)
|
|
flag.BoolVar(&flagVersion, "v", false, flagVersionHelp)
|
|
flag.StringVar(&flagSite, "site", "", flagSiteHelp)
|
|
flag.StringVar(&flagSite, "s", "", flagSiteHelp)
|
|
|
|
flag.Parse()
|
|
|
|
if flagInfo {
|
|
info()
|
|
return
|
|
}
|
|
|
|
if flagVersion {
|
|
fmt.Println(version.Version)
|
|
return
|
|
}
|
|
|
|
if flagSite == "" {
|
|
fmt.Println("Flag site must be set")
|
|
} else {
|
|
fmt.Println(manage.SiteFromFile(flagSite))
|
|
}
|
|
}
|