From 1a6e92ebf6e1ba2db6076cf06660991b8972cf8f Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 9 May 2020 09:52:24 +0200 Subject: [PATCH] add getSubChannel Name, Url and AvatarUrl for playlists --- .../extractor/playlist/PlaylistExtractor.java | 7 +++++++ .../extractors/PeertubePlaylistExtractor.java | 18 ++++++++++++++++++ .../SoundcloudPlaylistExtractor.java | 18 ++++++++++++++++++ .../extractors/YoutubePlaylistExtractor.java | 18 ++++++++++++++++++ 4 files changed, 61 insertions(+) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/playlist/PlaylistExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/playlist/PlaylistExtractor.java index 2a901dbf0..90b89022f 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/playlist/PlaylistExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/playlist/PlaylistExtractor.java @@ -6,6 +6,8 @@ import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler; import org.schabi.newpipe.extractor.stream.StreamInfoItem; +import javax.annotation.Nonnull; + public abstract class PlaylistExtractor extends ListExtractor { public PlaylistExtractor(StreamingService service, ListLinkHandler linkHandler) { @@ -20,4 +22,9 @@ public abstract class PlaylistExtractor extends ListExtractor { public abstract String getUploaderAvatarUrl() throws ParsingException; public abstract long getStreamCount() throws ParsingException; + + @Nonnull public abstract String getSubChannelName() throws ParsingException; + @Nonnull public abstract String getSubChannelUrl() throws ParsingException; + @Nonnull public abstract String getSubChannelAvatarUrl() throws ParsingException; + } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubePlaylistExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubePlaylistExtractor.java index 76509ce8c..c689096ab 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubePlaylistExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubePlaylistExtractor.java @@ -63,6 +63,24 @@ public class PeertubePlaylistExtractor extends PlaylistExtractor { return playlistInfo.getNumber("videosLength").longValue(); } + @Nonnull + @Override + public String getSubChannelName() throws ParsingException { + return playlistInfo.getObject("videoChannel").getString("displayName"); + } + + @Nonnull + @Override + public String getSubChannelUrl() throws ParsingException { + return playlistInfo.getObject("videoChannel").getString("url"); + } + + @Nonnull + @Override + public String getSubChannelAvatarUrl() throws ParsingException { + return getBaseUrl() + playlistInfo.getObject("videoChannel").getObject("avatar").getString("path"); + } + @Nonnull @Override public InfoItemsPage getInitialPage() throws IOException, ExtractionException { diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudPlaylistExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudPlaylistExtractor.java index a529556ee..50ad8ad69 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudPlaylistExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudPlaylistExtractor.java @@ -114,6 +114,24 @@ public class SoundcloudPlaylistExtractor extends PlaylistExtractor { return playlist.getNumber("track_count", 0).longValue(); } + @Nonnull + @Override + public String getSubChannelName() throws ParsingException { + return ""; + } + + @Nonnull + @Override + public String getSubChannelUrl() throws ParsingException { + return ""; + } + + @Nonnull + @Override + public String getSubChannelAvatarUrl() throws ParsingException { + return ""; + } + @Nonnull @Override public InfoItemsPage getInitialPage() throws IOException, ExtractionException { diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java index de2a0e714..dcb22506d 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java @@ -149,6 +149,24 @@ public class YoutubePlaylistExtractor extends PlaylistExtractor { } } + @Nonnull + @Override + public String getSubChannelName() throws ParsingException { + return ""; + } + + @Nonnull + @Override + public String getSubChannelUrl() throws ParsingException { + return ""; + } + + @Nonnull + @Override + public String getSubChannelAvatarUrl() throws ParsingException { + return ""; + } + @Nonnull @Override public InfoItemsPage getInitialPage() {