mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 04:32:02 +00:00 
			
		
		
		
	API: Parse multiimage community posts (#3599)
This commit is contained in:
		| @@ -189,6 +189,32 @@ def fetch_channel_community(ucid, continuation, locale, format, thin_mode) | ||||
|                       # when .has_key?("pollRenderer") | ||||
|                       #   attachment = attachment["pollRenderer"] | ||||
|                       #   json.field "type", "poll" | ||||
|                     when .has_key?("postMultiImageRenderer") | ||||
|                       attachment = attachment["postMultiImageRenderer"] | ||||
|                       json.field "type", "multiImage" | ||||
|                       json.field "images" do | ||||
|                         json.array do | ||||
|                           attachment["images"].as_a.each do |image| | ||||
|                             json.array do | ||||
|                               thumbnail = image["backstageImageRenderer"]["image"]["thumbnails"][0].as_h | ||||
|                               width = thumbnail["width"].as_i | ||||
|                               height = thumbnail["height"].as_i | ||||
|                               aspect_ratio = (width.to_f / height.to_f) | ||||
|                               url = thumbnail["url"].as_s.gsub(/=w\d+-h\d+(-p)?(-nd)?(-df)?(-rwa)?/, "=s640") | ||||
|  | ||||
|                               qualities = {320, 560, 640, 1280, 2000} | ||||
|  | ||||
|                               qualities.each do |quality| | ||||
|                                 json.object do | ||||
|                                   json.field "url", url.gsub(/=s\d+/, "=s#{quality}") | ||||
|                                   json.field "width", quality | ||||
|                                   json.field "height", (quality / aspect_ratio).ceil.to_i | ||||
|                                 end | ||||
|                               end | ||||
|                             end | ||||
|                           end | ||||
|                         end | ||||
|                       end | ||||
|                     else | ||||
|                       json.field "type", "unknown" | ||||
|                       json.field "error", "Unrecognized attachment type." | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Samantaz Fox
					Samantaz Fox