From 09ebdfcf1fe7ce7932a2f1dfaae4f7f0a6b89ab6 Mon Sep 17 00:00:00 2001 From: azzy9 <19675382+azzy9@users.noreply.github.com> Date: Thu, 22 Feb 2024 16:46:17 +0000 Subject: [PATCH] Remove Hardcoded categories, Add cat_list --- main.py | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/main.py b/main.py index fa489b3..369702d 100644 --- a/main.py +++ b/main.py @@ -124,22 +124,7 @@ def home_menu(): add_dir( get_string(30052), BASE_URL + '/battle-leaderboard/recorded', 3, MEDIA_DIR + 'leader.png', '', '', 'top' ) # TODO: replace with getting catergories from https://rumble.com/browse - # News - add_dir( get_string(29916), BASE_URL + '/category/news/videos', 3, MEDIA_DIR + 'news.png', '', '', 'cat_video' ) - # Viral - add_dir( get_string(30050), BASE_URL + '/category/viral/videos', 3, MEDIA_DIR + 'viral.png', '', '', 'cat_video' ) - # Podcasts - add_dir( get_string(30051), BASE_URL + '/category/podcasts/videos', 3, MEDIA_DIR +'podcast.png','','','cat_video') - # Entertainment - add_dir( get_string(30053), BASE_URL + '/category/entertainment/videos', 3, MEDIA_DIR + 'entertaiment.png', '', '', 'cat_video' ) - # Sports - add_dir( get_string(19548), BASE_URL + '/category/sports/videos', 3, MEDIA_DIR + 'sports.png', '', '', 'cat_video' ) - # Science - add_dir( get_string(29948), BASE_URL + '/category/science/videos', 3, MEDIA_DIR + 'science.png', '', '', 'cat_video' ) - # Technology - add_dir( get_string(30054), BASE_URL + '/category/technology/videos', 3, MEDIA_DIR + 'technology.png', '', '', 'cat_video' ) - # Vlogs - add_dir( get_string(30055), BASE_URL + '/category/vlogs/videos', 3, MEDIA_DIR + 'vlog.png', '', '', 'cat_video' ) + add_dir( get_string(29916), BASE_URL + '/browse', 3, MEDIA_DIR + 'viral.png', '', '', 'cat_list' ) # TODO: add livestream section from https://rumble.com/browse/live @@ -180,7 +165,7 @@ def pagination( url, page, cat, search=False ): elif cat in {'channel', 'cat_video', 'user', 'other', 'subscriptions' }: page_url = url + "?page=" + str( page ) - if cat in { 'following', 'top' }: + if cat in { 'following', 'top', 'cat_list' }: paginated = False amount = list_rumble( page_url, cat ) @@ -328,6 +313,17 @@ def dir_list_create( data, cat, video_type='video', search = False, play=0 ): return amount + elif video_type == 'cat_list': + cat_list = re.compile(r'\s*]+)>\s*([^\<]+)', re.DOTALL|re.IGNORECASE).findall(data) + if cat_list: + amount = len(cat_list) + for link, img, title in cat_list: + + cat = 'channel_video' + + #open get url and open player + add_dir( clean_text( title ), BASE_URL + link.strip(), 3, img, img, '', cat ) + elif video_type == 'following': following = re.compile(r'\s]+)(?:\s*data-js=\"main_menu_live_channel\")?\s*>\s*
\s*\s*\s*([^<]+)', re.MULTILINE|re.DOTALL|re.IGNORECASE).findall(data) if following: @@ -348,6 +344,7 @@ def dir_list_create( data, cat, video_type='video', search = False, play=0 ): add_dir( video_title, BASE_URL + link.strip(), 3, img, img, '', cat, True, True, play, { 'name' : link.strip(), 'subscribe': False } ) else: + channels = re.compile(r'a href=(.+?)>\s*
\s*\s*\s*
\s*

(.+?)

\s*(.+?) Followers',re.DOTALL).findall(data) if channels: amount = len(channels)