diff options
| author | Loyalsoldier <[email protected]> | 2024-07-08 13:54:29 +0800 |
|---|---|---|
| committer | Loyalsoldier <[email protected]> | 2024-07-08 14:23:41 +0800 |
| commit | 56ddd1bd048e6d42645f36cd473a211dca90b5dc (patch) | |
| tree | 1832981ab31a2c457992e053f0dd94453ac475f5 /main.go | |
| parent | 8c55b323a91acff7cc7f839a371ec9510fe60039 (diff) | |
Refactor: CLI commands
old usage: geoip -l
new usage: geoip list
old usage: geoip -c config.json
new usage: geoip convert -c config.json
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 33 |
1 files changed, 9 insertions, 24 deletions
@@ -1,36 +1,21 @@ package main import ( - "flag" "log" - "github.com/Loyalsoldier/geoip/lib" + "github.com/spf13/cobra" ) -var ( - list = flag.Bool("l", false, "List all available input and output formats") - configFile = flag.String("c", "config.json", "URI of the JSON format config file, support both local file path and remote HTTP(S) URL") -) +var rootCmd = &cobra.Command{ + Use: "geoip", + Short: "geoip is a convenient tool to merge, convert and lookup IP & CIDR from various formats of geoip data.", + CompletionOptions: cobra.CompletionOptions{ + HiddenDefaultCmd: true, + }, +} func main() { - flag.Parse() - - if *list { - lib.ListInputConverter() - lib.ListOutputConverter() - return - } - - instance, err := lib.NewInstance() - if err != nil { - log.Fatal(err) - } - - if err := instance.Init(*configFile); err != nil { - log.Fatal(err) - } - - if err := instance.Run(); err != nil { + if err := rootCmd.Execute(); err != nil { log.Fatal(err) } } |
