frostfs-node/cmd/frostfs-cli/internal/common/verbose.go
Dmitrii Stepanov 721ba7181b
Some checks failed
DCO action / DCO (pull_request) Successful in 1m30s
Vulncheck / Vulncheck (pull_request) Successful in 3m41s
Build / Build Components (1.21) (pull_request) Successful in 4m17s
Build / Build Components (1.20) (pull_request) Successful in 4m30s
Tests and linters / Lint (pull_request) Successful in 6m37s
Tests and linters / Staticcheck (pull_request) Successful in 6m17s
Tests and linters / Tests (1.21) (pull_request) Successful in 8m51s
Tests and linters / Tests (1.20) (pull_request) Successful in 9m10s
Tests and linters / Tests with -race (pull_request) Successful in 9m1s
Tests and linters / gopls check (pull_request) Failing after 15m55s
[#9999] node: Move api-go & sdk-go to pkg
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-03-20 16:35:44 +03:00

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-node/pkg/sdk/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)
}