add contentCountry to Kiosk
This commit is contained in:
parent
c76f39c81b
commit
5119dabb63
|
@ -28,9 +28,24 @@ import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
|||
import java.io.IOException;
|
||||
|
||||
public abstract class KioskExtractor extends ListExtractor {
|
||||
public KioskExtractor(StreamingService streamingService, String url, String nextStreamsUrl)
|
||||
private String contentCountry = null;
|
||||
|
||||
public KioskExtractor(StreamingService streamingService,
|
||||
String url,
|
||||
String nextStreamsUrl)
|
||||
throws IOException, ExtractionException {
|
||||
super(streamingService, url, nextStreamsUrl);
|
||||
this.contentCountry = contentCountry;
|
||||
}
|
||||
|
||||
/**
|
||||
* For certain Websites the content of a kiosk will be different depending
|
||||
* on the country you want to poen the website in. Therefore you should
|
||||
* set the contentCountry.
|
||||
* @param contentCountry Set the country decoded as Country Code: http://www.1728.org/countries.htm
|
||||
*/
|
||||
public void setContentCountry(String contentCountry) {
|
||||
this.contentCountry = contentCountry;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -49,4 +64,8 @@ public abstract class KioskExtractor extends ListExtractor {
|
|||
public String getName() throws ParsingException {
|
||||
return getType();
|
||||
}
|
||||
|
||||
public String getContentCountry() {
|
||||
return contentCountry;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,22 +33,30 @@ import java.io.IOException;
|
|||
public class KioskInfo extends ListInfo {
|
||||
public String type;
|
||||
|
||||
public static KioskInfo getInfo(String url) throws IOException, ExtractionException {
|
||||
return getInfo(NewPipe.getServiceByUrl(url), url);
|
||||
public static KioskInfo getInfo(String url,
|
||||
String contentCountry) throws IOException, ExtractionException {
|
||||
return getInfo(NewPipe.getServiceByUrl(url), url, contentCountry);
|
||||
}
|
||||
|
||||
public static KioskInfo getInfo(ServiceList serviceItem, String url) throws IOException, ExtractionException {
|
||||
return getInfo(serviceItem.getService(), url);
|
||||
public static KioskInfo getInfo(ServiceList serviceItem,
|
||||
String url,
|
||||
String contentContry) throws IOException, ExtractionException {
|
||||
return getInfo(serviceItem.getService(), url, contentContry);
|
||||
}
|
||||
|
||||
public static KioskInfo getInfo(StreamingService service, String url) throws IOException, ExtractionException {
|
||||
public static KioskInfo getInfo(StreamingService service,
|
||||
String url,
|
||||
String contentCountry) throws IOException, ExtractionException {
|
||||
KioskList kl = service.getKioskList();
|
||||
KioskExtractor extractor = kl.getExtryctorByUrl(url);
|
||||
return getInfo(extractor);
|
||||
return getInfo(extractor, contentCountry);
|
||||
}
|
||||
|
||||
public static KioskInfo getInfo(KioskExtractor extractor) throws ParsingException {
|
||||
public static KioskInfo getInfo(KioskExtractor extractor,
|
||||
String contentCountry) throws IOException, ExtractionException {
|
||||
KioskInfo info = new KioskInfo();
|
||||
extractor.setContentCountry(contentCountry);
|
||||
extractor.fetchPage();
|
||||
info.type = extractor.getType();
|
||||
info.name = extractor.getName();
|
||||
info.id = extractor.getId();
|
||||
|
|
|
@ -44,9 +44,14 @@ public class YoutubeTrendingExtractor extends KioskExtractor {
|
|||
public void fetchPage() throws IOException, ExtractionException {
|
||||
Downloader downloader = NewPipe.getDownloader();
|
||||
|
||||
String channelUrl = getCleanUrl();
|
||||
String pageContent = downloader.download(channelUrl);
|
||||
doc = Jsoup.parse(pageContent, channelUrl);
|
||||
final String contentCountry = getContentCountry();
|
||||
String url = getCleanUrl();
|
||||
if(contentCountry != null && !contentCountry.isEmpty()) {
|
||||
url += "?gl=" + contentCountry;
|
||||
}
|
||||
|
||||
String pageContent = downloader.download(url);
|
||||
doc = Jsoup.parse(pageContent, url);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue