rely on preview urls if available for gallery
This commit is contained in:
@@ -53,6 +53,16 @@ module Sources
|
||||
image_urls.first
|
||||
end
|
||||
|
||||
# A smaller representation of the image that's suitable for
|
||||
# displaying previews.
|
||||
def preview_urls
|
||||
image_urls
|
||||
end
|
||||
|
||||
def preview_url
|
||||
preview_urls.first
|
||||
end
|
||||
|
||||
# Whatever <tt>url</tt> is, this method should return a link to the HTML
|
||||
# page containing the resource. It should not be a binary file. It will
|
||||
# eventually be assigned as the source for the post, but it does not
|
||||
|
||||
@@ -50,6 +50,12 @@ module Sources
|
||||
[url]
|
||||
end
|
||||
|
||||
def preview_urls
|
||||
image_urls.map do |x|
|
||||
x.sub(%r!pximg\.net/img-original/img!, "pximg.net/c/240x240/img-master/img")
|
||||
end
|
||||
end
|
||||
|
||||
def page_url
|
||||
if novel_id.present?
|
||||
return "https://www.pixiv.net/novel/show.php?id=#{novel_id}&mode=cover"
|
||||
|
||||
@@ -36,6 +36,12 @@ module Sources::Strategies
|
||||
.uniq
|
||||
end
|
||||
|
||||
def preview_urls
|
||||
image_urls.map do |x|
|
||||
x.sub(%r!_1280\.(jpg|png|gif|jpeg)\z!, '_250.\1')
|
||||
end
|
||||
end
|
||||
|
||||
def page_url
|
||||
[url, referer_url].each do |x|
|
||||
if x =~ POST
|
||||
|
||||
@@ -36,6 +36,12 @@ module Sources::Strategies
|
||||
end
|
||||
memoize :image_urls
|
||||
|
||||
def preview_urls
|
||||
image_urls.map do |x|
|
||||
x.sub(%r!\.(jpg|jpeg|png|gif)(?::orig)?\z!i, '.\1:small')
|
||||
end
|
||||
end
|
||||
|
||||
def page_url
|
||||
[url, referer_url].each do |x|
|
||||
if self.class.status_id_from_url(x).present?
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<% if @source.present? %>
|
||||
<section>
|
||||
<% @source.image_urls.each.with_index do |url, i| %>
|
||||
<% @source.image_urls.zip(@source.preview_urls).each.with_index do |(url, preview_url), i| %>
|
||||
<div class="upload-preview">
|
||||
<p class="caption-top">
|
||||
<%= link_to "Image ##{i}", new_upload_path(url: url, ref: @url), target: "_blank" %>
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<%= link_to new_upload_path(url: url, ref: @url), target: "_blank" do %>
|
||||
<% if ImageProxy.needs_proxy?(url) %>
|
||||
<%= image_tag(image_proxy_uploads_path(url: url)) %>
|
||||
<%= image_tag(image_proxy_uploads_path(url: preview_url)) %>
|
||||
<% elsif url.is_a?(String) %>
|
||||
<%= image_tag url %>
|
||||
<% else %>
|
||||
|
||||
@@ -102,6 +102,10 @@ module Sources
|
||||
assert_equal("https://i.pximg.net/img-original/img/2017/11/21/05/12/37/65981735_p0.jpg", @site.image_url)
|
||||
end
|
||||
|
||||
should "get the preview size image url" do
|
||||
assert_equal("https://i.pximg.net/c/240x240/img-master/img/2017/11/21/05/12/37/65981735_p0.jpg", @site.preview_url)
|
||||
end
|
||||
|
||||
should "get the page count" do
|
||||
assert_equal(1, @site.image_urls.size)
|
||||
end
|
||||
|
||||
@@ -70,6 +70,10 @@ module Sources
|
||||
assert_equal("https://media.tumblr.com/3bbfcbf075ddf969c996641b264086fd/tumblr_os2buiIOt51wsfqepo1_1280.png", @site.image_url)
|
||||
end
|
||||
|
||||
should "get the preview url" do
|
||||
assert_equal("https://media.tumblr.com/3bbfcbf075ddf969c996641b264086fd/tumblr_os2buiIOt51wsfqepo1_250.png", @site.preview_url)
|
||||
end
|
||||
|
||||
should "get the artist" do
|
||||
CurrentUser.user = FactoryBot.create(:user)
|
||||
CurrentUser.ip_addr = "127.0.0.1"
|
||||
|
||||
@@ -78,6 +78,10 @@ module Sources
|
||||
assert_equal("https://pbs.twimg.com/media/C1kt72yVEAEGpOv.jpg:orig", @site.image_url)
|
||||
end
|
||||
|
||||
should "get the preview url" do
|
||||
assert_equal("https://pbs.twimg.com/media/C1kt72yVEAEGpOv.jpg:small", @site.preview_url)
|
||||
end
|
||||
|
||||
should "get the canonical url" do
|
||||
assert_equal("https://twitter.com/aranobu/status/817736083567820800", @site.canonical_url)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user