summaryrefslogtreecommitdiffstats
path: root/commands/import_jekyll.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/import_jekyll.go')
-rw-r--r--commands/import_jekyll.go71
1 files changed, 8 insertions, 63 deletions
diff --git a/commands/import_jekyll.go b/commands/import_jekyll.go
index 1d37cfd9d..e5c39dc34 100644
--- a/commands/import_jekyll.go
+++ b/commands/import_jekyll.go
@@ -17,7 +17,6 @@ import (
"bytes"
"errors"
"fmt"
- "io"
"io/ioutil"
"os"
"path/filepath"
@@ -27,6 +26,8 @@ import (
"time"
"unicode"
+ "github.com/gohugoio/hugo/common/hugio"
+
"github.com/gohugoio/hugo/parser/metadecoders"
"github.com/gohugoio/hugo/helpers"
@@ -113,7 +114,7 @@ func (i *importCmd) importFromJekyll(cmd *cobra.Command, args []string) error {
jww.FEEDBACK.Println("Importing...")
fileCount := 0
- callback := func(path string, fi os.FileInfo, err error) error {
+ callback := func(path string, fi hugofs.FileMetaInfo, err error) error {
if err != nil {
return err
}
@@ -302,66 +303,10 @@ func (i *importCmd) createConfigFromJekyll(fs afero.Fs, inpath string, kind meta
return helpers.WriteToDisk(filepath.Join(inpath, "config."+string(kind)), &buf, fs)
}
-func copyFile(source string, dest string) error {
- sf, err := os.Open(source)
- if err != nil {
- return err
- }
- defer sf.Close()
- df, err := os.Create(dest)
- if err != nil {
- return err
- }
- defer df.Close()
- _, err = io.Copy(df, sf)
- if err == nil {
- si, err := os.Stat(source)
- if err != nil {
- err = os.Chmod(dest, si.Mode())
-
- if err != nil {
- return err
- }
- }
-
- }
- return nil
-}
-
-func copyDir(source string, dest string) error {
- fi, err := os.Stat(source)
- if err != nil {
- return err
- }
- if !fi.IsDir() {
- return errors.New(source + " is not a directory")
- }
- err = os.MkdirAll(dest, fi.Mode())
- if err != nil {
- return err
- }
- entries, _ := ioutil.ReadDir(source)
- for _, entry := range entries {
- sfp := filepath.Join(source, entry.Name())
- dfp := filepath.Join(dest, entry.Name())
- if entry.IsDir() {
- err = copyDir(sfp, dfp)
- if err != nil {
- jww.ERROR.Println(err)
- }
- } else {
- err = copyFile(sfp, dfp)
- if err != nil {
- jww.ERROR.Println(err)
- }
- }
-
- }
- return nil
-}
-
func (i *importCmd) copyJekyllFilesAndFolders(jekyllRoot, dest string, jekyllPostDirs map[string]bool) (err error) {
- fi, err := os.Stat(jekyllRoot)
+ fs := hugofs.Os
+
+ fi, err := fs.Stat(jekyllRoot)
if err != nil {
return err
}
@@ -383,7 +328,7 @@ func (i *importCmd) copyJekyllFilesAndFolders(jekyllRoot, dest string, jekyllPos
if entry.IsDir() {
if entry.Name()[0] != '_' && entry.Name()[0] != '.' {
if _, ok := jekyllPostDirs[entry.Name()]; !ok {
- err = copyDir(sfp, dfp)
+ err = hugio.CopyDir(fs, sfp, dfp, nil)
if err != nil {
jww.ERROR.Println(err)
}
@@ -402,7 +347,7 @@ func (i *importCmd) copyJekyllFilesAndFolders(jekyllRoot, dest string, jekyllPos
}
if !isExcept && entry.Name()[0] != '.' && entry.Name()[0] != '_' {
- err = copyFile(sfp, dfp)
+ err = hugio.CopyFile(fs, sfp, dfp)
if err != nil {
jww.ERROR.Println(err)
}