Handle channels with empty home pages

This commit is contained in:
syeopite 2021-06-26 18:50:02 -07:00
parent 7662d925e4
commit efd53285cf
No known key found for this signature in database
GPG key ID: 6FA616E5A5294A82
30 changed files with 64 additions and 28 deletions

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "Licences",
"Privacy": "Privacy",
"short": "Short (< 4 minutes)",
"long": "Long (> 20 minutes)"
"long": "Long (> 20 minutes)",
"This channel doesn't have any content.": "This channel doesn't have any content."
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -449,5 +449,6 @@
"Licenses": "",
"Privacy": "",
"short": "",
"long": ""
"long": "",
"This channel doesn't have any content.": ""
}

View file

@ -311,6 +311,9 @@ private class YoutubeTabsExtractor < ItemsContainerExtractor
elsif items_container = renderer_container_contents["channelVideoPlayerRenderer"]?
# Parsing for channel trailer is already taken elsewhere
next
elsif items_container = renderer_container_contents["messageRenderer"]?
# Likely an error message regarding content being empty
next
else
items_container = renderer_container_contents
end

View file

@ -16,7 +16,7 @@ class Invidious::Routes::Channels < Invidious::Routes::BaseRoute
items = fetch_channel_home(ucid, channel)
has_trailer = false
if items[0].is_a? Video
if !items.empty? && items[0].is_a? Video
has_trailer = true
end

View file

@ -57,4 +57,10 @@
</div>
<% end %>
<% end %>
<% if items.size == 0 %>
<h3 class="pure-u-1 h-box">
<%= translate(locale, "This channel doesn't have any content.")%>
</h3>
<% end %>
</div>