Skip to content

Commit 06c6776

Browse files
committed
remove soundcloud and make first search test work
1 parent b4544a6 commit 06c6776

40 files changed

Lines changed: 387 additions & 1577 deletions

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,4 +95,8 @@ public StreamingService getService() {
9595
public int getServiceId() {
9696
return service.getServiceId();
9797
}
98+
99+
public Downloader getDownloader() {
100+
return downloader;
101+
}
98102
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ public ListExtractor(StreamingService service, ListUrlIdHandler urlIdHandler) {
3737
/**
3838
* Get a list of items corresponding to the specific requested page.
3939
*
40-
* @param nextPageUrl any next page url got from the exclusive implementation of the list extractor
40+
* @param pageUrl any page url got from the exclusive implementation of the list extractor
4141
* @return a {@link InfoItemsPage} corresponding to the requested page
4242
* @see #getNextPageUrl()
4343
* @see InfoItemsPage#getNextPageUrl()
4444
*/
45-
public abstract InfoItemsPage<R> getPage(final String nextPageUrl) throws IOException, ExtractionException;
45+
public abstract InfoItemsPage<R> getPage(final String pageUrl) throws IOException, ExtractionException;
4646

4747
public boolean hasNextPage() throws IOException, ExtractionException {
4848
final String nextPageUrl = getNextPageUrl();

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
package org.schabi.newpipe.extractor;
22

3+
import com.sun.org.apache.xerces.internal.xs.StringList;
34
import org.schabi.newpipe.extractor.exceptions.ParsingException;
45

6+
import java.util.ArrayList;
57
import java.util.List;
68

79
public abstract class ListInfo<T extends InfoItem> extends Info {
810
private List<T> relatedItems;
911
private String nextPageUrl = null;
10-
private String[] contentFilter = {};
12+
private List<String> contentFilter = new ArrayList<>();
1113
private String sortFilter = "";
1214

1315
public ListInfo(int serviceId,
1416
String id,
1517
String url,
1618
String originalUrl,
1719
String name,
18-
String[] contentFilter,
20+
List<String> contentFilter,
1921
String sortFilter) {
2022
super(serviceId, id, url, originalUrl, name);
2123
this.contentFilter = contentFilter;
@@ -48,7 +50,7 @@ public void setNextPageUrl(String pageUrl) {
4850
this.nextPageUrl = pageUrl;
4951
}
5052

51-
public String[] getContentFilter() {
53+
public List<String> getContentFilter() {
5254
return contentFilter;
5355
}
5456

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

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,29 @@
22

33
import org.schabi.newpipe.extractor.exceptions.ParsingException;
44

5+
import java.util.ArrayList;
6+
import java.util.List;
7+
58
public abstract class ListUrlIdHandler extends UrlIdHandler {
69

7-
protected String[] contentFilter;
8-
protected String sortFilter;
10+
protected List<String> contentFilter = new ArrayList<>(0);
11+
protected String sortFilter = "";
912

10-
public ListUrlIdHandler setQuery(String id, String[] contentFilter, String softFilter) throws ParsingException {
13+
public ListUrlIdHandler setQuery(String id,
14+
List<String> contentFilter,
15+
String softFilter) throws ParsingException {
1116
setId(id);
1217
this.contentFilter = contentFilter;
1318
this.sortFilter = softFilter;
1419
return this;
1520
}
1621

22+
23+
public ListUrlIdHandler setQuery(String id) throws ParsingException {
24+
setQuery(id, new ArrayList<String>(), "");
25+
return this;
26+
}
27+
1728
public ListUrlIdHandler setUrl(String url) throws ParsingException {
1829
return (ListUrlIdHandler) super.setUrl(url);
1930
}
@@ -41,7 +52,7 @@ public String[] getAvailableSortFilter() {
4152
}
4253

4354

44-
public String[] getContentFilter() {
55+
public List<String> getContentFilter() {
4556
return contentFilter;
4657
}
4758

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

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.schabi.newpipe.extractor;
22

3-
import org.schabi.newpipe.extractor.services.soundcloud.SoundcloudService;
43
import org.schabi.newpipe.extractor.services.youtube.YoutubeService;
54

65
import java.util.List;
@@ -16,14 +15,10 @@ private ServiceList() {
1615
//no instance
1716
}
1817

19-
public static final YoutubeService YouTube;
20-
public static final SoundcloudService SoundCloud;
18+
public static final YoutubeService YouTube = new YoutubeService(0);
2119

22-
private static final List<StreamingService> SERVICES = unmodifiableList(asList(
23-
YouTube = new YoutubeService(0),
24-
SoundCloud = new SoundcloudService(1)
25-
// DailyMotion = new DailyMotionService(2);
26-
));
20+
private static final List<StreamingService> SERVICES = unmodifiableList(
21+
asList((StreamingService) YouTube));
2722

2823
/**
2924
* Get all the supported services.

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

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package org.schabi.newpipe.extractor;
22

3+
import com.sun.org.apache.xerces.internal.xs.StringList;
34
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
45
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
56
import org.schabi.newpipe.extractor.exceptions.ParsingException;
67
import org.schabi.newpipe.extractor.kiosk.KioskList;
78
import org.schabi.newpipe.extractor.playlist.PlaylistExtractor;
89
import org.schabi.newpipe.extractor.search.SearchEngine;
910
import org.schabi.newpipe.extractor.search.SearchExtractor;
11+
import org.schabi.newpipe.extractor.search.SearchQueryUrlHandler;
1012
import org.schabi.newpipe.extractor.stream.StreamExtractor;
1113
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
1214

@@ -70,13 +72,14 @@ public String toString() {
7072
public abstract UrlIdHandler getStreamUrlIdHandler();
7173
public abstract ListUrlIdHandler getChannelUrlIdHandler();
7274
public abstract ListUrlIdHandler getPlaylistUrlIdHandler();
75+
public abstract SearchQueryUrlHandler getSearchQueryHandler();
7376

7477

7578
////////////////////////////////////////////
7679
// Extractor
7780
////////////////////////////////////////////
7881
public abstract SearchEngine getSearchEngine();
79-
public abstract SearchExtractor getSearchExtractor();
82+
public abstract SearchExtractor getSearchExtractor(SearchQueryUrlHandler queryHandler, String contentCountry);
8083
public abstract SuggestionExtractor getSuggestionExtractor();
8184
public abstract SubscriptionExtractor getSubscriptionExtractor();
8285
public abstract KioskList getKioskList() throws ExtractionException;
@@ -85,14 +88,22 @@ public String toString() {
8588
public abstract PlaylistExtractor getPlaylistExtractor(ListUrlIdHandler urlIdHandler) throws ExtractionException;
8689
public abstract StreamExtractor getStreamExtractor(UrlIdHandler urlIdHandler) throws ExtractionException;
8790

88-
public ChannelExtractor getChannelExtractor(String id, String[] contentFilter, String sortFilter) throws ExtractionException {
91+
public SearchExtractor getSearchExtractor(String query, List<String> contentFilter, String softFilter, String contentCountry) throws ExtractionException {
92+
return getSearchExtractor(getSearchQueryHandler().setQuery(query, contentFilter, softFilter), contentCountry);
93+
}
94+
95+
public ChannelExtractor getChannelExtractor(String id, List<String> contentFilter, String sortFilter) throws ExtractionException {
8996
return getChannelExtractor(getChannelUrlIdHandler().setQuery(id, contentFilter, sortFilter));
9097
}
9198

92-
public PlaylistExtractor getPlaylistExtractor(String id, String[] contentFilter, String sortFilter) throws ExtractionException {
99+
public PlaylistExtractor getPlaylistExtractor(String id, List<String> contentFilter, String sortFilter) throws ExtractionException {
93100
return getPlaylistExtractor(getPlaylistUrlIdHandler().setQuery(id, contentFilter, sortFilter));
94101
}
95102

103+
public SearchExtractor getSearchExtractor(String query, String contentCountry) throws ExtractionException {
104+
return getSearchExtractor(getSearchQueryHandler().setQuery(query), contentCountry);
105+
}
106+
96107
public ChannelExtractor getChannelExtractor(String url) throws ExtractionException {
97108
return getChannelExtractor(getChannelUrlIdHandler().setUrl(url));
98109
}

extractor/src/main/java/org/schabi/newpipe/extractor/search/InfoItemsSearchCollector.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
* other extractor type will raise an exception.
4646
*/
4747
public class InfoItemsSearchCollector extends InfoItemsCollector<InfoItem, InfoItemExtractor> {
48-
private String suggestion = "";
4948
private final StreamInfoItemsCollector streamCollector;
5049
private final ChannelInfoItemsCollector userCollector;
5150
private final PlaylistInfoItemsCollector playlistCollector;
@@ -57,14 +56,6 @@ public class InfoItemsSearchCollector extends InfoItemsCollector<InfoItem, InfoI
5756
playlistCollector = new PlaylistInfoItemsCollector(serviceId);
5857
}
5958

60-
public void setSuggestion(String suggestion) {
61-
this.suggestion = suggestion;
62-
}
63-
64-
public SearchResult getSearchResult() {
65-
return new SearchResult(getServiceId(), suggestion, getItems(), getErrors());
66-
}
67-
6859
@Override
6960
public InfoItem extract(InfoItemExtractor extractor) throws ParsingException {
7061
// Use the corresponding collector for each item extractor type

extractor/src/main/java/org/schabi/newpipe/extractor/search/SearchExtractor.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,35 @@ public NothingFoundException(String message) {
1515
}
1616

1717
private final InfoItemsSearchCollector collector;
18+
private final String contentCountry;
1819

19-
public SearchExtractor(StreamingService service, SearchQuerryUrlHandler urlIdHandler) {
20+
public SearchExtractor(StreamingService service, SearchQueryUrlHandler urlIdHandler, String contentCountry) {
2021
super(service, urlIdHandler);
2122
collector = new InfoItemsSearchCollector(service.getServiceId());
23+
this.contentCountry = contentCountry;
2224
}
2325

24-
public String getSearchQuerry() {
25-
return getUrlIdHandler().getSearchQuerry();
26+
public String getSearchString() {
27+
return getUrlIdHandler().getSearchString();
2628
}
2729

2830
public abstract String getSearchSuggestion() throws ParsingException;
31+
2932
protected InfoItemsSearchCollector getInfoItemSearchCollector() {
3033
return collector;
3134
}
3235

3336
@Override
34-
public SearchQuerryUrlHandler getUrlIdHandler() {
35-
return (SearchQuerryUrlHandler) super.getUrlIdHandler();
37+
public SearchQueryUrlHandler getUrlIdHandler() {
38+
return (SearchQueryUrlHandler) super.getUrlIdHandler();
3639
}
3740

41+
@Override
42+
public String getName() {
43+
return getUrlIdHandler().getSearchString();
44+
}
45+
46+
protected String getContentCountry() {
47+
return contentCountry;
48+
}
3849
}

extractor/src/main/java/org/schabi/newpipe/extractor/search/SearchInfo.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,23 @@
88

99
public class SearchInfo extends ListInfo<InfoItem> {
1010

11-
private String searchQuerry = "";
11+
private String searchString = "";
1212
private String searchSuggestion = "";
1313

1414

1515
public SearchInfo(int serviceId,
1616
ListUrlIdHandler urlIdHandler,
17-
String searchQuerry) throws ParsingException {
17+
String searchString) throws ParsingException {
1818
super(serviceId, urlIdHandler, "Search");
19-
this.searchQuerry = searchQuerry;
19+
this.searchString = searchString;
2020
}
2121

2222

2323
public static SearchInfo getInfo(SearchExtractor extractor) throws ExtractionException {
2424
final SearchInfo info = new SearchInfo(
2525
extractor.getServiceId(),
2626
extractor.getUrlIdHandler(),
27-
extractor.getSearchQuerry());
27+
extractor.getSearchString());
2828

2929
try {
3030
info.searchSuggestion = extractor.getSearchSuggestion();
@@ -36,8 +36,8 @@ public static SearchInfo getInfo(SearchExtractor extractor) throws ExtractionExc
3636
}
3737

3838
// Getter
39-
public String getSearchQuerry() {
40-
return searchQuerry;
39+
public String getSearchString() {
40+
return searchString;
4141
}
4242

4343
public String getSearchSuggestion() {

extractor/src/main/java/org/schabi/newpipe/extractor/search/SearchQuerryUrlHandler.java

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)