X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FFimfiction.java;h=24aca5d4169353268d5d4ca1df0e1ae0d712f243;hb=62c63b0724f4bc45999cb2e7186b4b3ada479a0a;hp=45455b610f2a05193746e4e8bffcf0163d10e55a;hpb=c3c7900359a459fabfe59e8af212921036f5f5ed;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/supported/Fimfiction.java b/src/be/nikiroo/fanfix/supported/Fimfiction.java index 45455b6..24aca5d 100644 --- a/src/be/nikiroo/fanfix/supported/Fimfiction.java +++ b/src/be/nikiroo/fanfix/supported/Fimfiction.java @@ -83,13 +83,23 @@ class Fimfiction extends BasicSupport { break; // end of *this story* tags } - String tab[] = line.split("
  • "); - for (String subline : tab) { - subline = StringUtils.unhtml(subline).trim(); - if (!subline.isEmpty() && !tags.contains(subline)) { - tags.add(subline); + String keyword = "title=\""; + Scanner tagScanner = new Scanner(line); + tagScanner.useDelimiter(keyword); + if (tagScanner.hasNext()) { + tagScanner.next();// Ignore first one + } + while (tagScanner.hasNext()) { + String tag = tagScanner.next(); + if (tag.contains("\"")) { + tag = tag.split("\"")[0]; + tag = StringUtils.unhtml(tag).trim(); + if (!tag.isEmpty() && !tags.contains(tag)) { + tags.add(tag); + } } } + tagScanner.close(); } } @@ -198,7 +208,8 @@ class Fimfiction extends BasicSupport { break; } - if (line.startsWith("'); @@ -224,20 +235,23 @@ class Fimfiction extends BasicSupport { final URL value = new URL("http://www.fimfiction.net" + line); urls.add(new Entry() { + @Override public URL setValue(URL value) { return null; } + @Override public String getKey() { return key; } + @Override public URL getValue() { return value; } }); } catch (MalformedURLException e) { - Instance.syserr(e); + Instance.getTraceHandler().error(e); } } }