kilo-bytes

command
v1.10.29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2022 License: MIT Imports: 4 Imported by: 0

README

kilo-bytes

cmdr provides extracting kilobytes value from Option Store. It allows human-readable sizes input from command line.

The samples:

$ go run ./examples/kilo-bytes/ kb --size 5kb
$ go run ./examples/kilo-bytes/ kb --size 8T
$ go run ./examples/kilo-bytes/ kb --size 1g
$ go run ./examples/kilo-bytes/ kb --size 329eb

Sometimes, it's called as kibibytes.

Valid formats 2k, 2kb, 2kB, 2KB.
Valid Suffixes k, m, g, t, p, e.
Backstage

See also cmdr.GetKibibytesR().

func kbPrint(root cmdr.OptCmd) {
	// kb-print

	kb := root.NewSubCommand("kb-print", "kb").
		Description("kilobytes test", "test kibibytes' input,\nverbose long descriptions here.").
		Group("Test").
		Examples(`
$ {{.AppName}} kb --size 5kb
  5kb = 5,120 bytes
$ {{.AppName}} kb --size 8T
  8TB = 8,796,093,022,208 bytes
$ {{.AppName}} kb --size 1g
  1GB = 1,073,741,824 bytes
		`).
		Action(func(cmd *cmdr.Command, args []string) (err error) {
			fmt.Printf("Got size: %v (literal: %v)\n\n", cmdr.GetKibibytesR("kb-print.size"), cmdr.GetStringR("kb-print.size"))
			fmt.Printf("Got kilo: %v (literal: %v)\n\n", cmdr.GetKibibytesR("kb-print.kilo"), cmdr.GetStringR("kb-print.kilo"))
			return
		})

	kb.NewFlagV("1k", "size", "s").
		Description("max message size. Valid formats: 2k, 2kb, 2kB, 2KB. Suffixes: k, m, g, t, p, e.", "").
		Group("")	
	
	cmdr.NewString("1k").
		Titles("kilo", "k").
		Description("message size. Valid formats: 2k, 2kb, 2kB, 2KB. Suffixes: k, m, g, t, p, e.", "").
		Group("").AttachTo(kb)

}

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL