103 lines
3.3 KiB
Java
103 lines
3.3 KiB
Java
// Created by Fynn Godau 2019, licensed GNU GPL version 3 or later
|
|
|
|
package org.schabi.newpipe.extractor.services.bandcamp;
|
|
|
|
import org.schabi.newpipe.extractor.StreamingService;
|
|
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
|
|
import org.schabi.newpipe.extractor.comments.CommentsExtractor;
|
|
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
|
import org.schabi.newpipe.extractor.kiosk.KioskList;
|
|
import org.schabi.newpipe.extractor.linkhandler.*;
|
|
import org.schabi.newpipe.extractor.playlist.PlaylistExtractor;
|
|
import org.schabi.newpipe.extractor.search.SearchExtractor;
|
|
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampSearchExtractor;
|
|
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampStreamExtractor;
|
|
import org.schabi.newpipe.extractor.services.bandcamp.linkHandler.BandcampChannelLinkHandlerFactory;
|
|
import org.schabi.newpipe.extractor.services.bandcamp.linkHandler.BandcampSearchQueryHandlerFactory;
|
|
import org.schabi.newpipe.extractor.services.bandcamp.linkHandler.BandcampStreamLinkHandlerFactory;
|
|
import org.schabi.newpipe.extractor.stream.StreamExtractor;
|
|
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
|
|
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
|
|
|
|
import java.util.Collections;
|
|
|
|
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.AUDIO;
|
|
|
|
public class BandcampService extends StreamingService {
|
|
|
|
public BandcampService(int id) {
|
|
super(id, "bandcamp", Collections.singletonList(AUDIO));
|
|
}
|
|
|
|
@Override
|
|
public String getBaseUrl() {
|
|
return "https://bandcamp.com";
|
|
}
|
|
|
|
@Override
|
|
public LinkHandlerFactory getStreamLHFactory() {
|
|
return new BandcampStreamLinkHandlerFactory();
|
|
}
|
|
|
|
@Override
|
|
public ListLinkHandlerFactory getChannelLHFactory() {
|
|
//return new BandcampChannelLinkHandlerFactory(); TODO
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public ListLinkHandlerFactory getPlaylistLHFactory() {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public SearchQueryHandlerFactory getSearchQHFactory() {
|
|
return new BandcampSearchQueryHandlerFactory();
|
|
}
|
|
|
|
@Override
|
|
public ListLinkHandlerFactory getCommentsLHFactory() {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public SearchExtractor getSearchExtractor(SearchQueryHandler queryHandler) {
|
|
return new BandcampSearchExtractor(this, queryHandler);
|
|
}
|
|
|
|
@Override
|
|
public SuggestionExtractor getSuggestionExtractor() {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public SubscriptionExtractor getSubscriptionExtractor() {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public KioskList getKioskList() throws ExtractionException {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public ChannelExtractor getChannelExtractor(ListLinkHandler linkHandler) throws ExtractionException {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public PlaylistExtractor getPlaylistExtractor(ListLinkHandler linkHandler) throws ExtractionException {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public StreamExtractor getStreamExtractor(LinkHandler linkHandler) throws ExtractionException {
|
|
return new BandcampStreamExtractor(this, linkHandler);
|
|
}
|
|
|
|
@Override
|
|
public CommentsExtractor getCommentsExtractor(ListLinkHandler linkHandler) throws ExtractionException {
|
|
return null;
|
|
}
|
|
}
|