2023-02-16 07:55:03 +00:00
|
|
|
package org.schabi.newpipe.extractor.services.xh;
|
|
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.List;
|
|
|
|
import org.schabi.newpipe.extractor.StreamingService;
|
|
|
|
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
|
|
|
|
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.LinkHandler;
|
|
|
|
import org.schabi.newpipe.extractor.linkhandler.LinkHandlerFactory;
|
|
|
|
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
|
|
|
|
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandlerFactory;
|
|
|
|
import org.schabi.newpipe.extractor.linkhandler.SearchQueryHandler;
|
|
|
|
import org.schabi.newpipe.extractor.linkhandler.SearchQueryHandlerFactory;
|
|
|
|
import org.schabi.newpipe.extractor.playlist.PlaylistExtractor;
|
|
|
|
import org.schabi.newpipe.extractor.search.SearchExtractor;
|
2023-02-16 14:26:03 +00:00
|
|
|
import org.schabi.newpipe.extractor.services.xh.extractors.XhSearchExtractor;
|
2023-02-16 07:55:03 +00:00
|
|
|
import org.schabi.newpipe.extractor.services.xh.extractors.XhStreamExtractor;
|
2023-03-10 09:21:13 +00:00
|
|
|
import org.schabi.newpipe.extractor.services.xh.linkHandler.XhSearchQueryHandlerFactory;
|
|
|
|
import org.schabi.newpipe.extractor.services.xh.linkHandler.XhStreamLinkHandlerFactory;
|
2023-02-16 07:55:03 +00:00
|
|
|
import org.schabi.newpipe.extractor.stream.StreamExtractor;
|
|
|
|
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
|
|
|
|
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
|
|
|
|
|
|
|
|
public class XhService extends StreamingService {
|
2023-03-08 16:23:58 +00:00
|
|
|
|
2023-02-16 07:55:03 +00:00
|
|
|
// name
|
|
|
|
final static String NAME = "Xhamsters";
|
2023-03-08 16:23:58 +00:00
|
|
|
|
2023-02-16 07:55:03 +00:00
|
|
|
// host
|
2023-03-10 09:21:13 +00:00
|
|
|
public final static String HOST = "xhamster19.desi";
|
2023-02-16 07:55:03 +00:00
|
|
|
public final static String BASE_URL = "https://" + HOST + "/";
|
|
|
|
|
|
|
|
// constructor
|
|
|
|
public XhService(final int id) {
|
|
|
|
super(id, NAME, Arrays.asList(VIDEO));
|
|
|
|
}
|
2023-03-08 16:23:58 +00:00
|
|
|
|
2023-02-16 07:55:03 +00:00
|
|
|
public XhService(int id, String name, List<ServiceInfo.MediaCapability> capabilities) {
|
|
|
|
super(id, NAME, Arrays.asList(VIDEO));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getBaseUrl() {
|
|
|
|
return BASE_URL;
|
|
|
|
}
|
2023-03-08 16:23:58 +00:00
|
|
|
|
2023-02-16 14:26:03 +00:00
|
|
|
@Override
|
|
|
|
public SearchExtractor getSearchExtractor(SearchQueryHandler query) {
|
|
|
|
return new XhSearchExtractor(this, query);
|
|
|
|
}
|
2023-02-16 07:55:03 +00:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public LinkHandlerFactory getStreamLHFactory() {
|
2023-03-10 09:21:13 +00:00
|
|
|
return new XhStreamLinkHandlerFactory();
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ListLinkHandlerFactory getChannelLHFactory() {
|
2023-02-16 14:26:03 +00:00
|
|
|
return null;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ListLinkHandlerFactory getPlaylistLHFactory() {
|
2023-02-16 14:26:03 +00:00
|
|
|
return null;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public SearchQueryHandlerFactory getSearchQHFactory() {
|
2023-03-10 09:21:13 +00:00
|
|
|
return XhSearchQueryHandlerFactory.getInstance();
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ListLinkHandlerFactory getCommentsLHFactory() {
|
2023-02-16 14:26:03 +00:00
|
|
|
return null;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
2023-03-08 16:23:58 +00:00
|
|
|
|
2023-02-16 07:55:03 +00:00
|
|
|
@Override
|
|
|
|
public SuggestionExtractor getSuggestionExtractor() {
|
2023-02-16 14:26:03 +00:00
|
|
|
return null;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public SubscriptionExtractor getSubscriptionExtractor() {
|
2023-02-16 14:26:03 +00:00
|
|
|
return null;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public KioskList getKioskList() throws ExtractionException {
|
2023-03-08 16:23:58 +00:00
|
|
|
// Return Empty List
|
|
|
|
// patch: if (kioskId == null) { return "" }
|
|
|
|
KioskList list = new KioskList(this);
|
2023-02-16 19:06:47 +00:00
|
|
|
return list;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ChannelExtractor getChannelExtractor(ListLinkHandler linkHandler) throws ExtractionException {
|
2023-02-16 14:26:03 +00:00
|
|
|
return null;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public PlaylistExtractor getPlaylistExtractor(ListLinkHandler linkHandler) throws ExtractionException {
|
2023-02-16 14:26:03 +00:00
|
|
|
return null;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public StreamExtractor getStreamExtractor(LinkHandler linkHandler) throws ExtractionException {
|
|
|
|
return new XhStreamExtractor(this, linkHandler);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public CommentsExtractor getCommentsExtractor(ListLinkHandler linkHandler) throws ExtractionException {
|
2023-02-16 14:26:03 +00:00
|
|
|
return null;
|
2023-02-16 07:55:03 +00:00
|
|
|
}
|
2023-03-08 16:23:58 +00:00
|
|
|
}
|