Skip to content

Commit

Permalink
Merge pull request #699 from FireMasterK/yt-music-search
Browse files Browse the repository at this point in the history
Fix YouTube music search.
  • Loading branch information
Stypox authored Aug 1, 2021
2 parents 6335823 + f4aad8b commit 06a5219
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,7 @@ public String getUrl() throws ParsingException {
@Nonnull
@Override
public String getSearchSuggestion() throws ParsingException {
final JsonObject itemSectionRenderer = initialData.getObject("contents").getObject("sectionListRenderer")
.getArray("contents").getObject(0).getObject("itemSectionRenderer");
final JsonObject itemSectionRenderer = JsonUtils.getArray(JsonUtils.getArray(initialData, "contents.tabbedSearchResultsRenderer.tabs").getObject(0), "tabRenderer.content.sectionListRenderer.contents").getObject(0).getObject("itemSectionRenderer");
if (itemSectionRenderer.isEmpty()) {
return "";
}
Expand All @@ -142,16 +141,17 @@ public String getSearchSuggestion() throws ParsingException {
}

@Override
public boolean isCorrectedSearch() {
final JsonObject itemSectionRenderer = initialData.getObject("contents").getObject("sectionListRenderer")
.getArray("contents").getObject(0).getObject("itemSectionRenderer");
public boolean isCorrectedSearch() throws ParsingException {
final JsonObject itemSectionRenderer = JsonUtils.getArray(JsonUtils.getArray(initialData, "contents.tabbedSearchResultsRenderer.tabs").getObject(0), "tabRenderer.content.sectionListRenderer.contents").getObject(0).getObject("itemSectionRenderer");
if (itemSectionRenderer.isEmpty()) {
return false;
}

final JsonObject showingResultsForRenderer = itemSectionRenderer.getArray("contents").getObject(0)
.getObject("showingResultsForRenderer");
return !showingResultsForRenderer.isEmpty();
JsonObject firstContent = itemSectionRenderer.getArray("contents").getObject(0);

final boolean corrected = firstContent
.has("didYouMeanRenderer") || firstContent.has("showingResultsForRenderer");
return corrected;
}

@Nonnull
Expand All @@ -165,7 +165,7 @@ public List<MetaInfo> getMetaInfo() {
public InfoItemsPage<InfoItem> getInitialPage() throws ExtractionException, IOException {
final InfoItemsSearchCollector collector = new InfoItemsSearchCollector(getServiceId());

final JsonArray contents = initialData.getObject("contents").getObject("sectionListRenderer").getArray("contents");
final JsonArray contents = JsonUtils.getArray(JsonUtils.getArray(initialData, "contents.tabbedSearchResultsRenderer.tabs").getObject(0), "tabRenderer.content.sectionListRenderer.contents");

Page nextPage = null;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ public static void setUp() throws Exception {
public static class Suggestion extends DefaultSearchExtractorTest {
private static SearchExtractor extractor;
private static final String QUERY = "megaman x3";
private static final boolean CORRECTED = true;

@BeforeClass
public static void setUp() throws Exception {
Expand All @@ -150,6 +151,7 @@ public static void setUp() throws Exception {
@Override public String expectedSearchString() { return QUERY; }
@Nullable @Override public String expectedSearchSuggestion() { return "mega man x3"; }
@Override public InfoItem.InfoType expectedInfoItemType() { return InfoItem.InfoType.STREAM; }
@Override public boolean isCorrectedSearch() { return CORRECTED; }
}

public static class CorrectedSearch extends DefaultSearchExtractorTest {
Expand Down

0 comments on commit 06a5219

Please sign in to comment.