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 }
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 }
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.") } } }