[YouTube] Correctly handle unverified channels

This commit is contained in:
FineFindus
2025-10-31 21:41:35 +01:00
parent c3362e9d1f
commit d051342ed7
2 changed files with 16 additions and 9 deletions

View File

@@ -1599,9 +1599,13 @@ public final class YoutubeParsingHelper {
@Nullable
public static JsonObject getFirstCollaborator(final JsonObject navigationEndpoint)
throws ParsingException {
// CHECKSTYLE:OFF
final JsonArray listItems = JsonUtils.getArray(navigationEndpoint, "showDialogCommand.panelLoadingStrategy.inlineContent.dialogViewModel.customContent.listViewModel.listItems");
// CHECKSTYLE:ON
return listItems.getObject(0).getObject("listItemViewModel");
try {
// CHECKSTYLE:OFF
final JsonArray listItems = JsonUtils.getArray(navigationEndpoint, "showDialogCommand.panelLoadingStrategy.inlineContent.dialogViewModel.customContent.listViewModel.listItems");
// CHECKSTYLE:ON
return listItems.getObject(0).getObject("listItemViewModel");
} catch (final ParsingException e) {
return null;
}
}
}

View File

@@ -550,12 +550,15 @@ public class YoutubeStreamExtractor extends StreamExtractor {
.getArray("badges"));
}
final JsonObject channel = YoutubeParsingHelper.getFirstCollaborator(
videoOwnerRenderer.getObject("navigationEndpoint"));
if (channel == null) {
return false;
}
return YoutubeParsingHelper.hasArtistOrVerifiedIconBadgeAttachment(
YoutubeParsingHelper.getFirstCollaborator(videoOwnerRenderer
.getObject("navigationEndpoint"))
.getObject("title")
.getArray("attachmentRuns")
);
channel.getObject("title").getArray("attachmentRuns"));
}
@Nonnull