Fix detection of premium content

This commit is contained in:
Omar Roth 2019-08-04 20:56:24 -05:00
parent 4f120e19fd
commit 7a33831d14
No known key found for this signature in database
GPG key ID: B8254FB7EC3D37F2

View file

@ -803,8 +803,11 @@ struct Video
end end
def premium def premium
premium = self.player_response.to_s.includes? "Get YouTube without the ads." if info["premium"]?
return premium self.info["premium"] == "true"
else
false
end
end end
def captions def captions
@ -1189,6 +1192,8 @@ def fetch_video(id, region)
author = player_json["videoDetails"]["author"]?.try &.as_s || "" author = player_json["videoDetails"]["author"]?.try &.as_s || ""
ucid = player_json["videoDetails"]["channelId"]?.try &.as_s || "" ucid = player_json["videoDetails"]["channelId"]?.try &.as_s || ""
info["premium"] = html.xpath_node(%q(.//span[text()="Premium"])) ? "true" : "false"
views = html.xpath_node(%q(//meta[@itemprop="interactionCount"])) views = html.xpath_node(%q(//meta[@itemprop="interactionCount"]))
.try &.["content"].to_i64? || 0_i64 .try &.["content"].to_i64? || 0_i64