From 8eca5b270ed10b6233371f5495cf059bc353dcb1 Mon Sep 17 00:00:00 2001
From: techmetx11
Date: Sat, 14 Jan 2023 01:49:58 +0100
Subject: Video: Fix 0 views, and empty license field
---
src/invidious/videos/parser.cr | 2 +-
src/invidious/views/watch.ecr | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
(limited to 'src')
diff --git a/src/invidious/videos/parser.cr b/src/invidious/videos/parser.cr
index cf43f1be..04ee7303 100644
--- a/src/invidious/videos/parser.cr
+++ b/src/invidious/videos/parser.cr
@@ -186,7 +186,7 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any
# then from videoDetails, as the latter is "0" for livestreams (we want
# to get the amount of viewers watching).
views_txt = video_primary_renderer
- .try &.dig?("viewCount", "videoViewCountRenderer", "viewCount", "runs", 0, "text")
+ .try &.dig?("viewCount", "videoViewCountRenderer", "viewCount", "simpleText")
views_txt ||= video_details["viewCount"]?
views = views_txt.try &.as_s.gsub(/\D/, "").to_i64?
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr
index 666eb3b0..c23a9552 100644
--- a/src/invidious/views/watch.ecr
+++ b/src/invidious/views/watch.ecr
@@ -181,7 +181,11 @@ we're going to need to do it here in order to allow for translations.
<% end %>
<% if video.license %>
- <%= translate(locale, "License: ") %><%= video.license %>
+ <% if video.license == "" %>
+ <%= translate(locale, "License: ") %><%= translate(locale, "Standard YouTube license") %>
+ <% else %>
+ <%= translate(locale, "License: ") %><%= video.license %>
+ <% end %>
<% end %>
<%= translate(locale, "Family friendly? ") %><%= translate_bool(locale, video.is_family_friendly) %>
--
cgit v1.2.3
From 4ac263f1dfdc18e5de584d4fb8bbfd74141e2716 Mon Sep 17 00:00:00 2001
From: techmetx11
Date: Sun, 15 Jan 2023 16:26:51 +0100
Subject: Replace == with empty?
---
src/invidious/views/watch.ecr | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'src')
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr
index c23a9552..1fc79495 100644
--- a/src/invidious/views/watch.ecr
+++ b/src/invidious/views/watch.ecr
@@ -181,7 +181,7 @@ we're going to need to do it here in order to allow for translations.
<% end %>
<% if video.license %>
- <% if video.license == "" %>
+ <% if video.license.empty? %>
<%= translate(locale, "License: ") %><%= translate(locale, "Standard YouTube license") %>
<% else %>
<%= translate(locale, "License: ") %><%= video.license %>
--
cgit v1.2.3
From 4ae158ef6dcb89c2cd0eec646a42f11ebc207fba Mon Sep 17 00:00:00 2001
From: Samantaz Fox
Date: Sun, 19 Mar 2023 22:44:59 +0100
Subject: Videos: Add back support for views on livestreams
---
src/invidious/videos/parser.cr | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
(limited to 'src')
diff --git a/src/invidious/videos/parser.cr b/src/invidious/videos/parser.cr
index 04ee7303..efc4b2e5 100644
--- a/src/invidious/videos/parser.cr
+++ b/src/invidious/videos/parser.cr
@@ -185,10 +185,12 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any
# We have to try to extract viewCount from videoPrimaryInfoRenderer first,
# then from videoDetails, as the latter is "0" for livestreams (we want
# to get the amount of viewers watching).
- views_txt = video_primary_renderer
- .try &.dig?("viewCount", "videoViewCountRenderer", "viewCount", "simpleText")
- views_txt ||= video_details["viewCount"]?
- views = views_txt.try &.as_s.gsub(/\D/, "").to_i64?
+ views_txt = extract_text(
+ video_primary_renderer
+ .try &.dig?("viewCount", "videoViewCountRenderer", "viewCount")
+ )
+ views_txt ||= video_details["viewCount"]?.try &.as_s || ""
+ views = views_txt.gsub(/\D/, "").to_i64?
length_txt = (microformat["lengthSeconds"]? || video_details["lengthSeconds"])
.try &.as_s.to_i64
--
cgit v1.2.3