aboutsummaryrefslogtreecommitdiff
path: root/plugins/Youtube.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-11-03 20:29:20 +0100
committerdec05eba <dec05eba@protonmail.com>2020-11-03 20:29:20 +0100
commitae6fb457ca385540e0f9b1347ef9c3c84815b16d (patch)
tree67ef2e460062dc21e33269ffa54deb58d57b39b9 /plugins/Youtube.hpp
parent79a575beddfd23dd3103fdb41a9c5b176ee321f3 (diff)
Youtube add channel page, fix search pagination (update to correct continuation token)
Diffstat (limited to 'plugins/Youtube.hpp')
-rw-r--r--plugins/Youtube.hpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/Youtube.hpp b/plugins/Youtube.hpp
index bdb9c8b..e2dd201 100644
--- a/plugins/Youtube.hpp
+++ b/plugins/Youtube.hpp
@@ -1,6 +1,7 @@
#pragma once
#include "Page.hpp"
+#include <unordered_set>
namespace QuickMedia {
class YoutubeSearchPage : public Page {
@@ -17,6 +18,24 @@ namespace QuickMedia {
std::string search_url;
std::string continuation_token;
int current_page = 0;
+ std::unordered_set<std::string> added_videos;
+ };
+
+ class YoutubeChannelPage : public Page {
+ public:
+ YoutubeChannelPage(Program *program, std::string url, std::string continuation_token, std::string title) : Page(program), url(std::move(url)), continuation_token(std::move(continuation_token)), title(std::move(title)) {}
+ const char* get_title() const override { return title.c_str(); }
+ PluginResult get_page(const std::string &str, int page, BodyItems &result_items) override;
+ PluginResult submit(const std::string &title, const std::string &url, std::vector<Tab> &result_tabs) override;
+
+ std::unordered_set<std::string> added_videos;
+ private:
+ PluginResult search_get_continuation(const std::string &url, const std::string &continuation_token, BodyItems &result_items);
+ private:
+ const std::string url;
+ std::string continuation_token;
+ const std::string title;
+ int current_page = 0;
};
class YoutubeVideoPage : public Page {