fixes #1149
This commit is contained in:
@@ -157,6 +157,8 @@ class PostQueryBuilder
|
||||
if q[:source]
|
||||
if q[:source] == "none%"
|
||||
relation = relation.where("(posts.source = '' OR posts.source IS NULL)")
|
||||
elsif q[:source] == "http%"
|
||||
relation = relation.where("(posts.source like ?)", "http%")
|
||||
elsif q[:source] =~ /^%\.?pixiv(?:\.net(?:\/img)?)?(?:%\/|(?=%$))(.+)$/
|
||||
relation = relation.where("SourcePattern(posts.source) LIKE ? ESCAPE E'\\\\'", "pixiv/" + $1)
|
||||
has_constraints!
|
||||
|
||||
@@ -114,7 +114,7 @@ class Artist < ActiveRecord::Base
|
||||
Artist.new.tap do |artist|
|
||||
if params[:name]
|
||||
artist.name = params[:name]
|
||||
post = Post.tag_match("source:http* #{artist.name}").first
|
||||
post = Post.tag_match("source:http #{artist.name}").first
|
||||
unless post.nil? || post.source.blank?
|
||||
artist.url_string = post.source
|
||||
end
|
||||
|
||||
@@ -935,10 +935,10 @@ class PostTest < ActiveSupport::TestCase
|
||||
should "return posts for a pixiv source search" do
|
||||
url = "http://i1.pixiv.net/img123/img/artist-name/789.png"
|
||||
post = FactoryGirl.create(:post, :source => url)
|
||||
assert_equal(1, Post.tag_match("source:pixiv/artist-name/*").count)
|
||||
assert_equal(0, Post.tag_match("source:pixiv/artist-fake/*").count)
|
||||
assert_equal(1, Post.tag_match("source:*.pixiv.net/img*/artist-name/*").count)
|
||||
assert_equal(0, Post.tag_match("source:*.pixiv.net/img*/artist-fake/*").count)
|
||||
assert_equal(1, Post.tag_match("source:pixiv/artist-name/*").count)
|
||||
assert_equal(0, Post.tag_match("source:pixiv/artist-fake/*").count)
|
||||
end
|
||||
|
||||
should "return posts for a pixiv id search (type 1)" do
|
||||
|
||||
Reference in New Issue
Block a user