61 lines
1.8 KiB
Java
61 lines
1.8 KiB
Java
// Created by Fynn Godau 2021, licensed GNU GPL version 3 or later
|
|
|
|
package org.schabi.newpipe.extractor.services.bandcamp.extractors;
|
|
|
|
import org.jsoup.nodes.Element;
|
|
import org.schabi.newpipe.extractor.Image;
|
|
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
|
import org.schabi.newpipe.extractor.playlist.PlaylistInfoItemExtractor;
|
|
|
|
import javax.annotation.Nonnull;
|
|
import java.util.List;
|
|
|
|
import static org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampExtractorHelper.getImagesFromImageUrl;
|
|
|
|
/**
|
|
* Extracts recommended albums from tracks' website
|
|
*/
|
|
public class BandcampRelatedPlaylistInfoItemExtractor implements PlaylistInfoItemExtractor {
|
|
private final Element relatedAlbum;
|
|
|
|
public BandcampRelatedPlaylistInfoItemExtractor(@Nonnull final Element relatedAlbum) {
|
|
this.relatedAlbum = relatedAlbum;
|
|
}
|
|
|
|
@Override
|
|
public String getName() throws ParsingException {
|
|
return relatedAlbum.getElementsByClass("release-title").text();
|
|
}
|
|
|
|
@Override
|
|
public String getUrl() throws ParsingException {
|
|
return relatedAlbum.getElementsByClass("album-link").attr("abs:href");
|
|
}
|
|
|
|
@Nonnull
|
|
@Override
|
|
public List<Image> getThumbnails() throws ParsingException {
|
|
return getImagesFromImageUrl(relatedAlbum.getElementsByClass("album-art").attr("src"));
|
|
}
|
|
|
|
@Override
|
|
public String getUploaderName() throws ParsingException {
|
|
return relatedAlbum.getElementsByClass("by-artist").text().replace("by ", "");
|
|
}
|
|
|
|
@Override
|
|
public String getUploaderUrl() throws ParsingException {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public boolean isUploaderVerified() throws ParsingException {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public long getStreamCount() throws ParsingException {
|
|
return -1;
|
|
}
|
|
}
|