diff options
-rw-r--r-- | settings.py | 12 | ||||
-rw-r--r-- | youtube/channel.py | 4 | ||||
-rw-r--r-- | youtube/subscriptions.py | 8 |
3 files changed, 21 insertions, 3 deletions
diff --git a/settings.py b/settings.py index 16ec6ff..c3c07e6 100644 --- a/settings.py +++ b/settings.py @@ -298,6 +298,18 @@ Archive: https://archive.ph/OZQbN''', 'comment': '', }), + ('include_shorts_in_subscriptions', { + 'type': bool, + 'default': 0, + 'comment': '', + }), + + ('include_shorts_in_channel', { + 'type': bool, + 'default': 1, + 'comment': '', + }), + ('gather_googlevideo_domains', { 'type': bool, 'default': False, diff --git a/youtube/channel.py b/youtube/channel.py index aaf4f79..75b0a15 100644 --- a/youtube/channel.py +++ b/youtube/channel.py @@ -2,6 +2,7 @@ import base64 from youtube import (util, yt_data_extract, local_playlist, subscriptions, playlist) from youtube import yt_app +import settings import urllib import json @@ -382,7 +383,8 @@ def get_channel_page_general_url(base_url, tab, request, channel_id=None): # sort 2: oldest # sort 3: newest # sort 4: newest - no shorts (Just a kludge on our end, not internal to yt) - sort = request.args.get('sort', '3') + default_sort = '3' if settings.include_shorts_in_channel else '4' + sort = request.args.get('sort', default_sort) view = request.args.get('view', '1') query = request.args.get('query', '') ctoken = request.args.get('ctoken', '') diff --git a/youtube/subscriptions.py b/youtube/subscriptions.py index ea544a3..e37ac28 100644 --- a/youtube/subscriptions.py +++ b/youtube/subscriptions.py @@ -464,8 +464,12 @@ def _get_atoma_feed(channel_id): def _get_channel_videos_first_page(channel_id, channel_status_name): try: # First try the playlist method - pl_json = playlist.get_videos('UU' + channel_id[2:], 1, - include_shorts=False, report_text=None) + pl_json = playlist.get_videos( + 'UU' + channel_id[2:], + 1, + include_shorts=settings.include_shorts_in_subscriptions, + report_text=None + ) pl_info = yt_data_extract.extract_playlist_info(pl_json) if pl_info.get('items'): pl_info['items'] = pl_info['items'][0:30] |