summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorLoyalsoldier <[email protected]>2024-07-08 13:54:29 +0800
committerLoyalsoldier <[email protected]>2024-07-08 14:23:41 +0800
commit56ddd1bd048e6d42645f36cd473a211dca90b5dc (patch)
tree1832981ab31a2c457992e053f0dd94453ac475f5 /main.go
parent8c55b323a91acff7cc7f839a371ec9510fe60039 (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.go33
1 files changed, 9 insertions, 24 deletions
diff --git a/main.go b/main.go
index 8dd8f45b..efc6a46a 100644
--- a/main.go
+++ b/main.go
@@ -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)
}
}