Skip to content

Commit 05ef80c

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 99a0134 + 24cb684 commit 05ef80c

15 files changed

Lines changed: 53 additions & 74 deletions

extractor/src/main/java/org/schabi/newpipe/extractor/NewPipe.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public static void setLocalization(Localization localization) {
103103
NewPipe.localization = localization;
104104
}
105105

106-
public static Localization getLocalization() {
106+
public static Localization getPreferredLocalization() {
107107
return localization;
108108
}
109109
}

extractor/src/main/java/org/schabi/newpipe/extractor/StreamingService.java

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public String toString() {
8787
public abstract SearchExtractor getSearchExtractor(SearchQueryHandler queryHandler, Localization localization);
8888
public abstract SuggestionExtractor getSuggestionExtractor(Localization localization);
8989
public abstract SubscriptionExtractor getSubscriptionExtractor();
90-
public abstract KioskList getKioskList(Localization localization) throws ExtractionException;
90+
public abstract KioskList getKioskList() throws ExtractionException;
9191

9292
public abstract ChannelExtractor getChannelExtractor(ListLinkHandler linkHandler,
9393
Localization localization) throws ExtractionException;
@@ -102,27 +102,23 @@ public abstract CommentsExtractor getCommentsExtractor(ListLinkHandler linkHandl
102102
////////////////////////////////////////////
103103

104104
public SearchExtractor getSearchExtractor(SearchQueryHandler queryHandler) {
105-
return getSearchExtractor(queryHandler, NewPipe.getLocalization());
105+
return getSearchExtractor(queryHandler, NewPipe.getPreferredLocalization());
106106
}
107107

108108
public SuggestionExtractor getSuggestionExtractor() {
109-
return getSuggestionExtractor(NewPipe.getLocalization());
110-
}
111-
112-
public KioskList getKioskList() throws ExtractionException {
113-
return getKioskList(NewPipe.getLocalization());
109+
return getSuggestionExtractor(NewPipe.getPreferredLocalization());
114110
}
115111

116112
public ChannelExtractor getChannelExtractor(ListLinkHandler linkHandler) throws ExtractionException {
117-
return getChannelExtractor(linkHandler, NewPipe.getLocalization());
113+
return getChannelExtractor(linkHandler, NewPipe.getPreferredLocalization());
118114
}
119115

120116
public PlaylistExtractor getPlaylistExtractor(ListLinkHandler linkHandler) throws ExtractionException {
121-
return getPlaylistExtractor(linkHandler, NewPipe.getLocalization());
117+
return getPlaylistExtractor(linkHandler, NewPipe.getPreferredLocalization());
122118
}
123119

124120
public StreamExtractor getStreamExtractor(LinkHandler linkHandler) throws ExtractionException {
125-
return getStreamExtractor(linkHandler, NewPipe.getLocalization());
121+
return getStreamExtractor(linkHandler, NewPipe.getPreferredLocalization());
126122
}
127123

128124
public CommentsExtractor getCommentsExtractor(ListLinkHandler urlIdHandler) throws ExtractionException {
@@ -167,19 +163,19 @@ public PlaylistExtractor getPlaylistExtractor(String id,
167163
////////////////////////////////////////////
168164

169165
public SearchExtractor getSearchExtractor(String query) throws ExtractionException {
170-
return getSearchExtractor(getSearchQHFactory().fromQuery(query), NewPipe.getLocalization());
166+
return getSearchExtractor(getSearchQHFactory().fromQuery(query), NewPipe.getPreferredLocalization());
171167
}
172168

173169
public ChannelExtractor getChannelExtractor(String url) throws ExtractionException {
174-
return getChannelExtractor(getChannelLHFactory().fromUrl(url), NewPipe.getLocalization());
170+
return getChannelExtractor(getChannelLHFactory().fromUrl(url), NewPipe.getPreferredLocalization());
175171
}
176172

177173
public PlaylistExtractor getPlaylistExtractor(String url) throws ExtractionException {
178-
return getPlaylistExtractor(getPlaylistLHFactory().fromUrl(url), NewPipe.getLocalization());
174+
return getPlaylistExtractor(getPlaylistLHFactory().fromUrl(url), NewPipe.getPreferredLocalization());
179175
}
180176

181177
public StreamExtractor getStreamExtractor(String url) throws ExtractionException {
182-
return getStreamExtractor(getStreamLHFactory().fromUrl(url), NewPipe.getLocalization());
178+
return getStreamExtractor(getStreamLHFactory().fromUrl(url), NewPipe.getPreferredLocalization());
183179
}
184180

185181
public CommentsExtractor getCommentsExtractor(String url) throws ExtractionException {

extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelInfo.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ public static ChannelInfo getInfo(StreamingService service, String url) throws I
5151

5252
public static InfoItemsPage<StreamInfoItem> getMoreItems(StreamingService service,
5353
String url,
54-
String pageUrl,
55-
Localization localization) throws IOException, ExtractionException {
54+
String pageUrl) throws IOException, ExtractionException {
5655
return service.getChannelExtractor(url).getPage(pageUrl);
5756
}
5857

extractor/src/main/java/org/schabi/newpipe/extractor/kiosk/KioskExtractor.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import javax.annotation.Nonnull;
3131

3232
public abstract class KioskExtractor extends ListExtractor<StreamInfoItem> {
33-
private String contentCountry = null;
3433
private final String id;
3534

3635
public KioskExtractor(StreamingService streamingService,
@@ -41,17 +40,6 @@ public KioskExtractor(StreamingService streamingService,
4140
this.id = kioskId;
4241
}
4342

44-
/**
45-
* For certain Websites the content of a kiosk will be different depending
46-
* on the country you want to poen the website in. Therefore you should
47-
* set the contentCountry.
48-
* @param contentCountry Set the country decoded as Country Code: http://www.1728.org/countries.htm
49-
*/
50-
public void setContentCountry(String contentCountry) {
51-
this.contentCountry = contentCountry;
52-
}
53-
54-
5543
@Nonnull
5644
@Override
5745
public String getId() {
@@ -69,9 +57,4 @@ public String getId() {
6957
@Nonnull
7058
@Override
7159
public abstract String getName() throws ParsingException;
72-
73-
74-
public String getContentCountry() {
75-
return contentCountry;
76-
}
7760
}

extractor/src/main/java/org/schabi/newpipe/extractor/kiosk/KioskInfo.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,25 +37,20 @@ private KioskInfo(int serviceId, ListLinkHandler linkHandler, String name) throw
3737

3838
public static ListExtractor.InfoItemsPage<StreamInfoItem> getMoreItems(StreamingService service,
3939
String url,
40-
String pageUrl,
41-
String contentCountry) throws IOException, ExtractionException {
40+
String pageUrl) throws IOException, ExtractionException {
4241
KioskList kl = service.getKioskList();
4342
KioskExtractor extractor = kl.getExtractorByUrl(url, pageUrl);
44-
extractor.setContentCountry(contentCountry);
4543
return extractor.getPage(pageUrl);
4644
}
4745

48-
public static KioskInfo getInfo(String url,
49-
String contentCountry) throws IOException, ExtractionException {
50-
return getInfo(NewPipe.getServiceByUrl(url), url, contentCountry);
46+
public static KioskInfo getInfo(String url) throws IOException, ExtractionException {
47+
return getInfo(NewPipe.getServiceByUrl(url), url);
5148
}
5249

5350
public static KioskInfo getInfo(StreamingService service,
54-
String url,
55-
String contentCountry) throws IOException, ExtractionException {
51+
String url) throws IOException, ExtractionException {
5652
KioskList kl = service.getKioskList();
5753
KioskExtractor extractor = kl.getExtractorByUrl(url, null);
58-
extractor.setContentCountry(contentCountry);
5954
extractor.fetchPage();
6055
return getInfo(extractor);
6156
}

extractor/src/main/java/org/schabi/newpipe/extractor/kiosk/KioskList.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ KioskExtractor createNewKiosk(final StreamingService streamingService,
2323
private final int service_id;
2424
private final HashMap<String, KioskEntry> kioskList = new HashMap<>();
2525
private String defaultKiosk = null;
26-
private final Localization localization;
2726

2827
private class KioskEntry {
2928
public KioskEntry(KioskExtractorFactory ef, ListLinkHandlerFactory h) {
@@ -34,9 +33,8 @@ public KioskEntry(KioskExtractorFactory ef, ListLinkHandlerFactory h) {
3433
final ListLinkHandlerFactory handlerFactory;
3534
}
3635

37-
public KioskList(int service_id, Localization localization) {
36+
public KioskList(int service_id) {
3837
this.service_id = service_id;
39-
this.localization = localization;
4038
}
4139

4240
public void addKioskEntry(KioskExtractorFactory extractorFactory, ListLinkHandlerFactory handlerFactory, String id)
@@ -53,13 +51,18 @@ public void setDefaultKiosk(String kioskType) {
5351

5452
public KioskExtractor getDefaultKioskExtractor(String nextPageUrl)
5553
throws ExtractionException, IOException {
54+
return getDefaultKioskExtractor(nextPageUrl, NewPipe.getPreferredLocalization());
55+
}
56+
57+
public KioskExtractor getDefaultKioskExtractor(String nextPageUrl, Localization localization)
58+
throws ExtractionException, IOException {
5659
if(defaultKiosk != null && !defaultKiosk.equals("")) {
57-
return getExtractorById(defaultKiosk, nextPageUrl);
60+
return getExtractorById(defaultKiosk, nextPageUrl, localization);
5861
} else {
5962
if(!kioskList.isEmpty()) {
6063
// if not set get any entry
6164
Object[] keySet = kioskList.keySet().toArray();
62-
return getExtractorById(keySet[0].toString(), nextPageUrl);
65+
return getExtractorById(keySet[0].toString(), nextPageUrl, localization);
6366
} else {
6467
return null;
6568
}
@@ -72,6 +75,11 @@ public String getDefaultKioskId() {
7275

7376
public KioskExtractor getExtractorById(String kioskId, String nextPageUrl)
7477
throws ExtractionException, IOException {
78+
return getExtractorById(kioskId, nextPageUrl, NewPipe.getPreferredLocalization());
79+
}
80+
81+
public KioskExtractor getExtractorById(String kioskId, String nextPageUrl, Localization localization)
82+
throws ExtractionException, IOException {
7583
KioskEntry ke = kioskList.get(kioskId);
7684
if(ke == null) {
7785
throw new ExtractionException("No kiosk found with the type: " + kioskId);
@@ -86,11 +94,16 @@ public Set<String> getAvailableKiosks() {
8694
}
8795

8896
public KioskExtractor getExtractorByUrl(String url, String nextPageUrl)
97+
throws ExtractionException, IOException{
98+
return getExtractorByUrl(url, nextPageUrl, NewPipe.getPreferredLocalization());
99+
}
100+
101+
public KioskExtractor getExtractorByUrl(String url, String nextPageUrl, Localization localization)
89102
throws ExtractionException, IOException {
90103
for(Map.Entry<String, KioskEntry> e : kioskList.entrySet()) {
91104
KioskEntry ke = e.getValue();
92105
if(ke.handlerFactory.acceptUrl(url)) {
93-
return getExtractorById(e.getKey(), nextPageUrl);
106+
return getExtractorById(e.getKey(), nextPageUrl, localization);
94107
}
95108
}
96109
throw new ExtractionException("Could not find a kiosk that fits to the url: " + url);

extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public SuggestionExtractor getSuggestionExtractor(Localization localization) {
6969
}
7070

7171
@Override
72-
public KioskList getKioskList(Localization localization) throws ExtractionException {
72+
public KioskList getKioskList() throws ExtractionException {
7373
KioskList.KioskExtractorFactory chartsFactory = new KioskList.KioskExtractorFactory() {
7474
@Override
7575
public KioskExtractor createNewKiosk(StreamingService streamingService,
@@ -82,7 +82,7 @@ public KioskExtractor createNewKiosk(StreamingService streamingService,
8282
}
8383
};
8484

85-
KioskList list = new KioskList(getServiceId(), localization);
85+
KioskList list = new KioskList(getServiceId());
8686

8787
// add kiosks here e.g.:
8888
final SoundcloudChartsLinkHandlerFactory h = new SoundcloudChartsLinkHandlerFactory();

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ public SuggestionExtractor getSuggestionExtractor(Localization localization) {
111111
}
112112

113113
@Override
114-
public KioskList getKioskList(final Localization localization) throws ExtractionException {
115-
KioskList list = new KioskList(getServiceId(), localization);
114+
public KioskList getKioskList() throws ExtractionException {
115+
KioskList list = new KioskList(getServiceId());
116116

117117
// add kiosks here e.g.:
118118
try {

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeSearchExtractor.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,16 @@ public YoutubeSearchExtractor(StreamingService service,
5353
@Override
5454
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException {
5555
final String site;
56-
final String url = getUrl();
57-
final String contentCountry = getLocalization().getCountry();
56+
final String url = getUrl() + "?gl="+ getLocalization().getCountry();
5857
//String url = builder.build().toString();
5958
//if we've been passed a valid language code, append it to the URL
60-
if (!contentCountry.isEmpty()) {
61-
//assert Pattern.matches("[a-z]{2}(-([A-Z]{2}|[0-9]{1,3}))?", languageCode);
62-
site = downloader.download(url, getLocalization());
63-
} else {
64-
site = downloader.download(url);
65-
}
59+
site = downloader.download(url, getLocalization());
6660

6761
doc = Jsoup.parse(site, url);
6862
}
6963

7064
@Override
71-
public String getSearchSuggestion() throws ParsingException {
65+
public String getSearchSuggestion() {
7266
final Element el = doc.select("div[class*=\"spell-correction\"]").first();
7367
if (el != null) {
7468
return el.select("a").first().text();
@@ -79,13 +73,13 @@ public String getSearchSuggestion() throws ParsingException {
7973

8074
@Nonnull
8175
@Override
82-
public InfoItemsPage<InfoItem> getInitialPage() throws IOException, ExtractionException {
76+
public InfoItemsPage<InfoItem> getInitialPage() throws ExtractionException {
8377
return new InfoItemsPage<>(collectItems(doc), getNextPageUrl());
8478
}
8579

8680
@Override
8781
public String getNextPageUrl() throws ExtractionException {
88-
return getUrl() + "&page=" + Integer.toString( 2);
82+
return getUrl() + "&page=" + 2 + "&gl=" + getLocalization().getCountry();
8983
}
9084

9185
@Override
@@ -104,7 +98,7 @@ private String getNextPageUrlFromCurrentUrl(String currentUrl)
10498
.getQuery())
10599
.get("page"));
106100

107-
return currentUrl.replace("&page=" + Integer.toString( pageNr),
101+
return currentUrl.replace("&page=" + pageNr,
108102
"&page=" + Integer.toString(pageNr + 1));
109103
}
110104

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeTrendingExtractor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public YoutubeTrendingExtractor(StreamingService service,
5050

5151
@Override
5252
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException {
53-
final String contentCountry = getContentCountry();
53+
final String contentCountry = getLocalization().getCountry();
5454
String url = getUrl();
5555
if(contentCountry != null && !contentCountry.isEmpty()) {
5656
url += "?gl=" + contentCountry;

0 commit comments

Comments
 (0)