From 2b294258bbc89f1b49554468022a035782e49074 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 5 Aug 2019 20:15:47 +0200 Subject: Show current image / number of images for manga --- src/plugins/Manganelo.cpp | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/Manganelo.cpp b/src/plugins/Manganelo.cpp index d69aab1..6dd4ec7 100644 --- a/src/plugins/Manganelo.cpp +++ b/src/plugins/Manganelo.cpp @@ -95,13 +95,9 @@ namespace QuickMedia { } ImageResult Manganelo::get_image_by_index(const std::string &url, int index, std::string &image_data) { - if(url != last_chapter_url) { - last_chapter_image_urls.clear(); - ImageResult image_result = get_image_urls_for_chapter(url, last_chapter_image_urls); - if(image_result != ImageResult::OK) - return image_result; - last_chapter_url = url; - } + ImageResult image_result = get_image_urls_for_chapter(url); + if(image_result != ImageResult::OK) + return image_result; int num_images = last_chapter_image_urls.size(); if(index < 0 || index >= num_images) @@ -120,7 +116,22 @@ namespace QuickMedia { } } - ImageResult Manganelo::get_image_urls_for_chapter(const std::string &url, std::vector &urls) { + ImageResult Manganelo::get_number_of_images(const std::string &url, 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 = last_chapter_image_urls.size(); + return ImageResult::OK; + } + + ImageResult Manganelo::get_image_urls_for_chapter(const std::string &url) { + if(url == last_chapter_url) + return ImageResult::OK; + + last_chapter_image_urls.clear(); + std::string website_data; if(download_to_string(url, website_data) != DownloadResult::OK) return ImageResult::NET_ERR; @@ -136,10 +147,12 @@ namespace QuickMedia { const char *src = quickmedia_html_node_get_attribute_value(node, "src"); if(src) urls->push_back(src); - }, &urls); + }, &last_chapter_image_urls); cleanup: quickmedia_html_search_deinit(&html_search); + if(result == 0) + last_chapter_url = url; return result == 0 ? ImageResult::OK : ImageResult::ERR; } } \ No newline at end of file -- cgit v1.2.3-70-g09d2