Add settings for filtering out shorts in subscriptions and channels
This commit is contained in:
parent
2140f48919
commit
ca4a735692
12
settings.py
12
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,
|
||||
|
@ -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', '')
|
||||
|
@ -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]
|
||||
|
Loading…
x
Reference in New Issue
Block a user