normalize nijie popup urls (fixes #3153)
This commit is contained in:
@@ -5,6 +5,10 @@ module Sources
|
||||
url =~ /^https?:\/\/(?:.+?\.)?nijie\.info/
|
||||
end
|
||||
|
||||
def initialize(url, referer_url=nil)
|
||||
super(normalize_url(url), normalize_url(referer_url))
|
||||
end
|
||||
|
||||
def referer_url
|
||||
if @referer_url =~ /nijie\.info\/view\.php.+id=\d+/ && @url =~ /pic\d+\.nijie.info\/nijie_picture\//
|
||||
@referer_url
|
||||
@@ -23,13 +27,13 @@ module Sources
|
||||
end
|
||||
|
||||
def get
|
||||
page = agent.get(url)
|
||||
page = agent.get(referer_url)
|
||||
|
||||
if page.search("div#header-login-container").any?
|
||||
# Session cache is invalid, clear it and log in normally.
|
||||
Cache.delete("nijie-session")
|
||||
@agent = nil
|
||||
page = agent.get(url)
|
||||
page = agent.get(referer_url)
|
||||
end
|
||||
|
||||
@artist_name, @profile_url = get_profile_from_page(page)
|
||||
@@ -79,6 +83,14 @@ module Sources
|
||||
end
|
||||
end
|
||||
|
||||
def normalize_url(url)
|
||||
if url =~ %r!https?://nijie\.info/view_popup\.php.+id=(\d+)!
|
||||
return "http://nijie.info/view.php?id=#{$1}"
|
||||
else
|
||||
return url
|
||||
end
|
||||
end
|
||||
|
||||
def agent
|
||||
@agent ||= begin
|
||||
mech = Mechanize.new
|
||||
|
||||
Reference in New Issue
Block a user