mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 12:42:09 +00:00 
			
		
		
		
	Add better support for movies in search and watch page
This commit is contained in:
		| @@ -234,7 +234,12 @@ def extract_items(nodeset, ucid = nil) | |||||||
|     description_html = node.xpath_node(%q(.//div[contains(@class, "yt-lockup-description")])) |     description_html = node.xpath_node(%q(.//div[contains(@class, "yt-lockup-description")])) | ||||||
|     description_html, description = html_to_content(description_html) |     description_html, description = html_to_content(description_html) | ||||||
|  |  | ||||||
|     case node.xpath_node(%q(.//div[contains(@class, "yt-lockup-tile")])).not_nil!["class"] |     tile = node.xpath_node(%q(.//div[contains(@class, "yt-lockup-tile")])) | ||||||
|  |     if !tile | ||||||
|  |       next | ||||||
|  |     end | ||||||
|  |  | ||||||
|  |     case tile["class"] | ||||||
|     when .includes? "yt-lockup-playlist" |     when .includes? "yt-lockup-playlist" | ||||||
|       plid = HTTP::Params.parse(URI.parse(id).query.not_nil!)["list"] |       plid = HTTP::Params.parse(URI.parse(id).query.not_nil!)["list"] | ||||||
|  |  | ||||||
| @@ -310,7 +315,6 @@ def extract_items(nodeset, ucid = nil) | |||||||
|         published = decode_date(metadata[0].content.lchop("Streamed ").lchop("Starts ")) |         published = decode_date(metadata[0].content.lchop("Streamed ").lchop("Starts ")) | ||||||
|       rescue ex |       rescue ex | ||||||
|       end |       end | ||||||
|  |  | ||||||
|       begin |       begin | ||||||
|         published ||= Time.epoch(metadata[0].xpath_node(%q(.//span)).not_nil!["data-timestamp"].to_i64) |         published ||= Time.epoch(metadata[0].xpath_node(%q(.//span)).not_nil!["data-timestamp"].to_i64) | ||||||
|       rescue ex |       rescue ex | ||||||
| @@ -321,7 +325,6 @@ def extract_items(nodeset, ucid = nil) | |||||||
|         view_count = metadata[0].content.rchop(" watching").delete(",").try &.to_i64? |         view_count = metadata[0].content.rchop(" watching").delete(",").try &.to_i64? | ||||||
|       rescue ex |       rescue ex | ||||||
|       end |       end | ||||||
|  |  | ||||||
|       begin |       begin | ||||||
|         view_count ||= metadata.try &.[1].content.delete("No views,").try &.to_i64? |         view_count ||= metadata.try &.[1].content.delete("No views,").try &.to_i64? | ||||||
|       rescue ex |       rescue ex | ||||||
|   | |||||||
| @@ -569,11 +569,17 @@ def fetch_video(id) | |||||||
|   published = html.xpath_node(%q(//meta[@itemprop="datePublished"])).not_nil!["content"] |   published = html.xpath_node(%q(//meta[@itemprop="datePublished"])).not_nil!["content"] | ||||||
|   published = Time.parse(published, "%Y-%m-%d", Time::Location.local) |   published = Time.parse(published, "%Y-%m-%d", Time::Location.local) | ||||||
|  |  | ||||||
|   allowed_regions = html.xpath_node(%q(//meta[@itemprop="regionsAllowed"])).not_nil!["content"].split(",") |   allowed_regions = html.xpath_node(%q(//meta[@itemprop="regionsAllowed"])).try &.["content"].split(",") | ||||||
|   is_family_friendly = html.xpath_node(%q(//meta[@itemprop="isFamilyFriendly"])).not_nil!["content"] == "True" |   allowed_regions ||= [] of String | ||||||
|  |   is_family_friendly = html.xpath_node(%q(//meta[@itemprop="isFamilyFriendly"])).try &.["content"] == "True" | ||||||
|  |   is_family_friendly ||= true | ||||||
|  |  | ||||||
|   genre = html.xpath_node(%q(//meta[@itemprop="genre"])).not_nil!["content"] |   genre = html.xpath_node(%q(//meta[@itemprop="genre"])).not_nil!["content"] | ||||||
|   genre_url = html.xpath_node(%(//a[text()="#{genre}"])).not_nil!["href"] |   genre_url = html.xpath_node(%(//a[text()="#{genre}"])).try &.["href"] | ||||||
|  |   if genre == "Movies" | ||||||
|  |     genre_url ||= "/channel/UClgRkhTL3_hImCAmdLfDE4g" | ||||||
|  |   end | ||||||
|  |   genre_url = "" | ||||||
|  |  | ||||||
|   license = html.xpath_node(%q(//h4[contains(text(),"License")]/parent::*/ul/li)) |   license = html.xpath_node(%q(//h4[contains(text(),"License")]/parent::*/ul/li)) | ||||||
|   if license |   if license | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Omar Roth
					Omar Roth