X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FBasicSupport.java;h=61f46211e3af3907579f6c4e60893670dc335d79;hb=99d71bd72a857dc3db08bc52047abec3dd27f2fa;hp=6843a02ef26f26a09de8869cbc1a1e1489fb493d;hpb=6dd591f08aa6130391dd47ec60db5ae046c1e505;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/supported/BasicSupport.java b/src/be/nikiroo/fanfix/supported/BasicSupport.java index 6843a02..61f4621 100644 --- a/src/be/nikiroo/fanfix/supported/BasicSupport.java +++ b/src/be/nikiroo/fanfix/supported/BasicSupport.java @@ -38,13 +38,6 @@ public abstract class BasicSupport { private SupportType type; private URL currentReferer; // with only one 'r', as in 'HTTP'... - /** - * The name of this support class. - * - * @return the name - */ - protected abstract String getSourceName(); - /** * Check if the given resource is supported by this {@link BasicSupport}. * @@ -295,7 +288,7 @@ public abstract class BasicSupport { getDesc(), isHtml(), null)); } - pg.setProgress(100); + pg.done(); return story; } @@ -348,9 +341,7 @@ public abstract class BasicSupport { Progress pgMeta = new Progress(); pg.addProgress(pgMeta, 10); Story story = processMeta(true, pgMeta); - if (!pgMeta.isDone()) { - pgMeta.setProgress(pgMeta.getMax()); // 10% - } + pgMeta.done(); // 10% pg.setName("Retrieving " + story.getMeta().getTitle()); @@ -358,9 +349,7 @@ public abstract class BasicSupport { pg.addProgress(pgGetChapters, 10); story.setChapters(new ArrayList()); List> chapters = getChapters(pgGetChapters); - if (!pgGetChapters.isDone()) { - pgGetChapters.setProgress(pgGetChapters.getMax()); // 20% - } + pgGetChapters.done(); // 20% if (chapters != null) { Progress pgChaps = new Progress("Extracting chapters", 0, @@ -385,16 +374,10 @@ public abstract class BasicSupport { String content = getChapterContent(chapUrl, i, pgGetChapterContent); - if (!pgGetChapterContent.isDone()) { - pgGetChapterContent.setProgress(pgGetChapterContent - .getMax()); - } - + pgGetChapterContent.done(); Chapter cc = BasicSupportPara.makeChapter(this, chapUrl, i, chapName, content, isHtml(), pgMakeChapter); - if (!pgMakeChapter.isDone()) { - pgMakeChapter.setProgress(pgMakeChapter.getMax()); - } + pgMakeChapter.done(); words += cc.getWords(); story.getChapters().add(cc); @@ -404,13 +387,37 @@ public abstract class BasicSupport { } pgChaps.setName("Extracting chapters"); - } else { - pg.setProgress(80); + pgChaps.done(); } + pg.done(); + return story; } + /** + * Create a chapter from the given data. + * + * @param source + * the source URL for this content, which can be used to try and + * find images if images are present in the format [image-url] + * @param number + * the chapter number (0 = description) + * @param name + * the chapter name + * @param content + * the content of the chapter + * @return the {@link Chapter} + * + * @throws IOException + * in case of I/O error + */ + public Chapter makeChapter(URL source, int number, String name, + String content) throws IOException { + return BasicSupportPara.makeChapter(this, source, number, name, + content, isHtml(), null); + } + /** * Return a {@link BasicSupport} implementation supporting the given * resource if possible. @@ -450,10 +457,11 @@ public abstract class BasicSupport { * Return a {@link BasicSupport} implementation supporting the given type. * * @param type - * the type + * the type, must not be NULL * @param url * the {@link URL} to support (can be NULL to get an - * "abstract support") + * "abstract support"; if not NULL, will be used as the source + * URL) * * @return an implementation that supports it, or NULL */