From db1832a551c38c3fbb7dad56be6cc05d1f79906c Mon Sep 17 00:00:00 2001 From: Vasily Date: Sat, 1 Sep 2018 20:39:45 +0300 Subject: [PATCH] Add content language option --- .../java/org/schabi/newpipe/extractor/Extractor.java | 11 +++++++++++ .../youtube/extractors/YoutubeChannelExtractor.java | 2 +- .../youtube/extractors/YoutubeTrendingExtractor.java | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/Extractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/Extractor.java index ac2d7ca3e..20910918b 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/Extractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/Extractor.java @@ -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; + } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java index e8680d11f..2b9a1b02a 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java @@ -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); } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeTrendingExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeTrendingExtractor.java index b9cc118b1..e994dd2ca 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeTrendingExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeTrendingExtractor.java @@ -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);