From 58f8b43feed9a487e63b61352226d934743ebafe Mon Sep 17 00:00:00 2001 From: spf13 Date: Thu, 1 May 2014 13:13:11 -0400 Subject: [PATCH] moving writeToDisk to helpers to make it more accessible --- helpers/path.go | 23 +++++++++++++++++++++++ target/file.go | 27 +++------------------------ target/htmlredirect.go | 5 +++-- 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/helpers/path.go b/helpers/path.go index 1573204e2..e71302617 100644 --- a/helpers/path.go +++ b/helpers/path.go @@ -15,12 +15,14 @@ package helpers import ( "fmt" + "io" "os" "path" "path/filepath" "regexp" "strings" "unicode" + "github.com/spf13/viper" ) @@ -151,3 +153,24 @@ func FindCWD() (string, error) { return path, nil } + +func WriteToDisk(inpath string, r io.Reader) (err error) { + dir, _ := filepath.Split(inpath) + ospath := filepath.FromSlash(dir) + + if ospath != "" { + err = os.MkdirAll(ospath, 0777) // rwx, rw, r + if err != nil { + panic(err) + } + } + + file, err := os.Create(inpath) + if err != nil { + return + } + defer file.Close() + + _, err = io.Copy(file, r) + return +} diff --git a/target/file.go b/target/file.go index f3d2b0b62..f70558098 100644 --- a/target/file.go +++ b/target/file.go @@ -3,9 +3,9 @@ package target import ( "fmt" "io" - "os" "path" - "path/filepath" + + "github.com/spf13/hugo/helpers" ) type Publisher interface { @@ -34,28 +34,7 @@ func (fs *Filesystem) Publish(path string, r io.Reader) (err error) { return } - return writeToDisk(translated, r) -} - -func writeToDisk(translated string, r io.Reader) (err error) { - path, _ := filepath.Split(translated) - ospath := filepath.FromSlash(path) - - if ospath != "" { - err = os.MkdirAll(ospath, 0777) // rwx, rw, r - if err != nil { - panic(err) - } - } - - file, err := os.Create(translated) - if err != nil { - return - } - defer file.Close() - - _, err = io.Copy(file, r) - return + return helpers.WriteToDisk(translated, r) } func (fs *Filesystem) Translate(src string) (dest string, err error) { diff --git a/target/htmlredirect.go b/target/htmlredirect.go index 55f4896e1..73a769f87 100644 --- a/target/htmlredirect.go +++ b/target/htmlredirect.go @@ -2,10 +2,11 @@ package target import ( "bytes" - "github.com/spf13/hugo/helpers" "html/template" "path" "strings" + + "github.com/spf13/hugo/helpers" ) const ALIAS = "" @@ -67,5 +68,5 @@ func (h *HTMLRedirectAlias) Publish(path string, permalink template.HTML) (err e return } - return writeToDisk(path, buffer) + return helpers.WriteToDisk(path, buffer) }