cmd/config.go
changeset 91 02312ccc1fd3
parent 83 57afac822019
child 110 57843255fd1a
equal deleted inserted replaced
90:b1da6dc9f689 91:02312ccc1fd3
    40 		Short:   "Display user token",
    40 		Short:   "Display user token",
    41 		RunE: func(cmd *cobra.Command, args []string) error {
    41 		RunE: func(cmd *cobra.Command, args []string) error {
    42 			return configDisplayToken()
    42 			return configDisplayToken()
    43 		},
    43 		},
    44 	},
    44 	},
       
    45 	&cobra.Command{
       
    46 		Use: "themes",
       
    47 		//Aliases: []string{},
       
    48 		Short: "Display available themes",
       
    49 		RunE: func(cmd *cobra.Command, args []string) error {
       
    50 			return configDisplayThemes()
       
    51 		},
       
    52 	},
    45 }
    53 }
    46 
    54 
    47 const configurationTemplate = `---
    55 const configurationTemplate = `---
    48 instance: '{{.InstanceURL}}'
    56 instance: '{{.InstanceURL}}'
    49 app_id: '{{.ID}}'
    57 app_id: '{{.ID}}'
    66 		return err
    74 		return err
    67 	}
    75 	}
    68 	// Try to sign in if a login was provided
    76 	// Try to sign in if a login was provided
    69 	if viper.GetString("token") != "" || viper.GetString("login") != "" {
    77 	if viper.GetString("token") != "" || viper.GetString("login") != "" {
    70 		if err := madonLogin(); err != nil {
    78 		if err := madonLogin(); err != nil {
    71 			errPrint("Error: could not log in: %s", err)
    79 			errPrint("Error: could not log in: %v", err)
    72 			os.Exit(-1)
    80 			os.Exit(-1)
    73 		}
    81 		}
    74 	}
    82 	}
    75 
    83 
    76 	var p printer.ResourcePrinter
    84 	var p printer.ResourcePrinter
    87 		p, err = printer.NewPrinterTemplate(pOptions)
    95 		p, err = printer.NewPrinterTemplate(pOptions)
    88 	} else {
    96 	} else {
    89 		p, err = getPrinter()
    97 		p, err = getPrinter()
    90 	}
    98 	}
    91 	if err != nil {
    99 	if err != nil {
    92 		errPrint("Error: %s", err.Error())
   100 		errPrint("Error: %v", err)
    93 		os.Exit(1)
   101 		os.Exit(1)
    94 	}
   102 	}
    95 	return p.PrintObj(gClient, nil, "")
   103 	return p.PrintObj(gClient, nil, "")
    96 }
   104 }
    97 
   105 
   105 		return err
   113 		return err
   106 	}
   114 	}
   107 
   115 
   108 	p, err := getPrinter()
   116 	p, err := getPrinter()
   109 	if err != nil {
   117 	if err != nil {
   110 		errPrint("Error: %s", err.Error())
   118 		errPrint("Error: %v", err)
   111 		os.Exit(1)
   119 		os.Exit(1)
   112 	}
   120 	}
   113 	return p.PrintObj(gClient.UserToken, nil, "")
   121 	return p.PrintObj(gClient.UserToken, nil, "")
   114 }
   122 }
       
   123 
       
   124 // configDisplayThemes lists the available themes
       
   125 // It is intended for shell completion.
       
   126 func configDisplayThemes() error {
       
   127 	var p printer.ResourcePrinter
       
   128 
       
   129 	themes, err := getThemes()
       
   130 	if err != nil {
       
   131 		errPrint("Error: %v", err)
       
   132 		os.Exit(1)
       
   133 	}
       
   134 
       
   135 	if getOutputFormat() == "plain" {
       
   136 		pOptions := printer.Options{"template": `{{printf "%s\n" .}}`}
       
   137 		p, err = printer.NewPrinterTemplate(pOptions)
       
   138 	} else {
       
   139 		p, err = getPrinter()
       
   140 	}
       
   141 	if err != nil {
       
   142 		errPrint("Error: %v", err)
       
   143 		os.Exit(1)
       
   144 	}
       
   145 	return p.PrintObj(themes, nil, "")
       
   146 }