From 96aee306b5baa2565c38fca79618489d8f5103b0 Mon Sep 17 00:00:00 2001 From: TJ Horner Date: Wed, 13 Mar 2019 12:20:04 -0700 Subject: [PATCH] ok fine --- {e621 => concurrent}/download.go | 13 +++++++------ main.go | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) rename {e621 => concurrent}/download.go (82%) diff --git a/e621/download.go b/concurrent/download.go similarity index 82% rename from e621/download.go rename to concurrent/download.go index 69e18c0..6c25b17 100644 --- a/e621/download.go +++ b/concurrent/download.go @@ -1,4 +1,4 @@ -package e621 +package concurrent import ( "fmt" @@ -10,13 +10,14 @@ import ( "time" "github.com/dustin/go-humanize" + "github.com/tjhorner/e6dl/e621" ) // BeginDownload takes a slice of posts, a directory to save them in, and a // number of concurrent workers to make. It blocks until all the post have // been processed. It returns the number of successes, failures, and the total // amount of posts. -func BeginDownload(posts *[]Post, saveDirectory *string, maxConcurrents *int) (*int, *int, *int) { +func BeginDownload(posts *[]e621.Post, saveDirectory *string, maxConcurrents *int) (*int, *int, *int) { var wg sync.WaitGroup var completed int var successes int @@ -50,7 +51,7 @@ func BeginDownload(posts *[]Post, saveDirectory *string, maxConcurrents *int) (* return &successes, &failures, &total } -func work(wn int, posts []Post, directory string, completed *int, successes *int, failures *int, total *int, wg *sync.WaitGroup) { +func work(wn int, posts []e621.Post, directory string, completed *int, successes *int, failures *int, total *int, wg *sync.WaitGroup) { defer wg.Done() for _, post := range posts { @@ -76,7 +77,7 @@ func work(wn int, posts []Post, directory string, completed *int, successes *int } } -func getSavePath(post *Post, directory *string) string { +func getSavePath(post *e621.Post, directory *string) string { pathSliced := strings.Split(post.FileURL, ".") extension := pathSliced[len(pathSliced)-1] @@ -85,10 +86,10 @@ func getSavePath(post *Post, directory *string) string { return savePath } -func downloadPost(post *Post, directory string) error { +func downloadPost(post *e621.Post, directory string) error { savePath := getSavePath(post, &directory) - resp, err := HTTPGet(post.FileURL) + resp, err := e621.HTTPGet(post.FileURL) if err != nil { return err } diff --git a/main.go b/main.go index 32d7cd9..5e1260c 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "os" "path" + "github.com/tjhorner/e6dl/concurrent" "github.com/tjhorner/e6dl/e621" ) @@ -38,7 +39,7 @@ func main() { os.Exit(1) } - successes, failures, _ := e621.BeginDownload(&posts, saveDirectory, maxConcurrents) + successes, failures, _ := concurrent.BeginDownload(&posts, saveDirectory, maxConcurrents) fmt.Printf("\nAll done! %d posts downloaded and saved. (%d failed to download)\n", *successes, *failures) }