From f8ae24af2248977d3464d85812ad44abd493b55c Mon Sep 17 00:00:00 2001 From: Hugo Landau Date: Wed, 24 Dec 2014 17:05:17 +0000 Subject: [PATCH] refactor --- .travis.yml | 1 + ncdomain/convert.go | 10 +++++----- server/serverinfo.go | 21 ++------------------- server/web.go | 16 +++++++++------- 4 files changed, 17 insertions(+), 31 deletions(-) diff --git a/.travis.yml b/.travis.yml index 15a9a92..a4f6965 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,3 +9,4 @@ notifications: irc: channels: - "chat.freenode.net##hl-t" + skip_join: true diff --git a/ncdomain/convert.go b/ncdomain/convert.go index 2d62920..f33d091 100644 --- a/ncdomain/convert.go +++ b/ncdomain/convert.go @@ -671,6 +671,11 @@ func parseImportImpl(rv map[string]interface{}, val *Value, resolve ResolveFunc, } } + if _, ok := mergedNames[k]; ok { + // already merged + continue + } + // ok var dv string dv, err = resolve(k) @@ -678,11 +683,6 @@ func parseImportImpl(rv map[string]interface{}, val *Value, resolve ResolveFunc, continue } - if _, ok := mergedNames[k]; ok { - // already merged - continue - } - mergedNames[k] = struct{}{} err = parseMerge(rv, dv, val, resolve, errFunc, depth, mergeDepth+1, subs, relname, mergedNames) diff --git a/server/serverinfo.go b/server/serverinfo.go index 257dbf0..35245ea 100644 --- a/server/serverinfo.go +++ b/server/serverinfo.go @@ -1,28 +1,11 @@ package server -import "os" -import "net" - -var hostname string - -func init() { - names, err := net.LookupAddr("127.0.0.1") - if err != nil || len(names) == 0 { - hn, err := os.Hostname() - if err != nil { - panic(err) - } - hostname = hn - return - } - - hostname = names[0] -} +import denet "github.com/hlandau/degoutils/net" func (s *Server) ServerName() string { n := s.cfg.SelfName if n == "" { - n = hostname + n = denet.Hostname() } return n } diff --git a/server/web.go b/server/web.go index 25b99fa..5d73044 100644 --- a/server/web.go +++ b/server/web.go @@ -7,6 +7,7 @@ import "github.com/hlandau/ncdns/util" import "github.com/hlandau/ncdns/ncdomain" import "github.com/miekg/dns" import "github.com/kr/pretty" +import "path/filepath" import "time" import "strings" import "fmt" @@ -18,7 +19,7 @@ var lookupPageTpl *template.Template var tplSetFlag = flag.String("tplset", "std", "Subdirectory of tpl/ to look for templates in (default: std)") -func initTemplates() error { +func initTemplates(configDir string) error { if lookupPageTpl != nil { return nil } @@ -28,17 +29,17 @@ func initTemplates() error { } var err error - layoutTpl, err = template.ParseFiles(tplFilename("layout")) + layoutTpl, err = template.ParseFiles(tplFilename(configDir, "layout")) if err != nil { return err } - mainPageTpl, err = deriveTemplate(tplFilename("main")) + mainPageTpl, err = deriveTemplate(tplFilename(configDir, "main")) if err != nil { return err } - lookupPageTpl, err = deriveTemplate(tplFilename("lookup")) + lookupPageTpl, err = deriveTemplate(tplFilename(configDir, "lookup")) if err != nil { return err } @@ -54,8 +55,9 @@ func deriveTemplate(filename string) (*template.Template, error) { return cl.ParseFiles(filename) } -func tplFilename(filename string) string { - return "tpl/" + *tplSetFlag + "/" + filename + ".tpl" +func tplFilename(configDir, filename string) string { + s := "tpl/" + *tplSetFlag + "/" + filename + ".tpl" + return filepath.Join(configDir, "..", s) } type webServer struct { @@ -198,7 +200,7 @@ func clearAllCookies(rw http.ResponseWriter, req *http.Request) { } func webStart(listenAddr string, server *Server) error { - err := initTemplates() + err := initTemplates(server.cfg.ConfigDir) if err != nil { return err }