From 745b8168642865639871c52196f28140ee96163f Mon Sep 17 00:00:00 2001 From: pluja Date: Thu, 10 Sep 2020 16:24:53 +0200 Subject: [PATCH] Add support for livestreams and scheduled videos on /watch --- app/routes.py | 7 ++++- app/static/img/live.png | Bin 0 -> 65165 bytes app/static/img/scheduled.png | Bin 0 -> 32320 bytes app/templates/video.html | 38 ++++++++++++++-------- youtube_data/channels.py | 0 youtube_data/utils.py | 59 ----------------------------------- youtube_data/videos.py | 22 +++++++++---- 7 files changed, 47 insertions(+), 79 deletions(-) create mode 100644 app/static/img/live.png create mode 100644 app/static/img/scheduled.png create mode 100644 youtube_data/channels.py delete mode 100644 youtube_data/utils.py diff --git a/app/routes.py b/app/routes.py index a295c6c..fe26ed4 100644 --- a/app/routes.py +++ b/app/routes.py @@ -321,8 +321,13 @@ def watch(): id = request.args.get('v', None) info = ytvids.get_video_info(id) hostName = urllib.parse.urlparse(info['video']['url']).netloc + # Use nginx - url = info['video']['url'].replace(hostName, config['serverName'])+"&hostname="+hostName + try: + url = info['video']['url'].replace(hostName, config['serverName'])+"&hostname="+hostName + except: + url = "#" + video={ 'title':info['video']['title'], 'description':Markup(markupString(info['video']['description'])), diff --git a/app/static/img/live.png b/app/static/img/live.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b3a87393d692cb51b655fbde349e5df9c28ca9 GIT binary patch literal 65165 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 >onXlwO~q{e}|>koJY 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 literal 0 HcmV?d00001 diff --git a/app/templates/video.html b/app/templates/video.html index 25183ab..853d9aa 100644 --- a/app/templates/video.html +++ b/app/templates/video.html @@ -4,20 +4,32 @@ {% extends "base.html" %} {% block content %}
-
- + {% if video.nginxUrl == "#" and video.isLive %} +
+ Empty feed image
+ {% elif video.isUpcoming %} +
+
+ Empty feed image +
+
+ {%else%} +
+ +
+ {%endif%}
diff --git a/youtube_data/channels.py b/youtube_data/channels.py new file mode 100644 index 0000000..e69de29 diff --git a/youtube_data/utils.py b/youtube_data/utils.py deleted file mode 100644 index 4812f3b..0000000 --- a/youtube_data/utils.py +++ /dev/null @@ -1,59 +0,0 @@ -import requests -import urllib.parse -import json -from bs4 import BeautifulSoup as bs - -nested_renderer_dispatch = { - 'singleColumnBrowseResultsRenderer', - 'twoColumnBrowseResultsRenderer', # Channel renderer - 'twoColumnSearchResultsRenderer', -} - -# these renderers contain a list of renderers inside them -nested_renderer_list_dispatch = { - 'sectionListRenderer', - 'itemSectionRenderer', - 'gridRenderer', - 'playlistVideoListRenderer', - 'singleColumnWatchNextResults', -} - -_item_types = { - 'movieRenderer', - 'didYouMeanRenderer', - 'showingResultsForRenderer', - - 'videoRenderer', - 'compactVideoRenderer', - 'compactAutoplayRenderer', - 'videoWithContextRenderer', - 'gridVideoRenderer', - 'playlistVideoRenderer', - - 'playlistRenderer', - 'compactPlaylistRenderer', - 'gridPlaylistRenderer', - - 'radioRenderer', - 'compactRadioRenderer', - 'gridRadioRenderer', - - 'showRenderer', - 'compactShowRenderer', - 'gridShowRenderer', - - - 'channelRenderer', - 'compactChannelRenderer', - 'gridChannelRenderer', -} - - -def getRenderers(data): - renderers = [] - for renderer in nested_renderer_dispatch: - renderers.append(data['contents'][renderer]) - return renderers - -def getRenderedItems(renderer): - '''Given a renderer, return its items''' diff --git a/youtube_data/videos.py b/youtube_data/videos.py index fb93d51..5592486 100644 --- a/youtube_data/videos.py +++ b/youtube_data/videos.py @@ -17,19 +17,28 @@ def get_video_primary_info(datad, datai): details = datad['videoDetails'] try: isUpcoming = details['isUpcoming'] + views = "Scheduled video" except: isUpcoming = False + if not isUpcoming: + views = details['viewCount'] + ydl = YoutubeDL() - data = ydl.extract_info(details['videoId'], False) - if not details['isLiveContent']: - url = data['formats'][-1]['url'] + try: + data = ydl.extract_info(details['videoId'], False) + if not details['isLiveContent']: + url = data['formats'][-1]['url'] + else: + url = data['formats'][-1]['url'] + except: + url = "#" try: primaryInfo = { "id": details['videoId'], "title": details['title'], "description": details['shortDescription'], - "views": details['viewCount'], + "views": views, "duration": details['lengthSeconds'], "date": item['dateText']['simpleText'], "rating": details['averageRating'], @@ -53,9 +62,10 @@ def get_video_primary_info(datad, datai): "rating": details['averageRating'], "author": details['author'], "isPrivate":False, - "isLive":False, - "isUpcoming":False, + "isLive":details['isLiveContent'], + "isUpcoming":isUpcoming, "allowRatings":True, + "url":url, "thumbnail": details['thumbnail']['thumbnails'][0]['url'] } return primaryInfo