@@ 4,14 4,9 @@
package barefeed
import (
- "archive/tar"
- "compress/gzip"
"fmt"
- "io"
"os"
"path/filepath"
- "strings"
- "time"
"git.sr.ht/~sircmpwn/go-bare"
)
@@ 37,121 32,121 @@ type Exporter struct {
// NewImporter creates the importer based on the source path to the barefeed
// file.
-func NewImporter(source ...string) *Importer {
- return &Importer{Path: filepath.Join(source...)}
-}
+//func NewImporter(source ...string) *Importer {
+// return &Importer{Path: filepath.Join(source...)}
+//}
// Import a barefeed file to the target location
-func (d *Importer) Import(target ...string) (err error) {
- var f *os.File
- f, err = os.Open(filepath.Clean(d.Path))
- if err != nil {
- return
- }
-
- defer func() {
- err = f.Close()
- }()
-
- var gzf *gzip.Reader
- gzf, err = gzip.NewReader(f)
- if err != nil {
- return
- }
-
- defer func() {
- err = gzf.Close()
- }()
-
- p := filepath.Join(target...)
- p = filepath.Join(p, "barefeed")
-
- tf := tar.NewReader(gzf)
- for {
- var exit bool
- if exit, err = writeFromArchive(tf, p); err != nil {
- return
- } else if exit {
- break
- }
- }
-
- return
-}
+//func (d *Importer) Import(target ...string) (err error) {
+// var f *os.File
+// f, err = os.Open(filepath.Clean(d.Path))
+// if err != nil {
+// return
+// }
+//
+// defer func() {
+// err = f.Close()
+// }()
+//
+// var gzf *gzip.Reader
+// gzf, err = gzip.NewReader(f)
+// if err != nil {
+// return
+// }
+//
+// defer func() {
+// err = gzf.Close()
+// }()
+//
+// p := filepath.Join(target...)
+// p = filepath.Join(p, "barefeed")
+//
+// tf := tar.NewReader(gzf)
+// for {
+// var exit bool
+// if exit, err = writeFromArchive(tf, p); err != nil {
+// return
+// } else if exit {
+// break
+// }
+// }
+//
+// return
+//}
// NewExporter creates the exporter based on the directory path that contains
// the barefeed folder.
-func NewExporter(directory ...string) *Exporter {
- d := filepath.Join(directory...)
- d = filepath.Join(d, "barefeed")
- return &Exporter{Path: d}
-}
+//func NewExporter(directory ...string) *Exporter {
+// d := filepath.Join(directory...)
+// d = filepath.Join(d, "barefeed")
+// return &Exporter{Path: d}
+//}
// Export a barefeed file to the target location
-func (d *Exporter) Export(target ...string) (err error) {
- if _, err = os.Stat(d.Path); err != nil {
- return
- }
-
- date := time.Now().Format("2006-01-02")
-
- path := filepath.Join(target...)
- path = filepath.Join(path, fmt.Sprintf("%s.barefeed", date))
-
- var f *os.File
- f, err = os.Create(path)
- if err != nil {
- return
- }
- defer func() {
- err = f.Close()
- }()
-
- gz := gzip.NewWriter(f)
- defer func() {
- err = gz.Close()
- }()
-
- tw := tar.NewWriter(gz)
- defer func() {
- err = tw.Close()
- }()
-
- err = filepath.Walk(d.Path, func(path string, fi os.FileInfo, e error) error {
- if e != nil {
- return e
- } else if !fi.Mode().IsRegular() {
- return nil
- }
-
- header, e := tar.FileInfoHeader(fi, fi.Name())
- if e != nil {
- return e
- }
-
- header.Name = strings.TrimPrefix(strings.Replace(path, d.Path, "", -1), string(filepath.Separator))
-
- if e := tw.WriteHeader(header); e != nil {
- return e
- }
-
- file, e := os.Open(filepath.Clean(path))
- if e != nil {
- return e
- }
-
- if _, e := io.Copy(tw, file); e != nil {
- if e := file.Close(); e != nil {
- return e
- }
- return e
- }
-
- return file.Close()
- })
-
- return
-}
+//func (d *Exporter) Export(target ...string) (err error) {
+// if _, err = os.Stat(d.Path); err != nil {
+// return
+// }
+//
+// date := time.Now().Format("2006-01-02")
+//
+// path := filepath.Join(target...)
+// path = filepath.Join(path, fmt.Sprintf("%s.barefeed", date))
+//
+// var f *os.File
+// f, err = os.Create(path)
+// if err != nil {
+// return
+// }
+// defer func() {
+// err = f.Close()
+// }()
+//
+// gz := gzip.NewWriter(f)
+// defer func() {
+// err = gz.Close()
+// }()
+//
+// tw := tar.NewWriter(gz)
+// defer func() {
+// err = tw.Close()
+// }()
+//
+// err = filepath.Walk(d.Path, func(path string, fi os.FileInfo, e error) error {
+// if e != nil {
+// return e
+// } else if !fi.Mode().IsRegular() {
+// return nil
+// }
+//
+// header, e := tar.FileInfoHeader(fi, fi.Name())
+// if e != nil {
+// return e
+// }
+//
+// header.Name = strings.TrimPrefix(strings.Replace(path, d.Path, "", -1), string(filepath.Separator))
+//
+// if e := tw.WriteHeader(header); e != nil {
+// return e
+// }
+//
+// file, e := os.Open(filepath.Clean(path))
+// if e != nil {
+// return e
+// }
+//
+// if _, e := io.Copy(tw, file); e != nil {
+// if e := file.Close(); e != nil {
+// return e
+// }
+// return e
+// }
+//
+// return file.Close()
+// })
+//
+// return
+//}
// Read will parse the provided directory for a barefeed directory
func Read(directory ...string) (FeedEntries, error) {
@@ 270,37 265,37 @@ func readFile(path ...string) (b Bin, err error) {
return
}
-func writeFromArchive(tf *tar.Reader, p string) (exit bool, err error) {
- var hdr *tar.Header
- hdr, err = tf.Next()
- if err == io.EOF {
- err = nil
- exit = true
- return
- } else if err != nil {
- return
- }
-
- path := filepath.Join(p, hdr.Name)
- info := hdr.FileInfo()
- if info.IsDir() {
- if err = os.MkdirAll(path, info.Mode()); err != nil {
- return
- }
- return
- }
-
- var file *os.File
- file, err = os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, info.Mode())
- if err != nil {
- return
- }
-
- defer func() {
- err = file.Close()
- }()
-
- _, err = io.Copy(file, tf)
-
- return
-}
+//func writeFromArchive(tf *tar.Reader, p string) (exit bool, err error) {
+// var hdr *tar.Header
+// hdr, err = tf.Next()
+// if err == io.EOF {
+// err = nil
+// exit = true
+// return
+// } else if err != nil {
+// return
+// }
+//
+// path := filepath.Join(p, hdr.Name)
+// info := hdr.FileInfo()
+// if info.IsDir() {
+// if err = os.MkdirAll(path, info.Mode()); err != nil {
+// return
+// }
+// return
+// }
+//
+// var file *os.File
+// file, err = os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, info.Mode())
+// if err != nil {
+// return
+// }
+//
+// defer func() {
+// err = file.Close()
+// }()
+//
+// _, err = io.Copy(file, tf)
+//
+// return
+//}