summary refs log tree commit diff stats
path: root/internal/storage/files
diff options
context:
space:
mode:
authorAlan Pearce2025-01-26 21:33:23 +0100
committerAlan Pearce2025-01-26 21:33:23 +0100
commite616014e22fca30cb6375352f70f73d234cb1f7c (patch)
treeffe6b3981569fe5e6861f066353021d75efac951 /internal/storage/files
parentabea3d93a675f0689d4a8833825546d7ac01942a (diff)
downloadwebsite-e616014e22fca30cb6375352f70f73d234cb1f7c.tar.lz
website-e616014e22fca30cb6375352f70f73d234cb1f7c.tar.zst
website-e616014e22fca30cb6375352f70f73d234cb1f7c.zip
move copyRecursive to builder
Diffstat (limited to 'internal/storage/files')
-rw-r--r--internal/storage/files/writer.go59
1 files changed, 12 insertions, 47 deletions
diff --git a/internal/storage/files/writer.go b/internal/storage/files/writer.go
index f0fe6a9..cd227c0 100644
--- a/internal/storage/files/writer.go
+++ b/internal/storage/files/writer.go
@@ -4,7 +4,6 @@ import (
 	"compress/gzip"
 	"context"
 	"io"
-	"io/fs"
 	"os"
 	"path/filepath"
 	"strings"
@@ -39,48 +38,16 @@ func NewWriter(outputDirectory string, logger *log.Logger, opts *Options) *Files
 	}
 }
 
-func (f *Files) CopyRecursive(src string) error {
-	return filepath.WalkDir(src, func(path string, d fs.DirEntry, err error) error {
-		if err != nil {
-			return err
-		}
-		rel, err := filepath.Rel(src, path)
-		if err != nil {
-			return err
-		}
-		if d.IsDir() {
-			return f.mkdirp(rel)
-		}
-
-		sf, err := os.Open(path)
-		if err != nil {
-			return err
-		}
-		defer sf.Close()
-		df, err := f.openFileAndVariants(filepath.Join(f.outputDirectory, rel))
-		if err != nil {
-			return err
-		}
-		defer df.Close()
-		if _, err := io.Copy(df, sf); err != nil {
-			return err
-		}
-
-		return nil
-	})
-}
-
 func (f *Files) Open(filename string) (io.ReadCloser, error) {
 	return os.Open(f.join(filename))
 }
 
 func (f *Files) OutputToFile(output io.Reader, filename string) error {
-	fn := f.join(filename)
-	if err := f.mkdirp(filepath.Dir(filename)); err != nil {
+	if err := f.Mkdirp(filepath.Dir(filename)); err != nil {
 		return err
 	}
-	f.log.Debug("outputting file", "filename", fn)
-	file, err := f.openFileAndVariants(fn)
+	f.log.Debug("outputting file", "filename", filename)
+	file, err := f.OpenFileAndVariants(filename)
 	if err != nil {
 		return errors.WithMessage(err, "could not open output file")
 	}
@@ -94,12 +61,11 @@ func (f *Files) OutputToFile(output io.Reader, filename string) error {
 }
 
 func (f *Files) RenderToFile(component templ.Component, filename string) error {
-	fn := f.join(filename)
-	if err := f.mkdirp(filepath.Dir(filename)); err != nil {
+	if err := f.Mkdirp(filepath.Dir(filename)); err != nil {
 		return err
 	}
 	f.log.Debug("outputting file", "filename", filename)
-	file, err := f.openFileAndVariants(fn)
+	file, err := f.OpenFileAndVariants(filename)
 	if err != nil {
 		return errors.WithMessage(err, "could not open output file")
 	}
@@ -113,12 +79,11 @@ func (f *Files) RenderToFile(component templ.Component, filename string) error {
 }
 
 func (f *Files) WriterToFile(writer io.WriterTo, filename string) error {
-	fn := f.join(filename)
-	if err := f.mkdirp(filepath.Dir(filename)); err != nil {
+	if err := f.Mkdirp(filepath.Dir(filename)); err != nil {
 		return err
 	}
-	f.log.Debug("outputting file", "filename", fn)
-	file, err := f.openFileAndVariants(fn)
+	f.log.Debug("outputting file", "filename", filename)
+	file, err := f.OpenFileAndVariants(filename)
 	if err != nil {
 		return errors.WithMessage(err, "could not open output file")
 	}
@@ -196,15 +161,15 @@ func multiOpenFile(filename string) (*MultiWriteCloser, error) {
 	}, nil
 }
 
-func (f *Files) openFileAndVariants(filename string) (io.WriteCloser, error) {
+func (f *Files) OpenFileAndVariants(filename string) (io.WriteCloser, error) {
 	if f.options.Compress {
-		return multiOpenFile(filename)
+		return multiOpenFile(f.join(filename))
 	}
 
-	return openFileWrite(filename)
+	return openFileWrite(f.join(filename))
 }
 
-func (f *Files) mkdirp(dir string) error {
+func (f *Files) Mkdirp(dir string) error {
 	f.log.Debug("creating directory", "dir", dir)
 	err := os.MkdirAll(filepath.Join(f.outputDirectory, dir), 0755)