aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Mangadex.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-04-14 19:52:21 +0200
committerdec05eba <dec05eba@protonmail.com>2021-04-14 23:45:11 +0200
commitab36fbffef977b99cc03d0b77ac37bdc1b5705dc (patch)
tree17207a364eecee330a26ac117a1384ad0b4a1e97 /src/plugins/Mangadex.cpp
parent4db0876f45533d3b55ee79df2d2bc78b789b5a28 (diff)
Rework manga plugins downloading.. preparing for parallel downloads
Diffstat (limited to 'src/plugins/Mangadex.cpp')
-rw-r--r--src/plugins/Mangadex.cpp48
1 files changed, 10 insertions, 38 deletions
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<std::string> &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<std::string> 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;
}
}