From 83f66cbbd12246a5e2f1aeee1afe36503b901814 Mon Sep 17 00:00:00 2001 From: Niki Roo Date: Mon, 5 Jun 2017 18:58:59 +0200 Subject: [PATCH] Version 1.5.1: FimFiction 4, small fix on eHentai - Today (10:30 GMT), FimFiction migrated to version 4 and was not compatible any more with Fanfix - some metadata fixed for eHentai --- VERSION | 2 +- changelog.md | 3 +- .../nikiroo/fanfix/supported/Fimfiction.java | 85 ++++++++++--------- 3 files changed, 50 insertions(+), 40 deletions(-) diff --git a/VERSION b/VERSION index bc80560f..26ca5946 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.0 +1.5.1 diff --git a/changelog.md b/changelog.md index 09b457c4..54c4bbca 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,7 @@ # Fanfix -## Version WIP +## Version 1.5.1 +- Update to FimFiction 4 - fix some meta data that were missing on e-Hentai ## Version 1.5.0 diff --git a/src/be/nikiroo/fanfix/supported/Fimfiction.java b/src/be/nikiroo/fanfix/supported/Fimfiction.java index 6293c114..1faf6152 100644 --- a/src/be/nikiroo/fanfix/supported/Fimfiction.java +++ b/src/be/nikiroo/fanfix/supported/Fimfiction.java @@ -156,12 +156,12 @@ class Fimfiction extends BasicSupport { @Override protected String getDesc(URL source, InputStream in) { // the og: meta version is the SHORT resume, this is the LONG resume - return getLine(in, "class=\"more_button hidden\"", -1); + return getLine(in, "class=\"description-text bbcode\"", 1); } private BufferedImage getCover(InputStream in) { // Note: the 'og:image' is the SMALL cover, not the full version - String cover = getLine(in, "
", 1); + String cover = getLine(in, "class=\"story_container__story_image\"", 1); if (cover != null) { int pos = cover.indexOf('"'); if (pos >= 0) { @@ -183,49 +183,58 @@ class Fimfiction extends BasicSupport { @SuppressWarnings("resource") Scanner scan = new Scanner(in, "UTF-8"); scan.useDelimiter("\\n"); + boolean started = false; while (scan.hasNext()) { - String line = scan.next(); - if (line.contains("class=\"chapter_link\"") - || line.contains("class='chapter_link'")) { - // Chapter name - String name = line; - int pos = name.indexOf('>'); - if (pos >= 0) { - name = name.substring(pos + 1); - pos = name.indexOf('<'); + String line = scan.next().trim(); + + if (!started) { + started = line.equals(""); + } else { + if (line.equals("")) { + break; + } + + if (line.startsWith("= 0) { - line = line.substring(0, pos); + line = line.substring(pos); // we take the /, not +1 + pos = line.indexOf('"'); + if (pos >= 0) { + line = line.substring(0, pos); + } } - } - try { - final String key = name; - final URL value = new URL("http://www.fimfiction.net" - + line); - urls.add(new Entry() { - public URL setValue(URL value) { - return null; - } + try { + final String key = name; + final URL value = new URL("http://www.fimfiction.net" + + line); + urls.add(new Entry() { + public URL setValue(URL value) { + return null; + } - public String getKey() { - return key; - } + public String getKey() { + return key; + } - public URL getValue() { - return value; - } - }); - } catch (MalformedURLException e) { - Instance.syserr(e); + public URL getValue() { + return value; + } + }); + } catch (MalformedURLException e) { + Instance.syserr(e); + } } } } @@ -236,7 +245,7 @@ class Fimfiction extends BasicSupport { @Override protected String getChapterContent(URL source, InputStream in, int number, Progress pg) { - return getLine(in, "
", 1); + return getLine(in, "
", 1); } @Override -- 2.27.0