本文整理汇总了Golang中github.com/jrperritt/rack/internal/github.com/codegangsta/cli.Context类的典型用法代码示例。如果您正苦于以下问题:Golang Context类的具体用法?Golang Context怎么用?Golang Context使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Context类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestApp_RunAsSubcommandParseFlags
func TestApp_RunAsSubcommandParseFlags(t *testing.T) {
var context *cli.Context
a := cli.NewApp()
a.Commands = []cli.Command{
{
Name: "foo",
Action: func(c *cli.Context) {
context = c
},
Flags: []cli.Flag{
cli.StringFlag{
Name: "lang",
Value: "english",
Usage: "language for the greeting",
},
},
Before: func(_ *cli.Context) error { return nil },
},
}
a.Run([]string{"", "foo", "--lang", "spanish", "abcd"})
expect(t, context.Args().Get(0), "abcd")
expect(t, context.String("lang"), "spanish")
}
开发者ID:hdansou,项目名称:rack,代码行数:25,代码来源:app_test.go
示例2: CLIopts
func CLIopts(c *cli.Context, have map[string]Cred, need map[string]string) {
for opt := range need {
if c.IsSet(opt) {
have[opt] = Cred{Value: c.String(opt), From: "command-line"}
delete(need, opt)
}
}
}
开发者ID:harshalhshah,项目名称:rack,代码行数:8,代码来源:cliopts.go
示例3: 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
}
开发者ID:hdansou,项目名称:rack,代码行数:32,代码来源:configfile.go
示例4: 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)
}
}
}
开发者ID:hdansou,项目名称:rack,代码行数:11,代码来源:cliopts.go
示例5: 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
}
开发者ID:jamiehannaford,项目名称:rack,代码行数:40,代码来源:clients.go
示例6: ConfigFile
func ConfigFile(c *cli.Context, have map[string]Cred, need map[string]string) error {
var profile string
if c.IsSet("profile") {
profile = c.String("profile")
}
section, err := ProfileSection(profile)
if err != nil {
return err
}
if section == nil {
return nil
}
for opt := range need {
if val := section.Key(opt).String(); val != "" {
have[opt] = Cred{Value: val, From: fmt.Sprintf("config file (profile: %s)", section.Name())}
delete(need, opt)
}
}
if profile != "" {
section, err := ProfileSection("")
if err != nil {
return err
}
for opt := range need {
if val := section.Key(opt).String(); val != "" {
have[opt] = Cred{Value: val, From: fmt.Sprintf("config file (profile: default)")}
delete(need, opt)
}
}
}
return nil
}
开发者ID:harshalhshah,项目名称:rack,代码行数:38,代码来源:configfile.go
注:本文中的github.com/jrperritt/rack/internal/github.com/codegangsta/cli.Context类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论