zdata.go 1.6 KB
Newer Older
aaronchen2k2k's avatar
init  
aaronchen2k2k 已提交
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
package main

import (
	"flag"
	configUtils "github.com/easysoft/zendata/src/utils/config"
	logUtils "github.com/easysoft/zendata/src/utils/log"
	"github.com/easysoft/zendata/src/utils/vari"
	"github.com/fatih/color"
	"os"
	"os/signal"
	"syscall"
)

var (
	language        string

	file string
	count  string
	field    string
	parse   string

	out bool
	table string
	help bool

	flagSet *flag.FlagSet
)

func main() {
	channel := make(chan os.Signal)
	signal.Notify(channel, os.Interrupt, syscall.SIGTERM)
	go func() {
		<-channel
		cleanup()
		os.Exit(0)
	}()

	flagSet = flag.NewFlagSet("zdata", flag.ContinueOnError)

	flagSet.StringVar(&file, "f", "", "")
	flagSet.StringVar(&file, "file", "", "")

	flagSet.StringVar(&file, "c", "", "")
	flagSet.StringVar(&file, "count", "", "")

	flagSet.StringVar(&file, "field", "", "")

	flagSet.StringVar(&file, "p", "", "")
	flagSet.StringVar(&file, "parse", "", "")

	flagSet.StringVar(&file, "o", "", "")
	flagSet.StringVar(&file, "out", "", "")

	flagSet.StringVar(&file, "t", "", "")
	flagSet.StringVar(&file, "table", "", "")

	flagSet.StringVar(&file, "h", "", "")
	flagSet.StringVar(&file, "help", "", "")

	if len(os.Args) == 1 {
		os.Args = append(os.Args, "run", ".")
	}

	switch os.Args[1] {
	case "checkout", "co":
		if err := flagSet.Parse(os.Args[2:]); err == nil {

		}
	case "help", "-h":
		logUtils.PrintUsage()

	default: // run
		if len(os.Args) > 1 {
			args := []string{os.Args[0], "run"}
			args = append(args, os.Args[1:]...)

			//run(args)
		} else {
			logUtils.PrintUsage()
		}

	}
}

func init() {
	cleanup()

	vari.RunFromCui = false
	configUtils.InitConfig()
}

func cleanup() {
	color.Unset()
}