aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index e2ee0ec..804d3d3 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -726,6 +726,10 @@ namespace QuickMedia {
manga_generic_search_page->search_handler("https://mangatown.com/search?name=%s&page=%p", 1)
.text_handler({{"//p[class='title']/a", "title", "href", "/manga/"}})
.thumbnail_handler({{"//a[class='manga_cover']/img", "src", nullptr}})
+ .authors_handler({
+ {"//div[class='detail_content']//a", "text", "href", "/author/"},
+ {"//div[class='detail_content']//a", "text", "href", "/artist/"}
+ })
.list_chapters_handler("//ul[class='chapter_list']//a", "text", "href", "/manga/")
.list_chapters_uploaded_time_handler("//ul[class='chapter_list']//span[class='time']", "text", nullptr)
.list_page_images_pagination_handler(
@@ -745,7 +749,7 @@ namespace QuickMedia {
{"//div[id='book_list']//div[class='media']//img", "src", nullptr},
{"//div[id='single_book']//div[class='cover']//img", "src", nullptr}
})
- .authors_handler("//div[id='single_book']//a[class='author']", "text", "href", "/author/")
+ .authors_handler({{"//div[id='single_book']//a[class='author']", "text", "href", "/author/"}})
.list_chapters_handler("//div[class='chapters']//div[class='chapter']//a", "text", "href", "/manga/")
.list_chapters_uploaded_time_handler("//div[class='chapters']//div[class='update_time']", "text", nullptr)
.list_page_images_custom_handler([](const std::string &html_source) {
@@ -825,7 +829,7 @@ namespace QuickMedia {
tabs.push_back(Tab{std::move(history_body), std::move(history_page), std::move(search_bar)});
} else if(strcmp(plugin_name, "manganelos") == 0) {
auto search_body = create_body();
- auto search_page = std::make_unique<MangaGenericSearchPage>(this, plugin_name, nullptr);
+ auto search_page = std::make_unique<MangaGenericSearchPage>(this, plugin_name, "http://manganelos.com/");
add_manganelos_handlers(search_page.get());
tabs.push_back(Tab{std::move(search_body), std::move(search_page), create_search_bar("Search...", 400)});
@@ -863,7 +867,7 @@ namespace QuickMedia {
tabs.push_back(Tab{std::move(history_body), std::move(history_page), std::move(search_bar)});
} else if(strcmp(plugin_name, "manga") == 0) {
auto manganelo = std::make_unique<ManganeloSearchPage>(this);
- auto manganelos = std::make_unique<MangaGenericSearchPage>(this, "manganelos", nullptr);
+ auto manganelos = std::make_unique<MangaGenericSearchPage>(this, "manganelos", "http://manganelos.com/");
add_manganelos_handlers(manganelos.get());
auto mangatown = std::make_unique<MangaGenericSearchPage>(this, "mangatown", "https://www.mangatown.com");
add_mangatown_handlers(mangatown.get());
@@ -2494,6 +2498,7 @@ namespace QuickMedia {
std::vector<CommandArg> extra_args;
const bool is_manganelo = (strcmp(images_page->get_service_name(), "manganelo") == 0);
+ const char *website_url = images_page->get_website_url();
if(is_manganelo) {
extra_args = {
CommandArg { "-H", "accept: image/jpeg,image/png,image/*,*/*;q=0.8" },
@@ -2504,6 +2509,13 @@ namespace QuickMedia {
CommandArg { "-m", "30" },
CommandArg { "--connect-timeout", "30" }
};
+ } else if(website_url && website_url[0] != '\0') {
+ std::string website_url_str = website_url;
+ if(website_url_str.back() != '/')
+ website_url_str.push_back('/');
+ extra_args = {
+ CommandArg { "-H", "referer: " + std::move(website_url_str) },
+ };
}
Path image_filepath_tmp(image_filepath.data + ".tmpz");