mirror of
https://github.com/TeamNewPipe/NewPipeExtractor.git
synced 2025-04-29 00:10:35 +05:30
[PeerTube] Apply changes in Extractors and remove usages of default avatar picture
The default avatar picture was used when no profile picture was found, but it was removed and split in multiple images. Thumbnails' size is not known, as this data is not provided by the API.
This commit is contained in:
parent
0a6011a50e
commit
4e6fb368bc
@ -4,6 +4,7 @@ import com.grack.nanojson.JsonArray;
|
||||
import com.grack.nanojson.JsonObject;
|
||||
import com.grack.nanojson.JsonParser;
|
||||
import com.grack.nanojson.JsonParserException;
|
||||
import org.schabi.newpipe.extractor.Image;
|
||||
import org.schabi.newpipe.extractor.StreamingService;
|
||||
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
|
||||
import org.schabi.newpipe.extractor.channel.tabs.ChannelTabs;
|
||||
@ -22,6 +23,9 @@ import javax.annotation.Nullable;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.getAvatarsFromOwnerAccountOrVideoChannelObject;
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.getBannersFromAccountOrVideoChannelObject;
|
||||
|
||||
public class PeertubeAccountExtractor extends ChannelExtractor {
|
||||
private JsonObject json;
|
||||
private final String baseUrl;
|
||||
@ -33,20 +37,16 @@ public class PeertubeAccountExtractor extends ChannelExtractor {
|
||||
this.baseUrl = getBaseUrl();
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getAvatarUrl() {
|
||||
String value;
|
||||
try {
|
||||
value = JsonUtils.getString(json, "avatar.path");
|
||||
} catch (final Exception e) {
|
||||
value = "/client/assets/images/default-avatar.png";
|
||||
}
|
||||
return baseUrl + value;
|
||||
public List<Image> getAvatars() {
|
||||
return getAvatarsFromOwnerAccountOrVideoChannelObject(baseUrl, json);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getBannerUrl() {
|
||||
return null;
|
||||
public List<Image> getBanners() {
|
||||
return getBannersFromAccountOrVideoChannelObject(baseUrl, json);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -99,9 +99,10 @@ public class PeertubeAccountExtractor extends ChannelExtractor {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getParentChannelAvatarUrl() {
|
||||
return "";
|
||||
public List<Image> getParentChannelAvatars() {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -3,6 +3,7 @@ package org.schabi.newpipe.extractor.services.peertube.extractors;
|
||||
import com.grack.nanojson.JsonObject;
|
||||
import com.grack.nanojson.JsonParser;
|
||||
import com.grack.nanojson.JsonParserException;
|
||||
import org.schabi.newpipe.extractor.Image;
|
||||
import org.schabi.newpipe.extractor.StreamingService;
|
||||
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
|
||||
import org.schabi.newpipe.extractor.channel.tabs.ChannelTabs;
|
||||
@ -20,6 +21,9 @@ import javax.annotation.Nullable;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.getAvatarsFromOwnerAccountOrVideoChannelObject;
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.getBannersFromAccountOrVideoChannelObject;
|
||||
|
||||
public class PeertubeChannelExtractor extends ChannelExtractor {
|
||||
private JsonObject json;
|
||||
private final String baseUrl;
|
||||
@ -30,20 +34,16 @@ public class PeertubeChannelExtractor extends ChannelExtractor {
|
||||
this.baseUrl = getBaseUrl();
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getAvatarUrl() {
|
||||
String value;
|
||||
try {
|
||||
value = JsonUtils.getString(json, "avatar.path");
|
||||
} catch (final Exception e) {
|
||||
value = "/client/assets/images/default-avatar.png";
|
||||
}
|
||||
return baseUrl + value;
|
||||
public List<Image> getAvatars() {
|
||||
return getAvatarsFromOwnerAccountOrVideoChannelObject(baseUrl, json);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getBannerUrl() {
|
||||
return null;
|
||||
public List<Image> getBanners() {
|
||||
return getBannersFromAccountOrVideoChannelObject(baseUrl, json);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -72,15 +72,11 @@ public class PeertubeChannelExtractor extends ChannelExtractor {
|
||||
return JsonUtils.getString(json, "ownerAccount.url");
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getParentChannelAvatarUrl() {
|
||||
String value;
|
||||
try {
|
||||
value = JsonUtils.getString(json, "ownerAccount.avatar.path");
|
||||
} catch (final Exception e) {
|
||||
value = "/client/assets/images/default-avatar.png";
|
||||
}
|
||||
return baseUrl + value;
|
||||
public List<Image> getParentChannelAvatars() {
|
||||
return getAvatarsFromOwnerAccountOrVideoChannelObject(
|
||||
baseUrl, json.getObject("ownerAccount"));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -3,6 +3,7 @@ package org.schabi.newpipe.extractor.services.peertube.extractors;
|
||||
import com.grack.nanojson.JsonObject;
|
||||
import com.grack.nanojson.JsonParser;
|
||||
import com.grack.nanojson.JsonParserException;
|
||||
import org.schabi.newpipe.extractor.Image;
|
||||
import org.schabi.newpipe.extractor.Page;
|
||||
import org.schabi.newpipe.extractor.StreamingService;
|
||||
import org.schabi.newpipe.extractor.downloader.Downloader;
|
||||
@ -19,11 +20,14 @@ import org.schabi.newpipe.extractor.utils.Utils;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.COUNT_KEY;
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.ITEMS_PER_PAGE;
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.START_KEY;
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.collectItemsFrom;
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.getAvatarsFromOwnerAccountOrVideoChannelObject;
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.getThumbnailsFromPlaylistOrVideoItem;
|
||||
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
|
||||
|
||||
public class PeertubePlaylistExtractor extends PlaylistExtractor {
|
||||
@ -36,8 +40,8 @@ public class PeertubePlaylistExtractor extends PlaylistExtractor {
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getThumbnailUrl() throws ParsingException {
|
||||
return getBaseUrl() + playlistInfo.getString("thumbnailPath");
|
||||
public List<Image> getThumbnails() throws ParsingException {
|
||||
return getThumbnailsFromPlaylistOrVideoItem(getBaseUrl(), playlistInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -50,10 +54,11 @@ public class PeertubePlaylistExtractor extends PlaylistExtractor {
|
||||
return playlistInfo.getObject("ownerAccount").getString("displayName");
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getUploaderAvatarUrl() throws ParsingException {
|
||||
return getBaseUrl()
|
||||
+ playlistInfo.getObject("ownerAccount").getObject("avatar").getString("path");
|
||||
public List<Image> getUploaderAvatars() throws ParsingException {
|
||||
return getAvatarsFromOwnerAccountOrVideoChannelObject(getBaseUrl(),
|
||||
playlistInfo.getObject("ownerAccount"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -90,9 +95,9 @@ public class PeertubePlaylistExtractor extends PlaylistExtractor {
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getSubChannelAvatarUrl() throws ParsingException {
|
||||
return getBaseUrl()
|
||||
+ playlistInfo.getObject("videoChannel").getObject("avatar").getString("path");
|
||||
public List<Image> getSubChannelAvatars() throws ParsingException {
|
||||
return getAvatarsFromOwnerAccountOrVideoChannelObject(getBaseUrl(),
|
||||
playlistInfo.getObject("videoChannel"));
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
|
@ -1,5 +1,7 @@
|
||||
package org.schabi.newpipe.extractor.services.peertube.extractors;
|
||||
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.getAvatarsFromOwnerAccountOrVideoChannelObject;
|
||||
import static org.schabi.newpipe.extractor.services.peertube.PeertubeParsingHelper.getThumbnailsFromPlaylistOrVideoItem;
|
||||
import static org.schabi.newpipe.extractor.stream.AudioStream.UNKNOWN_BITRATE;
|
||||
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
|
||||
|
||||
@ -7,7 +9,7 @@ import com.grack.nanojson.JsonArray;
|
||||
import com.grack.nanojson.JsonObject;
|
||||
import com.grack.nanojson.JsonParser;
|
||||
import com.grack.nanojson.JsonParserException;
|
||||
|
||||
import org.schabi.newpipe.extractor.Image;
|
||||
import org.schabi.newpipe.extractor.MediaFormat;
|
||||
import org.schabi.newpipe.extractor.NewPipe;
|
||||
import org.schabi.newpipe.extractor.StreamingService;
|
||||
@ -87,8 +89,8 @@ public class PeertubeStreamExtractor extends StreamExtractor {
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getThumbnailUrl() throws ParsingException {
|
||||
return baseUrl + JsonUtils.getString(json, "previewPath");
|
||||
public List<Image> getThumbnails() throws ParsingException {
|
||||
return getThumbnailsFromPlaylistOrVideoItem(baseUrl, json);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@ -176,14 +178,8 @@ public class PeertubeStreamExtractor extends StreamExtractor {
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getUploaderAvatarUrl() {
|
||||
String value;
|
||||
try {
|
||||
value = JsonUtils.getString(json, "account.avatar.path");
|
||||
} catch (final Exception e) {
|
||||
value = "/client/assets/images/default-avatar.png";
|
||||
}
|
||||
return baseUrl + value;
|
||||
public List<Image> getUploaderAvatars() {
|
||||
return getAvatarsFromOwnerAccountOrVideoChannelObject(baseUrl, json.getObject("account"));
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@ -200,14 +196,8 @@ public class PeertubeStreamExtractor extends StreamExtractor {
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public String getSubChannelAvatarUrl() {
|
||||
String value;
|
||||
try {
|
||||
value = JsonUtils.getString(json, "channel.avatar.path");
|
||||
} catch (final Exception e) {
|
||||
value = "/client/assets/images/default-avatar.png";
|
||||
}
|
||||
return baseUrl + value;
|
||||
public List<Image> getSubChannelAvatars() {
|
||||
return getAvatarsFromOwnerAccountOrVideoChannelObject(baseUrl, json.getObject("channel"));
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
|
Loading…
x
Reference in New Issue
Block a user