本文整理汇总了Golang中github.com/jrperritt/rack/internal/github.com/codegangsta/cli.Context.GlobalIsSet方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.GlobalIsSet方法的具体用法?Golang Context.GlobalIsSet怎么用?Golang Context.GlobalIsSet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jrperritt/rack/internal/github.com/codegangsta/cli.Context
的用法示例。
在下文中一共展示了Context.GlobalIsSet方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: configfile
func configfile(c *cli.Context, have map[string]authCred, need map[string]string) error {
dir, err := util.RackDir()
if err != nil {
// return fmt.Errorf("Error retrieving rack directory: %s\n", err)
return nil
}
f := path.Join(dir, "config")
cfg, err := ini.Load(f)
if err != nil {
// return fmt.Errorf("Error loading config file: %s\n", err)
return nil
}
cfg.BlockMode = false
var profile string
if c.GlobalIsSet("profile") {
profile = c.GlobalString("profile")
} else if c.IsSet("profile") {
profile = c.String("profile")
}
section, err := cfg.GetSection(profile)
if err != nil && profile != "" {
return fmt.Errorf("Invalid config file profile: %s\n", profile)
}
for opt := range need {
if val := section.Key(opt).String(); val != "" {
have[opt] = authCred{value: val, from: fmt.Sprintf("config file (profile: %s)", section.Name())}
delete(need, opt)
}
}
return nil
}
示例2: cliopts
func cliopts(c *cli.Context, have map[string]authCred, need map[string]string) {
for opt := range need {
if c.GlobalIsSet(opt) {
have[opt] = authCred{value: c.GlobalString(opt), from: "command-line"}
delete(need, opt)
} else if c.IsSet(opt) {
have[opt] = authCred{value: c.String(opt), from: "command-line"}
delete(need, opt)
}
}
}
示例3: NewClient
// NewClient creates and returns a Rackspace client for the given service.
func NewClient(c *cli.Context, serviceType string, logger *logrus.Logger) (*gophercloud.ServiceClient, error) {
// get the user's authentication credentials
ao, region, err := Credentials(c, logger)
if err != nil {
return nil, err
}
if c.GlobalIsSet("no-cache") || c.IsSet("no-cache") {
return authFromScratch(*ao, region, serviceType, logger)
}
// form the cache key
cacheKey := CacheKey(*ao, region, serviceType)
// initialize cache
cache := &Cache{}
// get the value from the cache
creds, err := cache.Value(cacheKey)
// if there was an error accessing the cache or there was nothing in the cache,
// authenticate from scratch
if err == nil && creds != nil {
// we successfully retrieved a value from the cache
logger.Infof("Using token from cache: %s\n", creds.TokenID)
pc, err := rackspace.NewClient(ao.IdentityEndpoint)
if err == nil {
pc.TokenID = creds.TokenID
pc.ReauthFunc = reauthFunc(pc, *ao)
pc.UserAgent.Prepend(util.UserAgent)
pc.HTTPClient = NewHTTPClient()
return &gophercloud.ServiceClient{
ProviderClient: pc,
Endpoint: creds.ServiceEndpoint,
}, nil
}
} else {
return authFromScratch(*ao, region, serviceType, logger)
}
return nil, nil
}