From ab36fbffef977b99cc03d0b77ac37bdc1b5705dc Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 14 Apr 2021 19:52:21 +0200 Subject: Rework manga plugins downloading.. preparing for parallel downloads --- src/plugins/Mangadex.cpp | 48 ++++++++++-------------------------------------- 1 file changed, 10 insertions(+), 38 deletions(-) (limited to 'src/plugins/Mangadex.cpp') diff --git a/src/plugins/Mangadex.cpp b/src/plugins/Mangadex.cpp index 59126cb..44c9762 100644 --- a/src/plugins/Mangadex.cpp +++ b/src/plugins/Mangadex.cpp @@ -219,29 +219,7 @@ namespace QuickMedia { return true; } - ImageResult MangadexImagesPage::get_number_of_images(int &num_images) { - num_images = 0; - ImageResult image_result = get_image_urls_for_chapter(url); - if(image_result != ImageResult::OK) - return image_result; - - num_images = chapter_image_urls.size(); - return ImageResult::OK; - } - - bool MangadexImagesPage::save_mangadex_cookies(const std::string &url, const std::string &cookie_filepath) { - CommandArg cookie_arg = { "-c", cookie_filepath }; - std::string server_response; - if(download_to_string(url, server_response, {std::move(cookie_arg)}, true) != DownloadResult::OK) - return false; - - return true; - } - - ImageResult MangadexImagesPage::get_image_urls_for_chapter(const std::string &url) { - if(!chapter_image_urls.empty()) - return ImageResult::OK; - + ImageResult MangadexImagesPage::get_page_image_urls(std::vector &urls) { std::string cookie_filepath; if(!get_cookie_filepath(cookie_filepath)) return ImageResult::ERR; @@ -283,28 +261,22 @@ namespace QuickMedia { continue; std::string image_url = server + chapter_hash_str + "/" + image_name.asCString(); - chapter_image_urls.push_back(std::move(image_url)); + urls.push_back(std::move(image_url)); } } - if(chapter_image_urls.empty()) + if(urls.empty()) return ImageResult::ERR; + return ImageResult::OK; } - ImageResult MangadexImagesPage::for_each_page_in_chapter(PageCallback callback) { - std::vector image_urls; - ImageResult image_result = get_image_urls_for_chapter(url); - if(image_result != ImageResult::OK) - return image_result; - - image_urls = chapter_image_urls; - - for(const std::string &url : image_urls) { - if(!callback(url)) - break; - } + bool MangadexImagesPage::save_mangadex_cookies(const std::string &url, const std::string &cookie_filepath) { + CommandArg cookie_arg = { "-c", cookie_filepath }; + std::string server_response; + if(download_to_string(url, server_response, {std::move(cookie_arg)}, true) != DownloadResult::OK) + return false; - return ImageResult::OK; + return true; } } -- cgit v1.2.3