From 7dc7ee78094a3d76e8cb70d724a7054d59347369 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 29 Apr 2021 00:21:50 +0200 Subject: Add xvideos and xhamster --- src/plugins/MangaGeneric.cpp | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) (limited to 'src/plugins/MangaGeneric.cpp') diff --git a/src/plugins/MangaGeneric.cpp b/src/plugins/MangaGeneric.cpp index b3326fc..48533b8 100644 --- a/src/plugins/MangaGeneric.cpp +++ b/src/plugins/MangaGeneric.cpp @@ -49,6 +49,20 @@ namespace QuickMedia { return quickmedia_html_node_get_attribute_value(node, field_name); } + static void body_items_prepend_website_url(BodyItems &body_items, const std::string &website_url) { + for(auto &body_item : body_items) { + if(string_starts_with(body_item->url, "//")) + body_item->url = "https://" + body_item->url.substr(2); + else if(string_starts_with(body_item->url, "/")) + body_item->url = website_url + body_item->url.substr(1); + + if(string_starts_with(body_item->thumbnail_url, "//")) + body_item->thumbnail_url = "https://" + body_item->thumbnail_url.substr(2); + else if(string_starts_with(body_item->thumbnail_url, "/")) + body_item->thumbnail_url = website_url + body_item->thumbnail_url.substr(1); + } + } + static int html_append_search(QuickMediaHtmlSearch *html_search, const char *html_query, HtmlSearchUserdata *search_userdata) { return quickmedia_html_find_nodes_xpath(html_search, html_query, [](QuickMediaHtmlNode *node, void *userdata) { @@ -239,17 +253,7 @@ namespace QuickMedia { } } - for(auto &body_item : result_items) { - if(string_starts_with(body_item->url, "//")) - body_item->url = "https://" + body_item->url.substr(2); - else if(string_starts_with(body_item->url, "/")) - body_item->url = website_url + body_item->url.substr(1); - - if(string_starts_with(body_item->thumbnail_url, "//")) - body_item->thumbnail_url = "https://" + body_item->thumbnail_url.substr(2); - else if(string_starts_with(body_item->thumbnail_url, "/")) - body_item->thumbnail_url = website_url + body_item->thumbnail_url.substr(1); - } + body_items_prepend_website_url(result_items, website_url); cleanup: quickmedia_html_search_deinit(&html_search); @@ -333,17 +337,7 @@ namespace QuickMedia { } } - for(auto &body_item : chapters_items) { - if(string_starts_with(body_item->url, "//")) - body_item->url = "https://" + body_item->url.substr(2); - else if(string_starts_with(body_item->url, "/")) - body_item->url = website_url + body_item->url.substr(1); - - if(string_starts_with(body_item->thumbnail_url, "//")) - body_item->thumbnail_url = "https://" + body_item->thumbnail_url.substr(2); - else if(string_starts_with(body_item->thumbnail_url, "/")) - body_item->thumbnail_url = website_url + body_item->thumbnail_url.substr(1); - } + body_items_prepend_website_url(chapters_items, website_url); for(auto &it : creators) { if(string_starts_with(it.second, "//")) -- cgit v1.2.3