| 320 | } |
| 321 | |
| 322 | func (c *configFileSettings) StringSlice(name string) ([]string, error) { |
| 323 | if raw, ok := c.Settings[name]; ok { |
| 324 | if slice, ok := raw.([]interface{}); ok { |
| 325 | strSlice := make([]string, len(slice)) |
| 326 | for i, v := range slice { |
| 327 | str, ok := v.(string) |
| 328 | if !ok { |
| 329 | return nil, fmt.Errorf("expected string, found %T for %v", i, v) |
| 330 | } |
| 331 | strSlice[i] = str |
| 332 | } |
| 333 | return strSlice, nil |
| 334 | } |
| 335 | return nil, fmt.Errorf("expected string slice found %T for %s", raw, name) |
| 336 | } |
| 337 | return nil, nil |
| 338 | } |
| 339 | |
| 340 | func (c *configFileSettings) IntSlice(name string) ([]int, error) { |
| 341 | if raw, ok := c.Settings[name]; ok { |