package org.schabi.newpipe.extractor.services.soundcloud; import org.schabi.newpipe.extractor.UrlIdHandler; import org.schabi.newpipe.extractor.utils.Parser; public class SoundcloudChartsUrlIdHandler implements UrlIdHandler { private final String TOP_URL_PATTERN = "^https?://(www\\.|m\\.)?soundcloud.com/charts(/top)?/?([#?].*)?$"; private final String URL_PATTERN = "^https?://(www\\.|m\\.)?soundcloud.com/charts(/top|/new)?/?([#?].*)?$"; public String getUrl(String id) { if (id.equals("Top 50")) { return "https://soundcloud.com/charts/top"; } else { return "https://soundcloud.com/charts/new"; } } @Override public String getId(String url) { if (Parser.isMatch(TOP_URL_PATTERN, url.toLowerCase())) { return "Top 50"; } else { return "New & hot"; } } @Override public String cleanUrl(String url) { if (Parser.isMatch(TOP_URL_PATTERN, url.toLowerCase())) { return "https://soundcloud.com/charts/top"; } else { return "https://soundcloud.com/charts/new"; } } @Override public boolean acceptUrl(String url) { return Parser.isMatch(URL_PATTERN, url.toLowerCase()); } }