rely on preview urls if available for gallery

This commit is contained in:
Albert Yi
2018-09-11 14:57:18 -07:00
parent e0e85a3139
commit 4972c998f8
8 changed files with 42 additions and 2 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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?

View File

@@ -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 %>