X-Git-Url: http://www.git.cypherpunks.ru/?p=nncp.git;a=blobdiff_plain;f=src%2Fcfgdir.go;h=de45a7d10a546428a6e4a614c0da165b6352a9e5;hp=a68699173cce1ffbe6f9856a30fb028e35e34cb5;hb=e068d88291cd45a4d6b748e258077dd6c0ffb9c2;hpb=655146e4ee2bde72c9e8daa1361010fefe016df9 diff --git a/src/cfgdir.go b/src/cfgdir.go index a686991..de45a7d 100644 --- a/src/cfgdir.go +++ b/src/cfgdir.go @@ -418,6 +418,17 @@ func CfgToDir(dst string, cfg *CfgJSON) (err error) { } } + if len(cfg.YggdrasilAliases) > 0 { + if err = cfgDirMkdir(dst, "yggdrasil-aliases"); err != nil { + return + } + for alias, v := range cfg.YggdrasilAliases { + if err = cfgDirSave(v, dst, "yggdrasil-aliases", alias); err != nil { + return + } + } + } + return } @@ -905,5 +916,24 @@ func DirToCfg(src string) (*CfgJSON, error) { cfg.Areas[n] = area } + fis, err = ioutil.ReadDir(filepath.Join(src, "yggdrasil-aliases")) + if err != nil && !os.IsNotExist(err) { + return nil, err + } + if len(fis) > 0 { + cfg.YggdrasilAliases = make(map[string]string, len(fis)) + } + for _, fi := range fis { + n := fi.Name() + if n[0] == '.' { + continue + } + b, err := ioutil.ReadFile(filepath.Join(src, "yggdrasil-aliases", fi.Name())) + if err != nil { + return nil, err + } + cfg.YggdrasilAliases[n] = strings.TrimSuffix(string(b), "\n") + } + return &cfg, nil }