mirror of
https://github.com/clearlinux/docker.git
synced 2026-09-06 13:41:36 +00:00
add setSubEnv and getSubEnv
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
This commit is contained in:
@@ -86,6 +86,28 @@ func (env *Env) GetList(key string) []string {
|
||||
return l
|
||||
}
|
||||
|
||||
func (env *Env) GetSubEnv(key string) *Env {
|
||||
sval := env.Get(key)
|
||||
if sval == "" {
|
||||
return nil
|
||||
}
|
||||
buf := bytes.NewBufferString(sval)
|
||||
var sub Env
|
||||
if err := sub.Decode(buf); err != nil {
|
||||
return nil
|
||||
}
|
||||
return &sub
|
||||
}
|
||||
|
||||
func (env *Env) SetSubEnv(key string, sub *Env) error {
|
||||
var buf bytes.Buffer
|
||||
if err := sub.Encode(&buf); err != nil {
|
||||
return err
|
||||
}
|
||||
env.Set(key, string(buf.Bytes()))
|
||||
return nil
|
||||
}
|
||||
|
||||
func (env *Env) GetJson(key string, iface interface{}) error {
|
||||
sval := env.Get(key)
|
||||
if sval == "" {
|
||||
|
||||
@@ -118,6 +118,14 @@ func (job *Job) SetenvBool(key string, value bool) {
|
||||
job.env.SetBool(key, value)
|
||||
}
|
||||
|
||||
func (job *Job) GetenvSubEnv(key string) *Env {
|
||||
return job.env.GetSubEnv(key)
|
||||
}
|
||||
|
||||
func (job *Job) SetenvSubEnv(key string, value *Env) error {
|
||||
return job.env.SetSubEnv(key, value)
|
||||
}
|
||||
|
||||
func (job *Job) GetenvInt64(key string) int64 {
|
||||
return job.env.GetInt64(key)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user