forked from TrueCloudLab/frostfs-node
Alex Vanin
20de74a505
Due to source code relocation from GitHub. Signed-off-by: Alex Vanin <a.vanin@yadro.com>
46 lines
1.1 KiB
Go
46 lines
1.1 KiB
Go
package common
|
|
|
|
import (
|
|
"encoding/hex"
|
|
"strconv"
|
|
"time"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-cli/internal/commonflags"
|
|
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/checksum"
|
|
"github.com/spf13/cobra"
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
// PrintVerbose prints to the stdout if the commonflags.Verbose flag is on.
|
|
func PrintVerbose(cmd *cobra.Command, format string, a ...any) {
|
|
if viper.GetBool(commonflags.Verbose) {
|
|
cmd.Printf(format+"\n", a...)
|
|
}
|
|
}
|
|
|
|
// PrettyPrintUnixTime interprets s as unix timestamp and prints it as
|
|
// a date. Is s is invalid, "malformed" is returned.
|
|
func PrettyPrintUnixTime(s string) string {
|
|
unixTime, err := strconv.ParseInt(s, 10, 64)
|
|
if err != nil {
|
|
return "malformed"
|
|
}
|
|
|
|
timestamp := time.Unix(unixTime, 0)
|
|
|
|
return timestamp.String()
|
|
}
|
|
|
|
// PrintChecksum prints checksum.
|
|
func PrintChecksum(cmd *cobra.Command, name string, recv func() (checksum.Checksum, bool)) {
|
|
var strVal string
|
|
|
|
cs, csSet := recv()
|
|
if csSet {
|
|
strVal = hex.EncodeToString(cs.Value())
|
|
} else {
|
|
strVal = "<empty>"
|
|
}
|
|
|
|
cmd.Printf("%s: %s\n", name, strVal)
|
|
}
|