From 1b6fe5edd6b479d50d96400bc3c4e7f78fd5caa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Sigurbergsson?= <76668972+bjoernls@users.noreply.github.com> Date: Thu, 30 Mar 2023 17:58:06 +0000 Subject: [PATCH 1/3] [YouTube] Fix ParsingException when comments are unavailable in a video (#1040) Co-authored-by: bjs Co-authored-by: Audric V. <74829229+AudricV@users.noreply.github.com> Co-authored-by: Kavin <20838718+FireMasterK@users.noreply.github.com> --- .../extractors/YoutubeCommentsExtractor.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsExtractor.java index 385ee6eb8..84e6c3e1e 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsExtractor.java @@ -66,10 +66,15 @@ public class YoutubeCommentsExtractor extends CommentsExtractor { * @return the continuation token or null if none was found */ @Nullable - private String findInitialCommentsToken(final JsonObject nextResponse) - throws ExtractionException { - final String token = JsonUtils.getArray(nextResponse, - "contents.twoColumnWatchNextResults.results.results.contents") + private String findInitialCommentsToken(final JsonObject nextResponse) { + final JsonArray contents = getJsonContents(nextResponse); + + // For videos where comments are unavailable, this would be null + if (contents == null) { + return null; + } + + final String token = contents .stream() // Only use JsonObjects .filter(JsonObject.class::isInstance) @@ -105,6 +110,16 @@ public class YoutubeCommentsExtractor extends CommentsExtractor { return token; } + @Nullable + private JsonArray getJsonContents(final JsonObject nextResponse) { + try { + return JsonUtils.getArray(nextResponse, + "contents.twoColumnWatchNextResults.results.results.contents"); + } catch (final ParsingException e) { + return null; + } + } + @Nonnull private InfoItemsPage getInfoItemsPageForDisabledComments() { return new InfoItemsPage<>(Collections.emptyList(), null, Collections.emptyList()); From 69705138e495b15d6aa5af895679f98d54be6cac Mon Sep 17 00:00:00 2001 From: fynngodau Date: Sun, 2 Apr 2023 22:24:29 +0200 Subject: [PATCH 2/3] [Bandcamp] Fix extraction of related playlist items URL (#1047) Small change in HTML structure --- .../extractors/BandcampRelatedPlaylistInfoItemExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampRelatedPlaylistInfoItemExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampRelatedPlaylistInfoItemExtractor.java index d485b0b3f..55b319936 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampRelatedPlaylistInfoItemExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampRelatedPlaylistInfoItemExtractor.java @@ -25,7 +25,7 @@ public class BandcampRelatedPlaylistInfoItemExtractor implements PlaylistInfoIte @Override public String getUrl() throws ParsingException { - return relatedAlbum.getElementsByClass("title-and-artist").attr("abs:href"); + return relatedAlbum.getElementsByClass("album-link").attr("abs:href"); } @Override From 8495ad619ebad02a0c483b3931ed5f06d42f0b30 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Sun, 2 Apr 2023 22:35:02 +0200 Subject: [PATCH 3/3] Bump version to 0.22.6 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 8ac41c00b..68c194fd9 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ allprojects { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 - version 'v0.22.5' + version 'v0.22.6' group 'com.github.TeamNewPipe' repositories {