shithub: hugo

Download patch

ref: 4ddd5361c1ee9b8abbd1f1cb60395d0979127f03
parent: a0859dc67284988a397e265f7e83ea07357e9eb8
author: Bjørn Erik Pedersen <[email protected]>
date: Sat Jul 30 11:37:03 EDT 2016

Use the Afero source fs where relevant

Fixes #2319

--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -17,7 +17,6 @@
 
 import (
 	"fmt"
-	"io/ioutil"
 	"net/http"
 	"os"
 	"path/filepath"
@@ -971,19 +970,7 @@
 		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)
 
--- a/commands/undraft.go
+++ b/commands/undraft.go
@@ -20,6 +20,7 @@
 	"time"
 
 	"github.com/spf13/cobra"
+	"github.com/spf13/hugo/hugofs"
 	"github.com/spf13/hugo/parser"
 )
 
@@ -46,7 +47,7 @@
 
 	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 @@
 		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)
 	}
--- a/source/lazy_file_reader_test.go
+++ b/source/lazy_file_reader_test.go
@@ -16,7 +16,6 @@
 import (
 	"bytes"
 	"io"
-	"io/ioutil"
 	"os"
 	"testing"
 
@@ -60,7 +59,7 @@
 
 	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 @@
 	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 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)
--- a/tpl/template_resources.go
+++ b/tpl/template_resources.go
@@ -83,12 +83,8 @@
 		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 @@
 		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