X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FBasicLibrary.java;h=430fb2026a256510bb7705eea22ce799005ab48e;hb=e6249b0f26fd3a7ec4cf5e49ba9f9939018c43d3;hp=b11e1ec5276324743b2ea64fb0697d616567c7d4;hpb=ff05b8284e6e415b13d3543650075d0f7cd27ff5;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/library/BasicLibrary.java b/src/be/nikiroo/fanfix/library/BasicLibrary.java index b11e1ec..430fb20 100644 --- a/src/be/nikiroo/fanfix/library/BasicLibrary.java +++ b/src/be/nikiroo/fanfix/library/BasicLibrary.java @@ -29,6 +29,22 @@ import be.nikiroo.utils.Progress; * @author niki */ abstract public class BasicLibrary { + /** + * A {@link BasicLibrary} status. + * + * @author niki + */ + public enum Status { + /** The library is ready. */ + READY, + /** The library is invalid (not correctly set up). */ + INVALID, + /** You are not allowed to access this library. */ + UNAUTORIZED, + /** The library is currently out of commission. */ + UNAVAILABLE, + } + /** * Return a name for this library (the UI may display this). *

@@ -40,6 +56,15 @@ abstract public class BasicLibrary { return ""; } + /** + * The library status. + * + * @return the current status + */ + public Status getStatus() { + return Status.READY; + } + /** * Retrieve the main {@link File} corresponding to the given {@link Story}, * which can be passed to an external reader or instance. @@ -147,26 +172,14 @@ abstract public class BasicLibrary { throws IOException; /** - * Refresh the {@link BasicLibrary}, that is, make sure all stories are + * Refresh the {@link BasicLibrary}, that is, make sure all metas are * loaded. * - * @param full - * force the full content of the stories to be loaded, not just - * the {@link MetaData} - * * @param pg * the optional progress reporter */ - public void refresh(boolean full, Progress pg) { - if (full) { - // TODO: progress - List metas = getMetas(pg); - for (MetaData meta : metas) { - getStory(meta.getLuid(), null); - } - } else { - getMetas(pg); - } + public void refresh(Progress pg) { + getMetas(pg); } /** @@ -319,14 +332,19 @@ abstract public class BasicLibrary { if (type != null) { story = BasicSupport.getSupport(type).process(url, pgProcess); + // Because we do not want to clear the meta cache: + meta.setCover(story.getMeta().getCover()); + story.setMeta(meta); + // } else { throw new IOException("Unknown type: " + meta.getType()); } } catch (IOException e) { // We should not have not-supported files in the // library - Instance.syserr(new IOException( - "Cannot load file from library: " + file, e)); + Instance.getTraceHandler().error( + new IOException("Cannot load file from library: " + + file, e)); } finally { pgProcess.done(); pg.done();