Skip to content

Commit ac15df4

Browse files
committed
Move YouTube Music search to its own class
1 parent cf0f2af commit ac15df4

3 files changed

Lines changed: 598 additions & 477 deletions

File tree

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

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,45 @@
77
import org.schabi.newpipe.extractor.feed.FeedExtractor;
88
import org.schabi.newpipe.extractor.kiosk.KioskExtractor;
99
import org.schabi.newpipe.extractor.kiosk.KioskList;
10-
import org.schabi.newpipe.extractor.linkhandler.*;
10+
import org.schabi.newpipe.extractor.linkhandler.LinkHandler;
11+
import org.schabi.newpipe.extractor.linkhandler.LinkHandlerFactory;
12+
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
13+
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandlerFactory;
14+
import org.schabi.newpipe.extractor.linkhandler.SearchQueryHandler;
15+
import org.schabi.newpipe.extractor.linkhandler.SearchQueryHandlerFactory;
1116
import org.schabi.newpipe.extractor.localization.ContentCountry;
1217
import org.schabi.newpipe.extractor.localization.Localization;
1318
import org.schabi.newpipe.extractor.playlist.PlaylistExtractor;
1419
import org.schabi.newpipe.extractor.search.SearchExtractor;
15-
import org.schabi.newpipe.extractor.services.youtube.extractors.*;
16-
import org.schabi.newpipe.extractor.services.youtube.linkHandler.*;
20+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor;
21+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeCommentsExtractor;
22+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeFeedExtractor;
23+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeMusicSearchExtractor;
24+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubePlaylistExtractor;
25+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor;
26+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor;
27+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSubscriptionExtractor;
28+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSuggestionExtractor;
29+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeTrendingExtractor;
30+
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeChannelLinkHandlerFactory;
31+
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeCommentsLinkHandlerFactory;
32+
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubePlaylistLinkHandlerFactory;
33+
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory;
34+
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeStreamLinkHandlerFactory;
35+
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeTrendingLinkHandlerFactory;
1736
import org.schabi.newpipe.extractor.stream.StreamExtractor;
1837
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
1938
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
2039

21-
import javax.annotation.Nonnull;
2240
import java.util.List;
2341

42+
import javax.annotation.Nonnull;
43+
2444
import static java.util.Arrays.asList;
25-
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.*;
45+
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.AUDIO;
46+
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.COMMENTS;
47+
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.LIVE;
48+
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
2649

2750
/*
2851
* Created by Christian Schabesberger on 23.08.15.
@@ -92,7 +115,13 @@ public PlaylistExtractor getPlaylistExtractor(ListLinkHandler linkHandler) {
92115

93116
@Override
94117
public SearchExtractor getSearchExtractor(SearchQueryHandler query) {
95-
return new YoutubeSearchExtractor(this, query);
118+
final List<String> contentFilters = query.getContentFilters();
119+
120+
if (contentFilters.size() > 0 && contentFilters.get(0).startsWith("music_")) {
121+
return new YoutubeMusicSearchExtractor(this, query);
122+
} else {
123+
return new YoutubeSearchExtractor(this, query);
124+
}
96125
}
97126

98127
@Override

0 commit comments

Comments
 (0)