Add content language option

This commit is contained in:
Vasily 2018-09-01 20:39:45 +03:00
parent f498dd7875
commit db1832a551
3 changed files with 14 additions and 2 deletions

View File

@ -20,6 +20,8 @@ public abstract class Extractor {
@Nullable
private boolean pageFetched = false;
private final Downloader downloader;
@Nullable
private String language = null;
public Extractor(final StreamingService service, final LinkHandler uIHandler) {
if(service == null) throw new NullPointerException("service is null");
@ -100,4 +102,13 @@ public abstract class Extractor {
public Downloader getDownloader() {
return downloader;
}
public void setLanguage(@Nullable String language) {
this.language = language;
}
@Nonnull
public String getLanguage() {
return language == null ? "us" : language;
}
}

View File

@ -55,7 +55,7 @@ public class YoutubeChannelExtractor extends ChannelExtractor {
@Override
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException {
String channelUrl = super.getUrl() + CHANNEL_URL_PARAMETERS;
String channelUrl = super.getUrl() + CHANNEL_URL_PARAMETERS + "&hl=" + getLanguage();
String pageContent = downloader.download(channelUrl);
doc = Jsoup.parse(pageContent, channelUrl);
}

View File

@ -50,8 +50,9 @@ public class YoutubeTrendingExtractor extends KioskExtractor {
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException {
final String contentCountry = getContentCountry();
String url = getUrl();
url += "?hl=" + getLanguage();
if(contentCountry != null && !contentCountry.isEmpty()) {
url += "?gl=" + contentCountry;
url += "&gl=" + contentCountry;
}
String pageContent = downloader.download(url);