导航菜单

页面标题

页面副标题

Kreate v1.5.0 - BandcampStreamLinkHandlerFactory.java 源代码

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

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


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

import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.linkhandler.LinkHandlerFactory;
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampExtractorHelper;
import org.schabi.newpipe.extractor.utils.Utils;

public final class BandcampStreamLinkHandlerFactory extends LinkHandlerFactory {
    private static final BandcampStreamLinkHandlerFactory INSTANCE = new BandcampStreamLinkHandlerFactory();

    private BandcampStreamLinkHandlerFactory() {
    }

    public static BandcampStreamLinkHandlerFactory getInstance() {
        return INSTANCE;
    }

    @Override
    public String getId(String str) throws ParsingException, UnsupportedOperationException {
        if (BandcampExtractorHelper.isRadioUrl(str)) {
            return str.split("bandcamp.com/\\?show=")[1];
        }
        return getUrl(str);
    }

    @Override
    public String getUrl(String str) throws ParsingException, UnsupportedOperationException {
        if (str.matches("\\d+")) {
            return "https://bandcamp.com/?show=" + str;
        }
        return Utils.replaceHttpWithHttps(str);
    }

    @Override
    public boolean onAcceptUrl(String str) throws ParsingException {
        if (BandcampExtractorHelper.isRadioUrl(str)) {
            return true;
        }
        if (str.toLowerCase().matches("https?://.+\\..+/track/.+")) {
            return BandcampExtractorHelper.isArtistDomain(str);
        }
        return false;
    }
}