本文整理汇总了Golang中github.com/JFrogDev/artifactory-cli-go/Godeps/_workspace/src/github.com/codegangsta/cli.Context类的典型用法代码示例。如果您正苦于以下问题:Golang Context类的具体用法?Golang Context怎么用?Golang Context使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Context类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: download
func download(c *cli.Context) {
initFlags(c, "download")
if len(c.Args()) != 1 {
utils.Exit("Wrong number of arguments. Try 'art download --help'.")
}
pattern := c.Args()[0]
commands.Download(pattern, flags)
}
示例2: config
func config(c *cli.Context) {
if len(c.Args()) > 1 {
utils.Exit("Wrong number of arguments. Try 'art config --help'.")
} else if len(c.Args()) == 1 {
if c.Args()[0] == "show" {
commands.ShowConfig()
} else if c.Args()[0] == "clear" {
commands.ClearConfig()
} else {
utils.Exit("Unknown argument '" + c.Args()[0] + "'. Available arguments are 'show' and 'clear'.")
}
} else {
initFlags(c, "config")
commands.Config(flags.ArtDetails, flags.Interactive, flags.EncPassword)
}
}
示例3: getArtifactoryDetails
func getArtifactoryDetails(c *cli.Context, includeConfig bool) *utils.ArtifactoryDetails {
details := new(utils.ArtifactoryDetails)
details.Url = c.String("url")
details.User = c.String("user")
details.Password = c.String("password")
if includeConfig {
if details.Url == "" || details.User == "" || details.Password == "" {
confDetails := commands.GetConfig()
if details.Url == "" {
details.Url = confDetails.Url
}
if details.User == "" {
details.User = confDetails.User
}
if details.Password == "" {
details.Password = confDetails.Password
}
}
}
if details.Url != "" && !strings.HasSuffix(details.Url, "/") {
details.Url += "/"
}
return details
}
示例4: upload
func upload(c *cli.Context) {
initFlags(c, "upload")
size := len(c.Args())
if size != 2 {
utils.Exit("Wrong number of arguments. Try 'art upload --help'.")
}
localPath := c.Args()[0]
targetPath := c.Args()[1]
commands.Upload(localPath, targetPath, flags)
}
示例5: upload
func upload(c *cli.Context) {
initFlags(c, "upload")
size := len(c.Args())
if size != 2 {
utils.Exit(utils.ExitCodeError, "Wrong number of arguments. Try 'art upload --help'.")
}
localPath := c.Args()[0]
targetPath := c.Args()[1]
uploaded, failed := commands.Upload(localPath, targetPath, flags)
if failed > 0 {
if uploaded > 0 {
utils.Exit(utils.ExitCodeWarning, "")
}
utils.Exit(utils.ExitCodeError, "")
}
}
示例6: getArtifactoryDetails
func getArtifactoryDetails(c *cli.Context, includeConfig bool) *utils.ArtifactoryDetails {
details := new(utils.ArtifactoryDetails)
details.Url = c.String("url")
details.User = c.String("user")
details.Password = c.String("password")
if includeConfig {
if details.Url == "" || details.User == "" || details.Password == "" {
confDetails := commands.GetConfig()
if details.Url == "" {
details.Url = confDetails.Url
}
if details.User == "" {
details.User = confDetails.User
}
if details.Password == "" {
details.Password = confDetails.Password
}
}
}
details.Url = utils.AddTrailingSlashIfNeeded(details.Url)
return details
}
示例7: initFlags
func initFlags(c *cli.Context, cmd string) {
if c.String("recursive") == "" {
flags.Recursive = true
} else {
flags.Recursive = c.Bool("recursive")
}
if c.String("interactive") == "" {
flags.Interactive = true
} else {
flags.Interactive = c.Bool("interactive")
}
if c.String("enc-password") == "" {
flags.EncPassword = true
} else {
flags.EncPassword = c.Bool("enc-password")
}
if cmd == "config" {
flags.ArtDetails = getArtifactoryDetails(c, false)
if !flags.Interactive && flags.ArtDetails.Url == "" {
utils.Exit("The --url option is mandatory when the --interactive option is set to false")
}
} else {
flags.ArtDetails = getArtifactoryDetails(c, true)
if flags.ArtDetails.Url == "" {
utils.Exit("The --url option is mandatory")
}
}
strFlat := c.String("flat")
if cmd == "upload" {
if strFlat == "" {
flags.Flat = true
} else {
flags.Flat, _ = strconv.ParseBool(strFlat)
}
} else {
if strFlat == "" {
flags.Flat = false
} else {
flags.Flat, _ = strconv.ParseBool(strFlat)
}
}
flags.Deb = c.String("deb")
if flags.Deb != "" && len(strings.Split(flags.Deb, "/")) != 3 {
utils.Exit("The --deb option should be in the form of distribution/component/architecture")
}
flags.Props = c.String("props")
flags.DryRun = c.Bool("dry-run")
flags.UseRegExp = c.Bool("regexp")
var err error
if c.String("threads") == "" {
flags.Threads = 3
} else {
flags.Threads, err = strconv.Atoi(c.String("threads"))
if err != nil || flags.Threads < 1 {
utils.Exit("The '--threads' option should have a numeric positive value.")
}
}
if c.String("min-split") == "" {
flags.MinSplitSize = 5120
} else {
flags.MinSplitSize, err = strconv.ParseInt(c.String("min-split"), 10, 64)
if err != nil {
utils.Exit("The '--min-split' option should have a numeric value. Try 'art download --help'.")
}
}
if c.String("split-count") == "" {
flags.SplitCount = 3
} else {
flags.SplitCount, err = strconv.Atoi(c.String("split-count"))
if err != nil {
utils.Exit("The '--split-count' option should have a numeric value. Try 'art download --help'.")
}
if flags.SplitCount > 15 {
utils.Exit("The '--split-count' option value is limitted to a maximum of 15.")
}
if flags.SplitCount < 0 {
utils.Exit("The '--split-count' option cannot have a negative value.")
}
}
}