Use the Afero source fs where relevant
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 30 Jul 2016 13:37:03 +0000 (15:37 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 30 Jul 2016 13:37:03 +0000 (15:37 +0200)
Fixes #2319

commands/hugo.go
commands/undraft.go
source/lazy_file_reader_test.go
tpl/template_resources.go

index f05b3da65f3e0dd25d4c9f2865c80b5fd3b0dceb..1b2b3b3c73440649f88acd76b836b0ad080f4ac4 100644 (file)
@@ -17,7 +17,6 @@ package commands
 
 import (
        "fmt"
-       "io/ioutil"
        "net/http"
        "os"
        "path/filepath"
@@ -971,19 +970,7 @@ func isThemeVsHugoVersionMismatch() (mismatch bool, requiredMinVersion string) {
                return
        }
 
-       f, err := fs.Open(path)
-
-       if err != nil {
-               return
-       }
-
-       defer f.Close()
-
-       b, err := ioutil.ReadAll(f)
-
-       if err != nil {
-               return
-       }
+       b, err := afero.ReadFile(fs, path)
 
        c, err := parser.HandleTOMLMetaData(b)
 
index c9f2b24d72f2f63666b908d3f13cf360becfd06c..c7a248a7145196f1db79e6610d8b1ec7fa0e4940 100644 (file)
@@ -20,6 +20,7 @@ import (
        "time"
 
        "github.com/spf13/cobra"
+       "github.com/spf13/hugo/hugofs"
        "github.com/spf13/hugo/parser"
 )
 
@@ -46,7 +47,7 @@ func Undraft(cmd *cobra.Command, args []string) error {
 
        location := args[0]
        // open the file
-       f, err := os.Open(location)
+       f, err := hugofs.Source().Open(location)
        if err != nil {
                return err
        }
@@ -63,7 +64,7 @@ func Undraft(cmd *cobra.Command, args []string) error {
                return newSystemErrorF("an error occurred while undrafting %q: %s", location, err)
        }
 
-       f, err = os.OpenFile(location, os.O_WRONLY|os.O_TRUNC, 0644)
+       f, err = hugofs.Source().OpenFile(location, os.O_WRONLY|os.O_TRUNC, 0644)
        if err != nil {
                return newSystemErrorF("%q not be undrafted due to error opening file to save changes: %q\n", location, err)
        }
index 5522c9f1bef360370bd54c134420de2ce61de251..778a9513be9c05aa0732dbd4b9fbd20005dad3f5 100644 (file)
@@ -16,7 +16,6 @@ package source
 import (
        "bytes"
        "io"
-       "io/ioutil"
        "os"
        "testing"
 
@@ -60,7 +59,7 @@ func TestRead(t *testing.T) {
 
        b, err := afero.ReadFile(fs, filename)
        if err != nil {
-               t.Fatalf("ioutil.ReadFile: %v", err)
+               t.Fatalf("afero.ReadFile: %v", err)
        }
 
        rd, err := NewLazyFileReader(fs, filename)
@@ -101,7 +100,7 @@ func TestSeek(t *testing.T) {
        filename := "lazy_file_reader_test.go"
        b, err := afero.ReadFile(fs, filename)
        if err != nil {
-               t.Fatalf("ioutil.ReadFile: %v", err)
+               t.Fatalf("afero.ReadFile: %v", err)
        }
 
        // no cache case
@@ -192,14 +191,14 @@ func TestSeek(t *testing.T) {
 func TestWriteTo(t *testing.T) {
        fs := afero.NewOsFs()
        filename := "lazy_file_reader_test.go"
-       fi, err := os.Stat(filename)
+       fi, err := fs.Stat(filename)
        if err != nil {
                t.Fatalf("os.Stat: %v", err)
        }
 
-       b, err := ioutil.ReadFile(filename)
+       b, err := afero.ReadFile(fs, filename)
        if err != nil {
-               t.Fatalf("ioutil.ReadFile: %v", err)
+               t.Fatalf("afero.ReadFile: %v", err)
        }
 
        rd, err := NewLazyFileReader(fs, filename)
index 07451734d5350ca9c9a48149fbe14c874ab6ed56..eb470b3db4ac89caaba4fcd3ae156305d18a94c8 100644 (file)
@@ -83,12 +83,8 @@ func resGetCache(id string, fs afero.Fs, ignoreCache bool) ([]byte, error) {
                return nil, nil
        }
 
-       f, err := fs.Open(fID)
-       if err != nil {
-               return nil, err
-       }
-       defer f.Close()
-       return ioutil.ReadAll(f)
+       return afero.ReadFile(fs, fID)
+
 }
 
 // resWriteCache writes bytes to an ID into the file cache
@@ -165,12 +161,8 @@ func resGetLocal(url string, fs afero.Fs) ([]byte, error) {
                return nil, err
        }
 
-       f, err := fs.Open(filename)
-       if err != nil {
-               return nil, err
-       }
-       defer f.Close()
-       return ioutil.ReadAll(f)
+       return afero.ReadFile(fs, filename)
+
 }
 
 // resGetResource loads the content of a local or remote file