2ba12ad1 by astaxie

config read and set support Runmode

1 parent 8cc57e2f
Showing 1 changed file with 28 additions and 0 deletions
...@@ -98,6 +98,10 @@ func newAppConfig(AppConfigProvider, AppConfigPath string) (*beegoAppConfig, err ...@@ -98,6 +98,10 @@ func newAppConfig(AppConfigProvider, AppConfigPath string) (*beegoAppConfig, err
98 } 98 }
99 99
100 func (b *beegoAppConfig) Set(key, val string) error { 100 func (b *beegoAppConfig) Set(key, val string) error {
101 err := b.innerConfig.Set(RunMode+"::"+key, val)
102 if err == nil {
103 return err
104 }
101 return b.innerConfig.Set(key, val) 105 return b.innerConfig.Set(key, val)
102 } 106 }
103 107
...@@ -150,26 +154,50 @@ func (b *beegoAppConfig) Float(key string) (float64, error) { ...@@ -150,26 +154,50 @@ func (b *beegoAppConfig) Float(key string) (float64, error) {
150 } 154 }
151 155
152 func (b *beegoAppConfig) DefaultString(key string, defaultval string) string { 156 func (b *beegoAppConfig) DefaultString(key string, defaultval string) string {
157 v := b.String(key)
158 if v != "" {
159 return v
160 }
153 return b.innerConfig.DefaultString(key, defaultval) 161 return b.innerConfig.DefaultString(key, defaultval)
154 } 162 }
155 163
156 func (b *beegoAppConfig) DefaultStrings(key string, defaultval []string) []string { 164 func (b *beegoAppConfig) DefaultStrings(key string, defaultval []string) []string {
165 v := b.Strings(key)
166 if len(v) != 0 {
167 return v
168 }
157 return b.innerConfig.DefaultStrings(key, defaultval) 169 return b.innerConfig.DefaultStrings(key, defaultval)
158 } 170 }
159 171
160 func (b *beegoAppConfig) DefaultInt(key string, defaultval int) int { 172 func (b *beegoAppConfig) DefaultInt(key string, defaultval int) int {
173 v, err := b.Int(key)
174 if err == nil {
175 return v
176 }
161 return b.innerConfig.DefaultInt(key, defaultval) 177 return b.innerConfig.DefaultInt(key, defaultval)
162 } 178 }
163 179
164 func (b *beegoAppConfig) DefaultInt64(key string, defaultval int64) int64 { 180 func (b *beegoAppConfig) DefaultInt64(key string, defaultval int64) int64 {
181 v, err := b.Int64(key)
182 if err == nil {
183 return v
184 }
165 return b.innerConfig.DefaultInt64(key, defaultval) 185 return b.innerConfig.DefaultInt64(key, defaultval)
166 } 186 }
167 187
168 func (b *beegoAppConfig) DefaultBool(key string, defaultval bool) bool { 188 func (b *beegoAppConfig) DefaultBool(key string, defaultval bool) bool {
189 v, err := b.Bool(key)
190 if err == nil {
191 return v
192 }
169 return b.innerConfig.DefaultBool(key, defaultval) 193 return b.innerConfig.DefaultBool(key, defaultval)
170 } 194 }
171 195
172 func (b *beegoAppConfig) DefaultFloat(key string, defaultval float64) float64 { 196 func (b *beegoAppConfig) DefaultFloat(key string, defaultval float64) float64 {
197 v, err := b.Float(key)
198 if err == nil {
199 return v
200 }
173 return b.innerConfig.DefaultFloat(key, defaultval) 201 return b.innerConfig.DefaultFloat(key, defaultval)
174 } 202 }
175 203
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!