From 8215a5d8b5634e8b27fc66869195eafdc0634e13 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Sun, 7 Jan 2024 19:16:32 +0100 Subject: [PATCH] Getting desperate --- main.go | 87 +++++++++++++++++++++++---------------------------------- 1 file changed, 35 insertions(+), 52 deletions(-) diff --git a/main.go b/main.go index 3b82fc3..70c507f 100644 --- a/main.go +++ b/main.go @@ -4,10 +4,12 @@ import ( "encoding/json" "fmt" "io" + "io/fs" "mime/multipart" "net/http" "net/textproto" "os" + "path/filepath" "strings" "github.com/sethvargo/go-githubactions" @@ -111,60 +113,41 @@ func main() { defer mwriter.Close() defer writer.Close() - _, err := mwriter.CreateIpfsDirectoryPart(path) + // Create root + mwriter.CreateIpfsDirectoryPart("/") + + err = filepath.Walk(path, func(innerPath string, info fs.FileInfo, err error) error { + if err != nil { + return err + } + + if info.IsDir() { + return nil + } + + relPath, _ := filepath.Rel(path, innerPath) + w, err := mwriter.CreateIpfsFilePart(relPath) + if err != nil { + return err + } + + fileReader, err := os.Open(innerPath) + if err != nil { + return err + } + defer fileReader.Close() + + written, err := io.Copy(w, fileReader) + if err != nil { + return fmt.Errorf("error copying %s (%d bytes written): %v", innerPath, written, err) + } + + return nil + }) + if err != nil { - githubactions.Fatalf("Unable to create root dir path: %v", fmt.Errorf("%w", err)) + githubactions.Fatalf("Unable to create request body: %v", fmt.Errorf("%w", err)) } - - w, err := mwriter.CreateIpfsFilePart("index.html") - if err != nil { - githubactions.Fatalf("Unable to create index file part: %v", fmt.Errorf("%w", err)) - } - - fileReader, _ := os.Open("blog/index.html") - defer fileReader.Close() - io.Copy(w, fileReader) - - w, err = mwriter.CreateIpfsFilePart("posts/hosting-static-site-on-ipfs/index.html") - if err != nil { - githubactions.Fatalf("Unable to create index file part: %v", fmt.Errorf("%w", err)) - } - - fileReader2, _ := os.Open("blog/posts/hosting-static-site-on-ipfs/index.html") - defer fileReader2.Close() - io.Copy(w, fileReader2) - - // err = filepath.Walk(path, func(innerPath string, info fs.FileInfo, err error) error { - // if err != nil { - // return err - // } - - // if info.IsDir() { - // return nil - // } - - // w, err = mwriter.CreateIpfsFilePart(innerPath) - // if err != nil { - // return err - // } - - // fileReader, err := os.Open(innerPath) - // if err != nil { - // return err - // } - // defer fileReader.Close() - - // written, err := io.Copy(w, fileReader) - // if err != nil { - // return fmt.Errorf("error copying %s (%d bytes written): %v", innerPath, written, err) - // } - - // return nil - // }) - - // if err != nil { - // githubactions.Fatalf("Unable to create request body: %v", fmt.Errorf("%w", err)) - // } }() githubactions.Infof("Calling node API")