diff options
Diffstat (limited to 'src/invidious.cr')
| -rw-r--r-- | src/invidious.cr | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/invidious.cr b/src/invidious.cr index 1a02741b..33e56886 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -473,9 +473,8 @@ get "/watch" do |env| aspect_ratio = "16:9" - video.description = fill_links(video.description, "https", "www.youtube.com") - video.description = replace_links(video.description) - description = video.short_description + video.description_html = fill_links(video.description_html, "https", "www.youtube.com") + video.description_html = replace_links(video.description_html) host_url = make_host_url(config, Kemal.config) host_params = env.request.query_params @@ -648,9 +647,8 @@ get "/embed/:id" do |env| aspect_ratio = nil - video.description = fill_links(video.description, "https", "www.youtube.com") - video.description = replace_links(video.description) - description = video.short_description + video.description_html = fill_links(video.description_html, "https", "www.youtube.com") + video.description_html = replace_links(video.description_html) host_url = make_host_url(config, Kemal.config) host_params = env.request.query_params @@ -2466,7 +2464,7 @@ get "/feed/channel/:ucid" do |env| author = entry.xpath_node("author/name").not_nil!.content ucid = entry.xpath_node("channelid").not_nil!.content - description = entry.xpath_node("group/description").not_nil!.content + description_html = entry.xpath_node("group/description").not_nil!.to_s views = entry.xpath_node("group/community/statistics").not_nil!.["views"].to_i64 videos << SearchVideo.new( @@ -2476,8 +2474,7 @@ get "/feed/channel/:ucid" do |env| ucid: ucid, published: published, views: views, - description: description, - description_html: "", + description_html: description_html, length_seconds: 0, live_now: false, paid: false, @@ -3460,11 +3457,8 @@ get "/api/v1/top" do |env| json.field "published", video.published.to_unix json.field "publishedText", translate(locale, "`x` ago", recode_date(video.published, locale)) - description = video.description.gsub("<br>", "\n") - description = description.gsub("<br/>", "\n") - description = XML.parse_html(description) - json.field "description", description.content - json.field "descriptionHtml", video.description + json.field "description", html_to_content(video.description_html) + json.field "descriptionHtml", video.description_html end end end @@ -3511,8 +3505,7 @@ get "/api/v1/channels/:ucid" do |env| author = channel_html.xpath_node(%q(//a[contains(@class, "branded-page-header-title-link")])).not_nil!.content author_url = channel_html.xpath_node(%q(//a[@class="channel-header-profile-image-container spf-link"])).not_nil!["href"] author_thumbnail = channel_html.xpath_node(%q(//img[@class="channel-header-profile-image"])).not_nil!["src"] - description_html = channel_html.xpath_node(%q(//div[contains(@class,"about-description")])) - description_html, description = html_to_content(description_html) + description_html = channel_html.xpath_node(%q(//div[contains(@class,"about-description")])).try &.to_s || "" paid = channel_html.xpath_node(%q(//meta[@itemprop="paid"])).not_nil!["content"] == "True" is_family_friendly = channel_html.xpath_node(%q(//meta[@itemprop="isFamilyFriendly"])).not_nil!["content"] == "True" @@ -3607,7 +3600,7 @@ get "/api/v1/channels/:ucid" do |env| json.field "autoGenerated", auto_generated json.field "isFamilyFriendly", is_family_friendly - json.field "description", description + json.field "description", html_to_content(description_html) json.field "descriptionHtml", description_html json.field "allowedRegions", allowed_regions @@ -3884,7 +3877,7 @@ get "/api/v1/playlists/:plid" do |env| end end - json.field "description", playlist.description + json.field "description", html_to_content(playlist.description_html) json.field "descriptionHtml", playlist.description_html json.field "videoCount", playlist.video_count |
