summaryrefslogtreecommitdiffstats
path: root/src/invidious.cr
diff options
context:
space:
mode:
Diffstat (limited to 'src/invidious.cr')
-rw-r--r--src/invidious.cr34
1 files changed, 8 insertions, 26 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index 714a3e34..7a6100bf 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -1860,11 +1860,9 @@ get "/api/v1/videos/:id" do |env|
end
end
- description = video.description.gsub("<br>", "\n")
- description = description.gsub("<br/>", "\n")
- description = XML.parse_html(description)
+ description = html_to_description(video.description)
- json.field "description", description.content
+ json.field "description", description
json.field "descriptionHtml", video.description
json.field "published", video.published.epoch
json.field "keywords" do
@@ -2057,16 +2055,8 @@ get "/api/v1/trending" do |env|
end
end
- descriptionHtml = node.xpath_node(%q(.//div[contains(@class, "yt-lockup-description")]))
- if !descriptionHtml
- description = ""
- descriptionHtml = ""
- else
- descriptionHtml = descriptionHtml.to_s
- description = descriptionHtml.gsub("<br>", "\n")
- description = description.gsub("<br/>", "\n")
- description = XML.parse_html(description).content.strip("\n ")
- end
+ description_html = node.xpath_node(%q(.//div[contains(@class, "yt-lockup-description")]))
+ description, description_html = html_to_description(description_html)
length_seconds = decode_length_seconds(node.xpath_node(%q(.//span[@class="video-time"])).not_nil!.content)
@@ -2098,7 +2088,7 @@ get "/api/v1/trending" do |env|
json.field "published", published.epoch
json.field "description", description
- json.field "descriptionHtml", descriptionHtml
+ json.field "descriptionHtml", description_html
end
end
end
@@ -2339,16 +2329,8 @@ get "/api/v1/channels/:ucid/videos" do |env|
end
end
- descriptionHtml = node.xpath_node(%q(.//div[contains(@class, "yt-lockup-description")]))
- if !descriptionHtml
- description = ""
- descriptionHtml = ""
- else
- descriptionHtml = descriptionHtml.to_s
- description = descriptionHtml.gsub("<br>", "\n")
- description = description.gsub("<br/>", "\n")
- description = XML.parse_html(description).content.strip("\n ")
- end
+ description_html = node.xpath_node(%q(.//div[contains(@class, "yt-lockup-description")]))
+ description, description_html = html_to_description(description_html)
length_seconds = decode_length_seconds(node.xpath_node(%q(.//span[@class="video-time"])).not_nil!.content)
@@ -2374,7 +2356,7 @@ get "/api/v1/channels/:ucid/videos" do |env|
end
json.field "description", description
- json.field "descriptionHtml", descriptionHtml
+ json.field "descriptionHtml", description_html
json.field "viewCount", view_count
json.field "published", published.epoch