This commit is contained in:
テクニカル諏訪子 2023-06-18 12:36:51 +09:00
commit 6006c214d1
4 changed files with 11 additions and 7 deletions

View file

@ -440,7 +440,7 @@ def parse_link_endpoint(endpoint : JSON::Any, text : String, video_id : String)
# - https://github.com/iv-org/invidious/issues/3062 # - https://github.com/iv-org/invidious/issues/3062
text = %(<a href="#{url}">#{text}</a>) text = %(<a href="#{url}">#{text}</a>)
else else
text = %(<a href="#{url}">#{reduce_uri(url)}</a>) text = %(<a href="#{url}">#{reduce_uri(text)}</a>)
end end
end end
return text return text

View file

@ -2,7 +2,7 @@ module Invidious::Jobs
JOBS = [] of BaseJob JOBS = [] of BaseJob
# Automatically generate a structure that wraps the various # Automatically generate a structure that wraps the various
# jobs' configs, so that the follwing YAML config can be used: # jobs' configs, so that the following YAML config can be used:
# #
# jobs: # jobs:
# job_name: # job_name:

View file

@ -6,7 +6,7 @@ struct Invidious::User
# Parse a youtube CSV subscription file # Parse a youtube CSV subscription file
def parse_subscription_export_csv(csv_content : String) def parse_subscription_export_csv(csv_content : String)
rows = CSV.new(csv_content, headers: true) rows = CSV.new(csv_content.strip('\n'), headers: true)
subscriptions = Array(String).new subscriptions = Array(String).new
# Counter to limit the amount of imports. # Counter to limit the amount of imports.
@ -32,10 +32,10 @@ struct Invidious::User
def parse_playlist_export_csv(user : User, raw_input : String) def parse_playlist_export_csv(user : User, raw_input : String)
# Split the input into head and body content # Split the input into head and body content
raw_head, raw_body = raw_input.split("\n\n", limit: 2, remove_empty: true) raw_head, raw_body = raw_input.strip('\n').split("\n\n", limit: 2, remove_empty: true)
# Create the playlist from the head content # Create the playlist from the head content
csv_head = CSV.new(raw_head, headers: true) csv_head = CSV.new(raw_head.strip('\n'), headers: true)
csv_head.next csv_head.next
title = csv_head[4] title = csv_head[4]
description = csv_head[5] description = csv_head[5]
@ -51,7 +51,7 @@ struct Invidious::User
Invidious::Database::Playlists.update_description(playlist.id, description) Invidious::Database::Playlists.update_description(playlist.id, description)
# Add each video to the playlist from the body content # Add each video to the playlist from the body content
csv_body = CSV.new(raw_body, headers: true) csv_body = CSV.new(raw_body.strip('\n'), headers: true)
csv_body.each do |row| csv_body.each do |row|
video_id = row[0] video_id = row[0]
if playlist if playlist

View file

@ -78,7 +78,11 @@ def extract_video_info(video_id : String, proxy_region : String? = nil)
elsif video_id != player_response.dig("videoDetails", "videoId") elsif video_id != player_response.dig("videoDetails", "videoId")
# YouTube may return a different video player response than expected. # YouTube may return a different video player response than expected.
# See: https://github.com/TeamNewPipe/NewPipe/issues/8713 # See: https://github.com/TeamNewPipe/NewPipe/issues/8713
raise VideoNotAvailableException.new("The video returned by YouTube isn't the requested one. (WEB client)") # Line to be reverted if one day we solve the video not available issue.
return {
"version" => JSON::Any.new(Video::SCHEMA_VERSION.to_i64),
"reason" => JSON::Any.new("Can't load the video on this Invidious instance. YouTube is currently trying to block Invidious instances. <a href=\"https://github.com/iv-org/invidious/issues/3822\">Click here for more info about the issue.</a>"),
}
else else
reason = nil reason = nil
end end