From 208bffb8467d33586c4af941c8e10b019f16e32e Mon Sep 17 00:00:00 2001 From: alexpin Date: Tue, 25 Feb 2020 21:16:57 +0200 Subject: [PATCH] error handling --- client/getHashtagUploads.go | 17 ++++++++++++----- client/getMusicUploads.go | 8 ++++++-- client/getUserUploads.go | 8 ++++++-- workflows/downloadHashtag.go | 13 +++++++++++-- workflows/downloadMusic.go | 6 +++++- workflows/downloadUser.go | 6 +++++- 6 files changed, 45 insertions(+), 13 deletions(-) diff --git a/client/getHashtagUploads.go b/client/getHashtagUploads.go index c9df788..9c01981 100644 --- a/client/getHashtagUploads.go +++ b/client/getHashtagUploads.go @@ -7,13 +7,20 @@ import ( ) // GetUserUploads - Get all uploads marked with given hashtag -func GetHashtagUploads(hashtagURL string) []models.Upload { +func GetHashtagUploads(hashtagURL string) ([]models.Upload, error) { jsMethod := fmt.Sprintf("bootstrapIteratingVideos(%d)", config.Config.Limit) - actionOutput := executeClientAction(hashtagURL, jsMethod) - return models.ParseUploads(actionOutput) + actionOutput, err := executeClientAction(hashtagURL, jsMethod) + if err != nil { + return nil, err + } + return models.ParseUploads(actionOutput), nil } -func GetHashtagUploadsJson(hashtagURL string) string { +func GetHashtagUploadsJson(hashtagURL string) (string, error) { jsMethod := fmt.Sprintf("bootstrapIteratingVideos(%d)", config.Config.Limit) - return executeClientAction(hashtagURL, jsMethod) + actionOutput, err := executeClientAction(hashtagURL, jsMethod) + if err != nil { + return "", err + } + return actionOutput, nil } diff --git a/client/getMusicUploads.go b/client/getMusicUploads.go index e3b95de..320b33f 100644 --- a/client/getMusicUploads.go +++ b/client/getMusicUploads.go @@ -16,7 +16,11 @@ func GetMusicUploads(url string) ([]models.Upload, error) { return models.ParseUploads(actionOutput), nil } -func GetMusicUploadsJson(url string) string { +func GetMusicUploadsJson(url string) (string, error) { jsMethod := fmt.Sprintf("bootstrapIteratingVideos(%d)", config.Config.Limit) - return executeClientAction(url, jsMethod) + actionOutput, err := executeClientAction(url, jsMethod) + if err != nil { + return "", err + } + return actionOutput, nil } diff --git a/client/getUserUploads.go b/client/getUserUploads.go index 46a7070..3752492 100644 --- a/client/getUserUploads.go +++ b/client/getUserUploads.go @@ -16,7 +16,11 @@ func GetUserUploads(username string) ([]models.Upload, error) { return models.ParseUploads(actionOutput), nil } -func GetUserUploadsJson(username string) string { +func GetUserUploadsJson(username string) (string, error) { jsMethod := fmt.Sprintf("bootstrapIteratingVideos(%d)", config.Config.Limit) - return executeClientAction(`https://www.tiktok.com/@`+username, jsMethod) + actionOutput, err := executeClientAction(`https://www.tiktok.com/@`+username, jsMethod) + if err != nil { + return "", err + } + return actionOutput, nil } diff --git a/workflows/downloadHashtag.go b/workflows/downloadHashtag.go index 3b4ca01..3c11010 100644 --- a/workflows/downloadHashtag.go +++ b/workflows/downloadHashtag.go @@ -3,6 +3,7 @@ package workflows import ( client "../client" config "../models/config" + res "../resources" utils "../utils" "fmt" "strings" @@ -16,7 +17,11 @@ func CanUseDownloadHashtag(url string) bool { // DownloadHashtag - Download videos marked with given hashtag func DownloadHashtag(url string) { - uploads := client.GetHashtagUploads(url) + uploads, err := client.GetHashtagUploads(url) + if err != nil { + utils.LogErr(res.ErrorCouldNotGetUserUploads, err.Error()) + return + } uploadCount := len(uploads) hashtag := utils.GetHashtagFromURL(url) downloadDir := fmt.Sprintf("%s/%s", config.Config.OutputPath, hashtag) @@ -31,6 +36,10 @@ func DownloadHashtag(url string) { } func GetHashtagJson(url string) { - uploads := client.GetHashtagUploads(url) + uploads, err := client.GetHashtagUploads(url) + if err != nil { + utils.LogErr(res.ErrorCouldNotGetUserUploads, err.Error()) + return + } fmt.Printf("%s", uploads) } diff --git a/workflows/downloadMusic.go b/workflows/downloadMusic.go index d09717e..2b38e77 100644 --- a/workflows/downloadMusic.go +++ b/workflows/downloadMusic.go @@ -36,6 +36,10 @@ func DownloadMusic(url string) { } func GetMusicJson(url string) { - uploads := client.GetMusicUploadsJson(url) + uploads, err := client.GetMusicUploadsJson(url) + if err != nil { + utils.LogErr(res.ErrorCouldNotGetUserUploads, err.Error()) + return + } fmt.Printf("%s", uploads) } diff --git a/workflows/downloadUser.go b/workflows/downloadUser.go index 51a8424..592fbc4 100644 --- a/workflows/downloadUser.go +++ b/workflows/downloadUser.go @@ -37,6 +37,10 @@ func DownloadUser(username string) { } func GetUserVideosJson(username string) { - uploads := client.GetUserUploadsJson(username) + uploads, err := client.GetUserUploadsJson(username) + if err != nil { + utils.LogErr(res.ErrorCouldNotGetUserUploads, err.Error()) + return + } fmt.Printf("%s", uploads) }