本文整理汇总了Golang中github.com/spf13/cobra.Command.Printf方法的典型用法代码示例。如果您正苦于以下问题:Golang Command.Printf方法的具体用法?Golang Command.Printf怎么用?Golang Command.Printf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/spf13/cobra.Command
的用法示例。
在下文中一共展示了Command.Printf方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: runCreate
// runCreate is the code that implements the create command.
func runCreate(cmd *cobra.Command, args []string) {
cmd.Printf("Creating User : Name[%s] Email[%s] Pass[%s]\n", create.name, create.email, create.pass)
if create.name == "" && create.email == "" && create.pass == "" {
cmd.Help()
return
}
u, err := auth.NewUser(auth.NUser{
Status: auth.StatusActive,
FullName: create.name,
Email: create.email,
Password: create.pass,
})
if err != nil {
cmd.Println("Creating User : ", err)
return
}
if err := auth.CreateUser("", conn, u); err != nil {
cmd.Println("Creating User : ", err)
return
}
webTok, err := auth.CreateWebToken("", conn, u, 24*365*time.Hour)
if err != nil {
cmd.Println("Creating User : ", err)
return
}
cmd.Printf("\nToken: %s\n\n", webTok)
}
示例2: commitContainer
func commitContainer(ctx *cobra.Command, args []string) {
if len(args) < 2 {
ErrorExit(ctx, "Needs two arguments to commit <CONTAINER-NAME|ID> to <IMAGE-NAME[:TAG]>")
}
reg, name, tag, err := client.ParseRepositoryName(args[1])
if err != nil {
log.Fatal(err)
}
if reg != "" {
name = reg + "/" + name
}
docker, err := client.NewDockerClient(configPath, hostName, ctx.Out())
if err != nil {
log.Fatal(err)
}
if _, err := docker.CommitContainer(args[0], name, tag, message, author, boolPause); err != nil {
log.Fatal(err)
}
ctx.Printf("Committed %s as %s:%s\n", args[0], name, tag)
}
示例3: tufAdd
func (t *tufCommander) tufAdd(cmd *cobra.Command, args []string) error {
if len(args) < 3 {
cmd.Usage()
return fmt.Errorf("Must specify a GUN, target, and path to target data")
}
config, err := t.configGetter()
if err != nil {
return err
}
gun := args[0]
targetName := args[1]
targetPath := args[2]
// no online operations are performed by add so the transport argument
// should be nil
nRepo, err := notaryclient.NewNotaryRepository(
config.GetString("trust_dir"), gun, getRemoteTrustServer(config), nil, t.retriever)
if err != nil {
return err
}
target, err := notaryclient.NewTarget(targetName, targetPath)
if err != nil {
return err
}
// If roles is empty, we default to adding to targets
if err = nRepo.AddTarget(target, t.roles...); err != nil {
return err
}
cmd.Printf(
"Addition of target \"%s\" to repository \"%s\" staged for next publish.\n",
targetName, gun)
return nil
}
示例4: tufAdd
func tufAdd(cmd *cobra.Command, args []string) {
if len(args) < 3 {
cmd.Usage()
fatalf("Must specify a GUN, target, and path to target data")
}
parseConfig()
gun := args[0]
targetName := args[1]
targetPath := args[2]
// no online operations are performed by add so the transport argument
// should be nil
nRepo, err := notaryclient.NewNotaryRepository(mainViper.GetString("trust_dir"), gun, getRemoteTrustServer(), nil, retriever)
if err != nil {
fatalf(err.Error())
}
target, err := notaryclient.NewTarget(targetName, targetPath)
if err != nil {
fatalf(err.Error())
}
err = nRepo.AddTarget(target)
if err != nil {
fatalf(err.Error())
}
cmd.Printf(
"Addition of target \"%s\" to repository \"%s\" staged for next publish.\n",
targetName, gun)
}
示例5: publishAndPrintToCLI
func publishAndPrintToCLI(cmd *cobra.Command, nRepo *notaryclient.NotaryRepository, gun string) error {
if err := nRepo.Publish(); err != nil {
return err
}
cmd.Printf("Successfully published changes for repository %s\n", gun)
return nil
}
示例6: runIndex
// runIndex issues the command talking to the web service.
func runIndex(cmd *cobra.Command, args []string) error {
cmd.Printf("Ensure Indexes : Name[%s]\n", index.name)
set, err := runGetSet(cmd, index.name)
if err != nil {
return err
}
verb := "PUT"
url := "/v1/index/" + index.name
data, err := json.Marshal(set)
if err != nil {
return err
}
cmd.Printf("\n%s\n\n", string(data))
if _, err := web.Request(cmd, verb, url, bytes.NewBuffer(data)); err != nil {
return err
}
cmd.Println("\n", "Ensure Indexes : Ensured")
return nil
}
示例7: runExecWeb
// runExecWeb issues the command talking to the web service.
func runExecWeb(cmd *cobra.Command, vars map[string]string) error {
verb := "GET"
url := "/v1/exec/" + exe.name
if len(vars) > 0 {
var i int
for k, v := range vars {
if i == 0 {
url += "?"
} else {
url += "&"
}
i++
url += k + "=" + v
}
}
resp, err := web.Request(cmd, verb, url, nil)
if err != nil {
return err
}
cmd.Printf("\n%s\n\n", resp)
return nil
}
示例8: tufRemove
func (t *tufCommander) tufRemove(cmd *cobra.Command, args []string) error {
if len(args) < 2 {
return fmt.Errorf("Must specify a GUN and target")
}
config, err := t.configGetter()
if err != nil {
return err
}
gun := args[0]
targetName := args[1]
trustPin, err := getTrustPinning(config)
if err != nil {
return err
}
// no online operation are performed by remove so the transport argument
// should be nil.
repo, err := notaryclient.NewNotaryRepository(
config.GetString("trust_dir"), gun, getRemoteTrustServer(config), nil, t.retriever, trustPin)
if err != nil {
return err
}
// If roles is empty, we default to removing from targets
if err = repo.RemoveTarget(targetName, t.roles...); err != nil {
return err
}
cmd.Printf("Removal of %s from %s staged for next publish.\n", targetName, gun)
return nil
}
示例9: logoutRegistry
func logoutRegistry(ctx *cobra.Command, args []string) {
reg := client.INDEX_SERVER
if len(args) > 0 {
reg = args[0]
}
config, err := client.LoadConfig(configPath)
if err != nil {
log.Fatal(err)
}
registry, notFound := config.GetRegistry(reg)
if (notFound != nil) || (registry.Credentials == "") {
log.Fatalf("Not logged in to a Docker registry at %s", reg)
}
config.LogoutRegistry(reg)
if err := config.SaveConfig(configPath); err != nil {
log.Fatal(err)
}
ctx.Printf("Removed login credentials for a Docker registry at %s\n\n", reg)
listRegistries(ctx, args)
}
示例10: runStatus
// runStatus is the code that implements the status command.
func runStatus(cmd *cobra.Command, args []string) {
cmd.Printf("Status User : Pid[%s] Email[%s] Active[%v]\n", status.pid, status.email, status.active)
if status.pid == "" && status.email == "" {
cmd.Help()
return
}
db := db.NewMGO()
defer db.CloseMGO()
var publicID string
if status.pid != "" {
publicID = status.pid
} else {
u, err := auth.GetUserByEmail("", db, status.email, false)
if err != nil {
cmd.Println("Status User : ", err)
return
}
publicID = u.PublicID
}
st := auth.StatusDisabled
if status.active {
st = auth.StatusActive
}
if err := auth.UpdateUserStatus("", db, publicID, st); err != nil {
cmd.Println("Status User : ", err)
return
}
cmd.Println("Status User : Updated")
}
示例11: tagImage
func tagImage(ctx *cobra.Command, args []string) {
if len(args) < 2 {
ErrorExit(ctx, "Needs two arguments <NAME[:TAG]|ID> <NEW-NAME[:TAG]>")
}
reg, name, tag, err := client.ParseRepositoryName(args[1])
if err != nil {
log.Fatal(err)
}
if reg != "" {
name = reg + "/" + name
}
docker, err := client.NewDockerClient(configPath, hostName, ctx.Out())
if err != nil {
log.Fatal(err)
}
if err := docker.TagImage(args[0], name, tag, boolForce); err != nil {
log.Fatal(err)
}
ctx.Printf("Tagged %s as %s:%s\n", args[0], name, tag)
}
示例12: runExecute
// runExecute is the code that implements the execute command.
func runExecute(cmd *cobra.Command, args []string) error {
cmd.Printf("Executing View : Name[%s]\n", execute.viewName)
// Validate the input parameters.
if execute.viewName == "" || execute.itemKey == "" {
return fmt.Errorf("view name and item key must be specified")
}
// Ready the view parameters.
viewParams := wire.ViewParams{
ViewName: execute.viewName,
ItemKey: execute.itemKey,
ResultsCollection: execute.resultsCollection,
BufferLimit: execute.bufferLimit,
}
// Execute the view.
results, err := wire.Execute("", mgoDB, graphDB, &viewParams)
if err != nil {
return err
}
// Prepare the results for printing.
data, err := json.MarshalIndent(results, "", " ")
if err != nil {
return err
}
cmd.Printf("\n%s\n\n", string(data))
cmd.Println("\n", "Executing View : Executed")
return nil
}
示例13: getContainerChanges
func getContainerChanges(ctx *cobra.Command, args []string) {
if len(args) < 1 {
ErrorExit(ctx, "Needs an argument <NAME|ID> to get changes")
}
docker, err := client.NewDockerClient(configPath, hostName, ctx.Out())
if err != nil {
log.Fatal(err)
}
changes, err := docker.GetContainerChanges(args[0])
if err != nil {
log.Fatal(err)
}
for _, change := range changes {
var kind string
switch change.Kind {
case api.CHANGE_TYPE_MODIFY:
kind = "C"
case api.CHANGE_TYPE_ADD:
kind = "A"
case api.CHANGE_TYPE_DELETE:
kind = "D"
}
ctx.Printf("%s %s\n", kind, change.Path)
}
}
示例14: printCert
func printCert(cmd *cobra.Command, cert *x509.Certificate) {
timeDifference := cert.NotAfter.Sub(time.Now())
certID, err := trustmanager.FingerprintCert(cert)
if err != nil {
fatalf("Could not fingerprint certificate: %v", err)
}
cmd.Printf("%s %s (expires in: %v days)\n", cert.Subject.CommonName, certID, math.Floor(timeDifference.Hours()/24))
}
示例15: tufAddByHash
func (t *tufCommander) tufAddByHash(cmd *cobra.Command, args []string) error {
if len(args) < 3 || t.sha256 == "" && t.sha512 == "" {
cmd.Usage()
return fmt.Errorf("Must specify a GUN, target, byte size of target data, and at least one hash")
}
config, err := t.configGetter()
if err != nil {
return err
}
gun := args[0]
targetName := args[1]
targetSize := args[2]
targetInt64Len, err := strconv.ParseInt(targetSize, 0, 64)
if err != nil {
return err
}
trustPin, err := getTrustPinning(config)
if err != nil {
return err
}
// no online operations are performed by add so the transport argument
// should be nil
nRepo, err := notaryclient.NewFileCachedNotaryRepository(
config.GetString("trust_dir"), gun, getRemoteTrustServer(config), nil, t.retriever, trustPin)
if err != nil {
return err
}
targetHashes, err := getTargetHashes(t)
if err != nil {
return err
}
// Manually construct the target with the given byte size and hashes
target := ¬aryclient.Target{Name: targetName, Hashes: targetHashes, Length: targetInt64Len}
// If roles is empty, we default to adding to targets
if err = nRepo.AddTarget(target, t.roles...); err != nil {
return err
}
// Include the hash algorithms we're using for pretty printing
hashesUsed := []string{}
for hashName := range targetHashes {
hashesUsed = append(hashesUsed, hashName)
}
cmd.Printf(
"Addition of target \"%s\" by %s hash to repository \"%s\" staged for next publish.\n",
targetName, strings.Join(hashesUsed, ", "), gun)
return maybeAutoPublish(cmd, t.autoPublish, gun, config, t.retriever)
}