aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Manganelo.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-04-07 00:41:34 +0200
committerdec05eba <dec05eba@protonmail.com>2021-04-07 00:41:34 +0200
commit9939b656bf6a383b793f8b5b402d60b44345a097 (patch)
treed73ef8f14412cf0fa5a37237b4feed5556c66f6f /src/plugins/Manganelo.cpp
parentd3543b4f6d654cae1d1d9ffe1f640106dad5cfed (diff)
Add upload date to manganelo and mangatown chapters
Diffstat (limited to 'src/plugins/Manganelo.cpp')
-rw-r--r--src/plugins/Manganelo.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/plugins/Manganelo.cpp b/src/plugins/Manganelo.cpp
index 7d1e8b3..6b526d4 100644
--- a/src/plugins/Manganelo.cpp
+++ b/src/plugins/Manganelo.cpp
@@ -49,6 +49,22 @@ namespace QuickMedia {
item_data->push_back(std::move(item));
}
}, &chapters_items);
+
+ BodyItemContext body_item_context;
+ body_item_context.body_items = &chapters_items;
+ body_item_context.index = 0;
+
+ quickmedia_html_find_nodes_xpath(&html_search, "//ul[class='row-content-chapter']//span",
+ [](QuickMediaHtmlNode *node, void *userdata) {
+ auto *item_data = (BodyItemContext*)userdata;
+ const char *class_attr = quickmedia_html_node_get_attribute_value(node, "class");
+ const char *text = quickmedia_html_node_get_text(node);
+ if(text && class_attr && strstr(class_attr, "chapter-time") && item_data->index < item_data->body_items->size()) {
+ std::string uploaded_date = strip(text);
+ (*item_data->body_items)[item_data->index]->set_description("Uploaded: " + uploaded_date);
+ item_data->index++;
+ }
+ }, &body_item_context);
quickmedia_html_find_nodes_xpath(&html_search, "//a[class='a-h']",
[](QuickMediaHtmlNode *node, void *userdata) {
@@ -187,13 +203,13 @@ namespace QuickMedia {
if(result != 0)
goto cleanup;
- BodyItemImageContext body_item_image_context;
+ BodyItemContext body_item_image_context;
body_item_image_context.body_items = &result_items;
body_item_image_context.index = 0;
result = quickmedia_html_find_nodes_xpath(&html_search, "//div[class='search-story-item']//a[class='item-img']//img",
[](QuickMediaHtmlNode *node, void *userdata) {
- auto *item_data = (BodyItemImageContext*)userdata;
+ auto *item_data = (BodyItemContext*)userdata;
const char *src = quickmedia_html_node_get_attribute_value(node, "src");
if(src && item_data->index < item_data->body_items->size()) {
(*item_data->body_items)[item_data->index]->thumbnail_url = src;