Refactored code and added badges to Search but many dummies because of the way components/item works

This commit is contained in:
jonas-w
2022-02-04 19:59:07 +01:00
parent a2578ac6b4
commit 00df3e2c40
10 changed files with 69 additions and 30 deletions

View File

@@ -42,7 +42,7 @@ def get_about_info(ucid, locale) : AboutChannel
if !initdata.has_key?("metadata")
auto_generated = true
end
verified = false
if auto_generated
author = initdata["header"]["interactiveTabbedHeaderRenderer"]["title"]["simpleText"].as_s
author_url = initdata["microformat"]["microformatDataRenderer"]["urlCanonical"].as_s
@@ -71,10 +71,9 @@ def get_about_info(ucid, locale) : AboutChannel
# if banner.includes? "channels/c4/default_banner"
# banner = nil
# end
badges = initdata["header"]["c4TabbedHeaderRenderer"]?.try &.["badges"]?
if !badges.nil?
verified = true
end
author_verified_badges = initdata["header"]?.try &.["c4TabbedHeaderRenderer"]?.try &.["badges"]?
author_verified = (author_verified_badges && author_verified_badges.size > 0)
description = initdata["metadata"]["channelMetadataRenderer"]?.try &.["description"]?.try &.as_s? || ""
description_html = HTML.escape(description)
@@ -132,7 +131,7 @@ def get_about_info(ucid, locale) : AboutChannel
is_family_friendly: is_family_friendly,
allowed_regions: allowed_regions,
tabs: tabs,
verified: verified,
verified: author_verified || false,
)
end

View File

@@ -21,6 +21,7 @@ struct ChannelVideo
property live_now : Bool = false
property premiere_timestamp : Time? = nil
property views : Int64? = nil
property author_verified : Bool #TODO currently a dummy
def to_json(locale, json : JSON::Builder)
json.object do
@@ -218,6 +219,7 @@ def fetch_channel(ucid, pull_all_videos : Bool)
live_now: live_now,
premiere_timestamp: premiere_timestamp,
views: views,
author_verified: false, #TODO dummy for components/item.ecr
})
LOGGER.trace("fetch_channel: #{ucid} : video #{video_id} : Updating or inserting video")
@@ -255,6 +257,7 @@ def fetch_channel(ucid, pull_all_videos : Bool)
live_now: video.live_now,
premiere_timestamp: video.premiere_timestamp,
views: video.views,
author_verified: false, #TODO dummy for components/item.ecr
}) }
videos.each do |video|