41 lines
1.2 KiB
Java
41 lines
1.2 KiB
Java
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());
|
|
}
|
|
}
|