mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-30 20:22:00 +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" | ||||
|   end | ||||
|  | ||||
|   player_response = JSON.parse(video.info["player_response"]) | ||||
|    | ||||
|   fmt_stream = [] of HTTP::Params | ||||
|   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 | ||||
|    | ||||
|   adaptive_fmts = [] of HTTP::Params | ||||
|   video.info["adaptive_fmts"].split(",") do |string| | ||||
|     adaptive_fmts << HTTP::Params.parse(string) | ||||
|   if video.info.has_key?("adaptive_fmts") | ||||
|     video.info["adaptive_fmts"].split(",") do |string| | ||||
|       adaptive_fmts << HTTP::Params.parse(string) | ||||
|     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 = likes ? likes.content.delete(",").to_i : 1 | ||||
|  | ||||
| @@ -214,11 +224,6 @@ get "/watch" do |env| | ||||
|   engagement = ((dislikes.to_f + likes.to_f)/views * 100) | ||||
|   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" | ||||
| end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Omar Roth
					Omar Roth