From f1fa84b4e3bdbaad9d9c85c1b7161d00354329d1 Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Tue, 1 Aug 2023 12:40:20 +0200 Subject: [PATCH 1/2] [YouTube] Don't throw an exception when there is no banner available on a channel Channels may not have a banner, so no exception should be thrown if no banner is found. --- .../services/youtube/extractors/YoutubeChannelExtractor.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java index 0f67349cf..0b599f3c5 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java @@ -282,7 +282,10 @@ public class YoutubeChannelExtractor extends ChannelExtractor { )) .filter(url -> !url.contains("s.ytimg.com") && !url.contains("default_banner")) .map(YoutubeParsingHelper::fixThumbnailUrl) - .orElseThrow(() -> new ParsingException("Could not get banner")); + // Channels may not have a banner, so no exception should be thrown if no banner is + // found + // Return null in this case + .orElse(null); } @Override From bb1ab166bf804980031068516d417858c9894ccc Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:19:43 +0200 Subject: [PATCH 2/2] [YouTube] Test that no banner is returned for carouselHeaderRenders --- .../services/youtube/YoutubeChannelExtractorTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java index b5793a0b4..fb851de63 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java @@ -2,6 +2,7 @@ package org.schabi.newpipe.extractor.services.youtube; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; @@ -720,7 +721,8 @@ public class YoutubeChannelExtractorTest { @Test public void testBannerUrl() throws Exception { - // CarouselHeaderRender does not contain a banner + // CarouselHeaderRenders do not contain a banner + assertNull(extractor.getBannerUrl()); } @Test