X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FBasicLibrary.java;h=29a3cf97efc162fb86f7035585e853fbbc25ce0a;hb=ed2fd793b8768d7865afb2176375a6459e2408d2;hp=56a57070b0e2ab66fb0d78d97a43c847ed2cc06d;hpb=9e2fad3600cd08eca73d45cb5c991d98095842aa;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/library/BasicLibrary.java b/src/be/nikiroo/fanfix/library/BasicLibrary.java index 56a5707..29a3cf9 100644 --- a/src/be/nikiroo/fanfix/library/BasicLibrary.java +++ b/src/be/nikiroo/fanfix/library/BasicLibrary.java @@ -94,7 +94,8 @@ abstract public class BasicLibrary { /** * Return the cover image associated to this source. *

- * By default, return the cover of the first story with this source. + * By default, return the custom cover if any, and if not, return the cover + * of the first story with this source. * * @param source * the source @@ -102,6 +103,11 @@ abstract public class BasicLibrary { * @return the cover image or NULL */ public Image getSourceCover(String source) { + Image custom = getCustomSourceCover(source); + if (custom != null) { + return custom; + } + List metas = getListBySource(source); if (metas.size() > 0) { return getCover(metas.get(0).getLuid()); @@ -110,6 +116,20 @@ abstract public class BasicLibrary { return null; } + /** + * Return the custom cover image associated to this source. + *

+ * By default, return NULL. + * + * @param source + * the source to look for + * + * @return the custom cover or NULL if none + */ + public Image getCustomSourceCover(@SuppressWarnings("unused") String source) { + return null; + } + /** * Fix the source cover to the given story cover. * @@ -358,6 +378,7 @@ abstract public class BasicLibrary { // Because we do not want to clear the meta cache: meta.setCover(story.getMeta().getCover()); + meta.setResume(story.getMeta().getResume()); story.setMeta(meta); // } else { @@ -398,12 +419,24 @@ abstract public class BasicLibrary { * in case of I/O error */ public Story imprt(URL url, Progress pg) throws IOException { + if (pg == null) + pg = new Progress(); + + pg.setMinMax(0, 1000); + Progress pgProcess = new Progress(); + Progress pgSave = new Progress(); + pg.addProgress(pgProcess, 800); + pg.addProgress(pgSave, 200); + BasicSupport support = BasicSupport.getSupport(url); if (support == null) { throw new UnknownHostException("" + url); } - return save(support.process(pg), null); + Story story = save(support.process(pgProcess), pgSave); + pg.done(); + + return story; } /**