Exemple #1
0
func runCmd(s trib.Storage, args []string) bool {
	var v string
	var b bool
	var lst trib.List
	var n int
	var cret uint64

	cmd := args[0]

	switch cmd {
	case "get":
		logError(s.Get(single(args), &v))
		fmt.Println(v)
	case "set":
		logError(s.Set(kva(args), &b))
		fmt.Println(b)
	case "keys":
		logError(s.Keys(pata(args), &lst))
		printList(lst)
	case "list-get":
		logError(s.ListGet(single(args), &lst))
		printList(lst)
	case "list-append":
		logError(s.ListAppend(kva(args), &b))
		fmt.Println(b)
	case "list-remove":
		logError(s.ListRemove(kva(args), &n))
		fmt.Println(n)
	case "list-keys":
		logError(s.ListKeys(pata(args), &lst))
		printList(lst)
	case "clock":
		var c uint64
		var e error
		if len(args) >= 2 {
			c, e = strconv.ParseUint(args[1], 10, 64)
			logError(e)
		}
		logError(s.Clock(c, &cret))
		fmt.Println(cret)
	case "help":
		fmt.Println(cmdHelp)
	case "exit":
		return true
	default:
		logError(fmt.Errorf("bad command, try \"help\"."))
	}
	return false
}