init: pristine aerc 0.20.0 source
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package lib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
"github.com/go-ini/ini"
|
||||
)
|
||||
|
||||
func ParseFolderMap(r io.Reader) (map[string]string, []string, error) {
|
||||
cfg, err := ini.Load(r)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
sec, err := cfg.GetSection("")
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
order := sec.KeyStrings()
|
||||
|
||||
for _, k := range order {
|
||||
v, err := sec.GetKey(k)
|
||||
switch {
|
||||
case v.String() == "":
|
||||
return nil, nil, fmt.Errorf("no value for key '%s'", k)
|
||||
case err != nil:
|
||||
return nil, nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return sec.KeysHash(), order, nil
|
||||
}
|
||||
Reference in New Issue
Block a user