From e66d24f74d5458241d869fb3df42b4f2a2ea69f4 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 6 May 2021 08:18:38 +0200 Subject: Show youtube recommendations instead of local recommendations from related videos --- plugins/Youtube.hpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'plugins/Youtube.hpp') diff --git a/plugins/Youtube.hpp b/plugins/Youtube.hpp index dc3f0e7..746619c 100644 --- a/plugins/Youtube.hpp +++ b/plugins/Youtube.hpp @@ -86,6 +86,22 @@ namespace QuickMedia { std::array>, 4> subscription_load_tasks; // TODO: Use multiple curl outputs instead? }; + class YoutubeRecommendedPage : public LazyFetchPage { + public: + YoutubeRecommendedPage(Program *program) : LazyFetchPage(program) {} + const char* get_title() const override { return "Recommended"; } + 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 &result_tabs) override; + PluginResult lazy_fetch(BodyItems &result_items) override; + bool reload_on_page_change() override { return true; } + private: + PluginResult search_get_continuation(const std::string &continuation_token, BodyItems &result_items); + private: + int current_page = 0; + std::string continuation_token; + std::unordered_set added_videos; + }; + class YoutubeRelatedVideosPage : public RelatedVideosPage { public: YoutubeRelatedVideosPage(Program *program) : RelatedVideosPage(program) {} @@ -106,5 +122,9 @@ namespace QuickMedia { std::string xsrf_token; std::string comments_continuation_token; std::string url; + + std::string playback_url; + std::string watchtime_url; + std::string tracking_url; }; } \ No newline at end of file -- cgit v1.2.3