From 455ee9a52a61f38e5ce5885f98a2fa712a555303 Mon Sep 17 00:00:00 2001 From: evazion Date: Fri, 18 Mar 2022 02:03:00 -0500 Subject: [PATCH] fc2: parse more url types. --- app/logical/source/url/fc2.rb | 30 ++++++++++++++++++++++++++++-- test/unit/artist_test.rb | 2 ++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/app/logical/source/url/fc2.rb b/app/logical/source/url/fc2.rb index bc2229eae..76324e14e 100644 --- a/app/logical/source/url/fc2.rb +++ b/app/logical/source/url/fc2.rb @@ -16,7 +16,8 @@ class Source::URL::Fc2 < Source::URL # http://silencexs.blog.fc2.com # http://silencexs.blog106.fc2.com - in username, /blog\d*/, "fc2", "com", *rest + # http://onidocoro.blog14.fc2.com/file/20071003061150.png + in username, /^blog\d*$/, "fc2", "com", *rest @username = username @profile_url = "http://#{username}.blog.fc2.com" @@ -32,10 +33,35 @@ class Source::URL::Fc2 < Source::URL # http://swordsouls.blog131.fc2blog.net # http://swordsouls.blog131.fc2blog.us - in username, /blog\d*/, "fc2blog", ("net" | "us") => tld, *rest + in username, /^blog\d*$/, "fc2blog", ("net" | "us") => tld, *rest @username = username @profile_url = "http://#{username}.blog.fc2blog.#{tld}" + # http://blog23.fc2.com/m/mosha2/file/uru.jpg + # http://blog.fc2.com/g/genshi/file/20070612a.jpg + in /^blog\d*$/, "fc2", "com", /^\w$/, username, "file", file + @username = username + @profile_url = "http://#{username}.blog.fc2.com" + + # http://blog-imgs-63-origin.fc2.com/y/u/u/yuukyuukikansya/140817hijiri02.jpg + # http://blog-imgs-61.fc2.com/o/m/o/omochi6262/20130402080220583.jpg + # http://blog.fc2.com/g/b/o/gbot/20071023195141.jpg + in (/^blog-imgs-\d+(-origin)?$/ | "blog"), "fc2", "com", /^\w$/, /^\w$/, /^\w$/, username, file + @username = username + @profile_url = "http://#{username}.blog.fc2.com" + + # http://diary.fc2.com/user/yuuri/img/2005_12/26.jpg + # http://diary1.fc2.com/user/kou_48/img/2006_8/14.jpg + # http://diary.fc2.com/user/kazuharoom/img/2015_5/22.jpg + in /diary\d*$/, "fc2", "com", "user", username, "img", date, file + @username = username + @profile_url = "http://diary.fc2.com/cgi-sys/ed.cgi/#{username}" + + # http://diary.fc2.com/cgi-sys/ed.cgi/kazuharoom/?Y=2012&M=10&D=22 + in /diary\d*$/, "fc2", "com", "cgi-sys", "ed.cgi", username + @username = username + @profile_url = "http://diary.fc2.com/cgi-sys/ed.cgi/#{username}" + else end end diff --git a/test/unit/artist_test.rb b/test/unit/artist_test.rb index 07a3beb82..3a4a616a1 100644 --- a/test/unit/artist_test.rb +++ b/test/unit/artist_test.rb @@ -388,6 +388,8 @@ class ArtistTest < ActiveSupport::TestCase should "find the artist" do assert_artist_found("awa", "http://blog71.fc2.com/a/abk00/file/20080220194219.jpg") + assert_artist_found("awa", "http://blog-imgs-71.fc2.com/a/b/k/abk00/20080220194219.jpg") + assert_artist_found("awa", "http://abk00.blog71.fc2.com/file/20080220194219.jpg") end should "return nothing for an unknown artist" do