2019-12-22 02:55:54 +01:00
|
|
|
package org.schabi.newpipe.extractor.services.bandcamp.extractors;
|
|
|
|
|
2020-04-20 22:06:48 +02:00
|
|
|
import org.jsoup.nodes.Element;
|
2019-12-22 02:55:54 +01:00
|
|
|
import org.schabi.newpipe.extractor.playlist.PlaylistInfoItemExtractor;
|
|
|
|
|
2020-11-24 09:41:40 +01:00
|
|
|
import javax.annotation.Nonnull;
|
|
|
|
|
2019-12-22 02:55:54 +01:00
|
|
|
public class BandcampPlaylistInfoItemExtractor implements PlaylistInfoItemExtractor {
|
2022-03-18 17:50:25 +01:00
|
|
|
private final Element searchResult;
|
|
|
|
private final Element resultInfo;
|
2019-12-22 02:55:54 +01:00
|
|
|
|
2022-03-18 17:50:25 +01:00
|
|
|
public BandcampPlaylistInfoItemExtractor(@Nonnull final Element searchResult) {
|
2020-05-25 18:51:31 +02:00
|
|
|
this.searchResult = searchResult;
|
|
|
|
resultInfo = searchResult.getElementsByClass("result-info").first();
|
2019-12-22 02:55:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getUploaderName() {
|
2020-05-25 18:51:31 +02:00
|
|
|
return resultInfo.getElementsByClass("subhead").text()
|
|
|
|
.split(" by")[0];
|
2019-12-22 02:55:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2019-12-22 14:07:56 +01:00
|
|
|
public long getStreamCount() {
|
2020-11-24 09:41:40 +01:00
|
|
|
final String length = resultInfo.getElementsByClass("length").text();
|
2020-05-25 18:51:31 +02:00
|
|
|
return Integer.parseInt(length.split(" track")[0]);
|
2019-12-22 02:55:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getName() {
|
2020-05-25 18:51:31 +02:00
|
|
|
return resultInfo.getElementsByClass("heading").text();
|
2019-12-22 02:55:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getUrl() {
|
2020-05-25 18:51:31 +02:00
|
|
|
return resultInfo.getElementsByClass("itemurl").text();
|
2019-12-22 02:55:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getThumbnailUrl() {
|
2022-03-17 17:13:25 +01:00
|
|
|
return BandcampExtractorHelper.getThumbnailUrlFromSearchResult(searchResult);
|
2019-12-22 02:55:54 +01:00
|
|
|
}
|
|
|
|
}
|