导航菜单

页面标题

页面副标题

Kreate v1.5.0 - PeertubeSearchQueryHandlerFactory.java 源代码

正在查看: Kreate v1.5.0 应用的 PeertubeSearchQueryHandlerFactory.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package org.schabi.newpipe.extractor.services.peertube.linkHandler;

import java.util.List;
import org.schabi.newpipe.extractor.ServiceList;
import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.linkhandler.SearchQueryHandlerFactory;
import org.schabi.newpipe.extractor.utils.Utils;

public final class PeertubeSearchQueryHandlerFactory extends SearchQueryHandlerFactory {
    public static final String CHANNELS = "channels";
    private static final PeertubeSearchQueryHandlerFactory INSTANCE = new PeertubeSearchQueryHandlerFactory();
    public static final String PLAYLISTS = "playlists";
    public static final String SEARCH_ENDPOINT_CHANNELS = "/api/v1/search/video-channels";
    public static final String SEARCH_ENDPOINT_PLAYLISTS = "/api/v1/search/video-playlists";
    public static final String SEARCH_ENDPOINT_VIDEOS = "/api/v1/search/videos";
    public static final String SEPIA_BASE_URL = "https://sepiasearch.org";
    public static final String SEPIA_VIDEOS = "sepia_videos";
    public static final String VIDEOS = "videos";

    private PeertubeSearchQueryHandlerFactory() {
    }

    public static PeertubeSearchQueryHandlerFactory getInstance() {
        return INSTANCE;
    }

    @Override
    public String getUrl(String str, List<String> list, String str2) throws ParsingException, UnsupportedOperationException {
        String baseUrl;
        if (!list.isEmpty() && list.get(0).startsWith("sepia_")) {
            baseUrl = SEPIA_BASE_URL;
        } else {
            baseUrl = ServiceList.PeerTube.getBaseUrl();
        }
        return getUrl(str, list, str2, baseUrl);
    }

    @Override
    public String getUrl(String str, List<String> list, String str2, String str3) throws ParsingException, UnsupportedOperationException {
        String str4;
        if (list.isEmpty() || list.get(0).equals("videos") || list.get(0).equals(SEPIA_VIDEOS)) {
            str4 = SEARCH_ENDPOINT_VIDEOS;
        } else if (list.get(0).equals("channels")) {
            str4 = SEARCH_ENDPOINT_CHANNELS;
        } else {
            str4 = SEARCH_ENDPOINT_PLAYLISTS;
        }
        return str3 + str4 + "?search=" + Utils.encodeUrlUtf8(str);
    }

    @Override
    public String[] getAvailableContentFilter() {
        return new String[]{"videos", "playlists", "channels", SEPIA_VIDEOS};
    }
}