Skip to content

Commit 16c338f

Browse files
committed
fix: fix channel extraction for videos in lockupModels
1 parent da1b8ed commit 16c338f

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

Sources/YouTubeKit/BaseStructs/YTVideo.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,10 @@ public struct YTVideo: YTSearchResult, YouTubeVideo, Codable, Sendable {
9494
video.title = json["metadata", "lockupMetadataViewModel", "title", "content"].string
9595

9696
let metadataRows = json["metadata", "lockupMetadataViewModel", "metadata", "contentMetadataViewModel", "metadataRows"]
97-
98-
if let channelJSON = metadataRows.array?.first(where: { $0["metadataParts", 0, "text", "commandRuns", 0, "onTap", "innertubeCommand", "commandMetadata", "webCommandMetadata", "webPageType"].string == "WEB_PAGE_TYPE_CHANNEL" }) {
97+
if let channelId = json["metadata", "lockupMetadataViewModel", "image", "decoratedAvatarViewModel", "rendererContext", "commandContext", "onTap", "innertubeCommand", "browseEndpoint", "browseId"].string {
98+
video.channel = YTLittleChannelInfos(channelId: channelId, name: json["metadata", "lockupMetadataViewModel", "metadata", "contentMetadataViewModel", "metadataRows", 0, "metadataParts", 0, "text", "content"].string)
99+
YTThumbnail.appendThumbnails(json: json["metadata", "lockupMetadataViewModel", "image", "decoratedAvatarViewModel", "avatar", "avatarViewModel"], thumbnailList: &video.channel!.thumbnails)
100+
} else if let channelJSON = metadataRows.array?.first(where: { $0["metadataParts", 0, "text", "commandRuns", 0, "onTap", "innertubeCommand", "commandMetadata", "webCommandMetadata", "webPageType"].string == "WEB_PAGE_TYPE_CHANNEL" }) {
99101
let channelId = channelJSON["metadataParts", 0, "text", "commandRuns", 0, "onTap", "innertubeCommand", "browseEndpoint", "browseId"].string ?? ""
100102
video.channel = YTLittleChannelInfos(channelId: channelId, name: channelJSON["metadataParts", 0, "text", "content"].string)
101103
YTThumbnail.appendThumbnails(json: json["metadata", "lockupMetadataViewModel", "image", "decoratedAvatarViewModel", "avatar", "avatarViewModel"], thumbnailList: &video.channel!.thumbnails)

0 commit comments

Comments
 (0)