Move continuation_token out of Category struct

(cherry picked from commit 0e96eda28f25171a0344b972af1852a4d6fc3007)
This commit is contained in:
syeopite 2021-05-08 04:54:12 -07:00
parent 57c63f3598
commit 0b7a108a59
No known key found for this signature in database
GPG key ID: 6FA616E5A5294A82
2 changed files with 9 additions and 3 deletions

View file

@ -217,6 +217,7 @@ private class CategoryParser < ItemParser
title = ""
end
auxiliary_data = {} of String => String
browse_endpoint = item_contents["endpoint"]?.try &.["browseEndpoint"] || nil
browse_endpoint_data = ""
category_type = 0 # 0: Video, 1: Channels, 2: Playlist/feed, 3: trending
@ -233,7 +234,14 @@ private class CategoryParser < ItemParser
# instead it uses the browseId parameter. So if there isn't a params value we can assume the
# category is a playlist/feed
if browse_endpoint["params"]?
browse_endpoint_data = browse_endpoint["params"].as_s
# However, even though the channel category type returns the browse endpoint param
# we're not going to be using it in order to preserve compatablity with Youtube.
# and for an URL that looks cleaner
url = item_contents["endpoint"]["commandMetadata"]["webCommandMetadata"]["url"]
url = URI.parse(url.as_s)
auxiliary_data["view"] = url.query_params["view"]
auxiliary_data["shelf_id"] = url.query_params["shelf_id"]
category_type = 1
else
browse_endpoint_data = browse_endpoint["browseId"].as_s
@ -271,7 +279,6 @@ private class CategoryParser < ItemParser
title: title,
contents: contents,
browse_endpoint_data: browse_endpoint_data,
continuation_token: nil,
badges: badges,
})
end

View file

@ -232,7 +232,6 @@ class Category
property title : String
property contents : Array(SearchItem) | SearchItem
property browse_endpoint_data : String?
property continuation_token : String?
property badges : Array(Tuple(String, String))?
def to_json(locale, json : JSON::Builder)