mirror of
https://github.com/iv-org/invidious.git
synced 2026-09-26 11:35:27 -05:00
fix: anchor lockup publication date labels
This commit is contained in:
parent
6aeb1476b1
commit
f2ef46af24
@ -30,6 +30,8 @@ Spectator.describe "lockup video metadata rows" do
|
|||||||
"normal first row" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
"normal first row" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
||||||
"collaborators before video statistics" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"Channel A and Channel B"}}]},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
"collaborators before video statistics" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"Channel A and Channel B"}}]},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
||||||
"collaborator names containing statistic substrings" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"Chicago Reviews"}},{"text":{"content":"Tech reviews"}}]},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
"collaborator names containing statistic substrings" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"Chicago Reviews"}},{"text":{"content":"Tech reviews"}}]},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
||||||
|
"collaborator name ending in a relative date" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"Channel 9 days ago"}}]},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
||||||
|
"completed stream publication date" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"Streamed 3 days ago"}}]}]}),
|
||||||
"views and publication date in separate rows" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"1.5M views"}}]},{"metadataParts":[{"text":{"content":"3 days ago"}}]}]}),
|
"views and publication date in separate rows" => %({"metadataRows":[{"metadataParts":[{"text":{"content":"1.5M views"}}]},{"metadataParts":[{"text":{"content":"3 days ago"}}]}]}),
|
||||||
"missing and null metadata parts before statistics" => %({"metadataRows":[{},{"metadataParts":null},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
"missing and null metadata parts before statistics" => %({"metadataRows":[{},{"metadataParts":null},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
||||||
"icon labels before video statistics" => %({"metadataRows":[{"metadataParts":[{"icon":{},"text":{"content":"99 views"}},{"icon":{},"text":{"content":"9 days ago"}}]},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
"icon labels before video statistics" => %({"metadataRows":[{"metadataParts":[{"icon":{},"text":{"content":"99 views"}},{"icon":{},"text":{"content":"9 days ago"}}]},{"metadataParts":[{"text":{"content":"1.5M views"}},{"text":{"content":"3 days ago"}}]}]}),
|
||||||
@ -49,7 +51,7 @@ Spectator.describe "lockup video metadata rows" do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
sample({"{}", %({"metadataRows":[]}), %({"metadataRows":null}), %({"metadataRows":[{}, {"metadataParts":null}]})}) do |metadata|
|
sample({"{}", %({"metadataRows":[]}), %({"metadataRows":null}), %({"metadataRows":[{}, {"metadataParts":null}]}), %({"metadataRows":[{"metadataParts":[{"text":{"content":"Channel 9 days ago"}}]}]})}) do |metadata|
|
||||||
it "keeps unknown statistics defaults" do
|
it "keeps unknown statistics defaults" do
|
||||||
before = Time.utc
|
before = Time.utc
|
||||||
video = parse_item(lockup_video_with_metadata(metadata)).as(SearchVideo)
|
video = parse_item(lockup_video_with_metadata(metadata)).as(SearchVideo)
|
||||||
|
|||||||
@ -667,7 +667,7 @@ private module Parsers
|
|||||||
|
|
||||||
view_count_text = metadata_parts.try &.find { |item| item["icon"]?.nil? && item.dig?("text", "content").try &.as_s.matches?(/\A(?:\d+(?:[.,]\d+)*\s?[kKmMbB]?|No) views\z/) }
|
view_count_text = metadata_parts.try &.find { |item| item["icon"]?.nil? && item.dig?("text", "content").try &.as_s.matches?(/\A(?:\d+(?:[.,]\d+)*\s?[kKmMbB]?|No) views\z/) }
|
||||||
.try &.dig("text", "content").as_s
|
.try &.dig("text", "content").as_s
|
||||||
published = metadata_parts.try &.find { |item| item["icon"]?.nil? && item.dig?("text", "content").try &.as_s.matches?(/(?:\A|\s)\d+ ?[smhdwy]\w* ago\z/) }
|
published = metadata_parts.try &.find { |item| item["icon"]?.nil? && item.dig?("text", "content").try &.as_s.matches?(/\A(?:Streamed )?\d+ ?[smhdwy]\w* ago\z/) }
|
||||||
.try { |item| decode_date(item.dig("text", "content").as_s) } || Time.local
|
.try { |item| decode_date(item.dig("text", "content").as_s) } || Time.local
|
||||||
|
|
||||||
view_count = short_text_to_number(view_count_text || "0")
|
view_count = short_text_to_number(view_count_text || "0")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user