mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 12:42:09 +00:00 
			
		
		
		
	Add fix for videos that don't have specific keys
This commit is contained in:
		| @@ -185,7 +185,6 @@ get "/watch" do |env| | |||||||
|     next templated "error" |     next templated "error" | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   player_response = JSON.parse(video.info["player_response"]) |  | ||||||
|    |    | ||||||
|   fmt_stream = [] of HTTP::Params |   fmt_stream = [] of HTTP::Params | ||||||
|   video.info["url_encoded_fmt_stream_map"].split(",") do |string| |   video.info["url_encoded_fmt_stream_map"].split(",") do |string| | ||||||
| @@ -195,10 +194,21 @@ get "/watch" do |env| | |||||||
|   fmt_stream.reverse! # We want lowest quality first |   fmt_stream.reverse! # We want lowest quality first | ||||||
|    |    | ||||||
|   adaptive_fmts = [] of HTTP::Params |   adaptive_fmts = [] of HTTP::Params | ||||||
|   video.info["adaptive_fmts"].split(",") do |string| |   if video.info.has_key?("adaptive_fmts") | ||||||
|     adaptive_fmts << HTTP::Params.parse(string) |     video.info["adaptive_fmts"].split(",") do |string| | ||||||
|  |       adaptive_fmts << HTTP::Params.parse(string) | ||||||
|  |     end | ||||||
|   end |   end | ||||||
|    |    | ||||||
|  |   rvs = [] of Hash(String, String) | ||||||
|  |   if video.info.has_key?("rvs") | ||||||
|  |     video.info["rvs"].split(",").each do |rv| | ||||||
|  |       rvs << HTTP::Params.parse(rv).to_h | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  |    | ||||||
|  |   player_response = JSON.parse(video.info["player_response"]) | ||||||
|  |    | ||||||
|   likes = video.html.xpath_node(%q(//button[@title="I like this"]/span)) |   likes = video.html.xpath_node(%q(//button[@title="I like this"]/span)) | ||||||
|   likes = likes ? likes.content.delete(",").to_i : 1 |   likes = likes ? likes.content.delete(",").to_i : 1 | ||||||
|  |  | ||||||
| @@ -214,11 +224,6 @@ get "/watch" do |env| | |||||||
|   engagement = ((dislikes.to_f + likes.to_f)/views * 100) |   engagement = ((dislikes.to_f + likes.to_f)/views * 100) | ||||||
|   calculated_rating = (likes.to_f/(likes.to_f + dislikes.to_f) * 4 + 1) |   calculated_rating = (likes.to_f/(likes.to_f + dislikes.to_f) * 4 + 1) | ||||||
|  |  | ||||||
|   rvs = [] of Hash(String, String) |  | ||||||
|   video.info["rvs"].split(",").each do |rv| |  | ||||||
|     rvs << HTTP::Params.parse(rv).to_h |  | ||||||
|   end |  | ||||||
|  |  | ||||||
|   templated "watch" |   templated "watch" | ||||||
| end | end | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Omar Roth
					Omar Roth