From bbee15474d64b7994493d477c5cc236428308d5b Mon Sep 17 00:00:00 2001 From: TobiGr Date: Thu, 25 Mar 2021 19:10:11 +0100 Subject: [PATCH 1/3] [PeerTube] Fix playlist extraction --- .../services/peertube/PeertubeParsingHelper.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/PeertubeParsingHelper.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/PeertubeParsingHelper.java index 96d7d566c..b324cb1af 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/PeertubeParsingHelper.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/PeertubeParsingHelper.java @@ -86,7 +86,13 @@ public class PeertubeParsingHelper { for (final Object c : contents) { if (c instanceof JsonObject) { - final JsonObject item = (JsonObject) c; + JsonObject item = (JsonObject) c; + + // PeerTube playlists have the stream info encapsulated in an "video" object + if (item.has("video")) { + item = item.getObject("video"); + } + PeertubeStreamInfoItemExtractor extractor; if (sepia) { extractor = new PeertubeSepiaStreamInfoItemExtractor(item, baseUrl); From b0297792170146092341701e5d20e9daf7ea304d Mon Sep 17 00:00:00 2001 From: TobiGr Date: Thu, 25 Mar 2021 19:44:44 +0100 Subject: [PATCH 2/3] [media.cc.de] Disable unreliable tests for now --- .../MediaCCCLiveStreamListExtractorTest.java | 11 ++--------- .../media_ccc/MediaCCCRecentListExtractorTest.java | 3 ++- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCLiveStreamListExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCLiveStreamListExtractorTest.java index 5a6d99886..b11eab32c 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCLiveStreamListExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCLiveStreamListExtractorTest.java @@ -9,8 +9,6 @@ import org.schabi.newpipe.extractor.kiosk.KioskExtractor; import java.util.List; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import static org.schabi.newpipe.extractor.ServiceList.MediaCCC; public class MediaCCCLiveStreamListExtractorTest { @@ -23,15 +21,10 @@ public class MediaCCCLiveStreamListExtractorTest { extractor.fetchPage(); } - @Test public void getConferencesListTest() throws Exception { - final List a = extractor.getInitialPage().getItems(); - for (int i = 0; i < a.size(); i++) { - final InfoItem b = a.get(i); - assertNotNull(a.get(i).getName()); - assertTrue(a.get(i).getName().length() >= 1); - } + final List items = extractor.getInitialPage().getItems(); + // just test if there is an exception thrown } } diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCRecentListExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCRecentListExtractorTest.java index 60a4024d8..a22d74a12 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCRecentListExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCRecentListExtractorTest.java @@ -32,7 +32,8 @@ public class MediaCCCRecentListExtractorTest { for (final StreamInfoItem item: items) { assertFalse(isNullOrEmpty(item.getName())); assertTrue(item.getDuration() > 0); - assertTrue(item.getUploadDate().offsetDateTime().isBefore(OffsetDateTime.now())); + // Disabled for now, because sometimes videos are uploaded, but their release date is in the future + // assertTrue(item.getUploadDate().offsetDateTime().isBefore(OffsetDateTime.now())); } } From 070a40e181be3bf37b2ac2d2112a47bc6990a104 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Thu, 25 Mar 2021 21:47:10 +0100 Subject: [PATCH 3/3] [YouTube] Mix Playlist - Fix getting name --- .../youtube/extractors/YoutubeMixPlaylistExtractor.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java index 1957f2cc8..140392cce 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java @@ -13,6 +13,7 @@ import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler; import org.schabi.newpipe.extractor.localization.TimeAgoParser; import org.schabi.newpipe.extractor.playlist.PlaylistExtractor; +import org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper; import org.schabi.newpipe.extractor.stream.StreamInfoItem; import org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector; import org.schabi.newpipe.extractor.utils.JsonUtils; @@ -67,8 +68,8 @@ public class YoutubeMixPlaylistExtractor extends PlaylistExtractor { @Nonnull @Override public String getName() throws ParsingException { - final String name = playlistData.getString("title"); - if (name == null) { + final String name = YoutubeParsingHelper.getTextAtKey(playlistData, "title"); + if (isNullOrEmpty(name)) { throw new ParsingException("Could not get playlist name"); } return name;