2020-05-25 18:51:31 +02:00
|
|
|
package org.schabi.newpipe.extractor.services.bandcamp.extractors.streaminfoitem;
|
|
|
|
|
|
|
|
import org.jsoup.nodes.Element;
|
|
|
|
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
2022-03-17 17:13:25 +01:00
|
|
|
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampExtractorHelper;
|
2020-05-25 18:51:31 +02:00
|
|
|
|
2021-09-01 20:40:00 +02:00
|
|
|
import javax.annotation.Nullable;
|
|
|
|
|
2020-05-25 18:51:31 +02:00
|
|
|
public class BandcampSearchStreamInfoItemExtractor extends BandcampStreamInfoItemExtractor {
|
|
|
|
|
2022-03-18 17:50:25 +01:00
|
|
|
private final Element resultInfo;
|
|
|
|
private final Element searchResult;
|
2020-05-25 18:51:31 +02:00
|
|
|
|
2022-03-18 17:50:25 +01:00
|
|
|
public BandcampSearchStreamInfoItemExtractor(final Element searchResult,
|
|
|
|
final String uploaderUrl) {
|
2020-05-25 18:51:31 +02:00
|
|
|
super(uploaderUrl);
|
|
|
|
this.searchResult = searchResult;
|
|
|
|
resultInfo = searchResult.getElementsByClass("result-info").first();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2020-06-04 12:02:18 +02:00
|
|
|
public String getUploaderName() {
|
2020-11-24 09:41:40 +01:00
|
|
|
final String subhead = resultInfo.getElementsByClass("subhead").text();
|
|
|
|
final String[] splitBy = subhead.split("by ");
|
2020-05-25 18:51:31 +02:00
|
|
|
if (splitBy.length > 1) {
|
|
|
|
return splitBy[1];
|
2020-06-04 12:02:18 +02:00
|
|
|
} else {
|
|
|
|
return splitBy[0];
|
|
|
|
}
|
2020-05-25 18:51:31 +02:00
|
|
|
}
|
|
|
|
|
2021-09-01 20:40:00 +02:00
|
|
|
@Nullable
|
|
|
|
@Override
|
2021-09-02 12:42:37 +02:00
|
|
|
public String getUploaderAvatarUrl() {
|
2021-09-01 20:40:00 +02:00
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2020-05-25 18:51:31 +02:00
|
|
|
@Override
|
|
|
|
public String getName() throws ParsingException {
|
|
|
|
return resultInfo.getElementsByClass("heading").text();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getUrl() throws ParsingException {
|
|
|
|
return resultInfo.getElementsByClass("itemurl").text();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getThumbnailUrl() throws ParsingException {
|
2022-03-17 17:13:25 +01:00
|
|
|
return BandcampExtractorHelper.getThumbnailUrlFromSearchResult(searchResult);
|
2020-05-25 18:51:31 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public long getDuration() {
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
}
|