From 2a8729aeb28c5ed3d24891f51923b9fe98cf10a0 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Sat, 31 Dec 2022 18:23:28 +0100 Subject: [PATCH] Apply suggestions Co-authored-by: Stypox --- .../peertube/PeertubeParsingHelper.java | 12 +++++----- .../PeertubeChannelInfoItemExtractor.java | 22 ++++++------------- 2 files changed, 12 insertions(+), 22 deletions(-) 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 fb01f2d4..260c3409 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 @@ -111,14 +111,12 @@ public final class PeertubeParsingHelper { final InfoItemExtractor extractor; if (sepia) { extractor = new PeertubeSepiaStreamInfoItemExtractor(item, baseUrl); + } else if (isPlaylistInfoItem) { + extractor = new PeertubePlaylistInfoItemExtractor(item, baseUrl); + } else if (isChannelInfoItem) { + extractor = new PeertubeChannelInfoItemExtractor(item, baseUrl); } else { - if (isPlaylistInfoItem) { - extractor = new PeertubePlaylistInfoItemExtractor(item, baseUrl); - } else if (isChannelInfoItem) { - extractor = new PeertubeChannelInfoItemExtractor(item, baseUrl); - } else { - extractor = new PeertubeStreamInfoItemExtractor(item, baseUrl); - } + extractor = new PeertubeStreamInfoItemExtractor(item, baseUrl); } collector.commit(extractor); } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeChannelInfoItemExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeChannelInfoItemExtractor.java index 7bdfe680..3ab1be53 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeChannelInfoItemExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeChannelInfoItemExtractor.java @@ -1,13 +1,12 @@ package org.schabi.newpipe.extractor.services.peertube.extractors; -import com.grack.nanojson.JsonArray; import com.grack.nanojson.JsonObject; - import org.schabi.newpipe.extractor.channel.ChannelExtractor; import org.schabi.newpipe.extractor.channel.ChannelInfoItemExtractor; import org.schabi.newpipe.extractor.exceptions.ParsingException; import javax.annotation.Nonnull; +import java.util.Comparator; public class PeertubeChannelInfoItemExtractor implements ChannelInfoItemExtractor { @@ -33,19 +32,12 @@ public class PeertubeChannelInfoItemExtractor implements ChannelInfoItemExtracto @Override public String getThumbnailUrl() throws ParsingException { - final JsonArray avatars = item.getArray("avatars"); - if (avatars.isEmpty()) { - return null; - } - int highestRes = -1; - JsonObject avatar = null; - for (final Object a: avatars) { - if (((JsonObject) a).getInt("width") > highestRes) { - avatar = (JsonObject) a; - highestRes = avatar.getInt("width"); - } - } - return baseUrl + avatar.getString("path"); + return item.getArray("avatars").stream() + .filter(JsonObject.class::isInstance) + .map(JsonObject.class::cast) + .max(Comparator.comparingInt(avatar -> avatar.getInt("width"))) + .map(avatar -> baseUrl + avatar.getString("path")) + .orElse(null); } @Override