import be.nikiroo.fanfix.Instance;
import be.nikiroo.fanfix.Library;
-import be.nikiroo.fanfix.bundles.Config;
-import be.nikiroo.fanfix.data.MetaData;
+import be.nikiroo.fanfix.bundles.UiConfig;
import be.nikiroo.fanfix.data.Story;
import be.nikiroo.fanfix.output.BasicOutput.OutputType;
+import be.nikiroo.utils.Progress;
class LocalReader extends BasicReader {
private Library lib;
}
// TODO: can throw an exception, manage that (convert to IOEx ?)
- OutputType text = OutputType.valueOfNullOkUC(Instance.getConfig()
- .getString(Config.LOCAL_READER_NON_IMAGES_DOCUMENT_TYPE));
+ OutputType text = OutputType.valueOfNullOkUC(Instance.getUiConfig()
+ .getString(UiConfig.LOCAL_READER_NON_IMAGES_DOCUMENT_TYPE));
if (text == null) {
text = OutputType.HTML;
}
- OutputType images = OutputType.valueOfNullOkUC(Instance.getConfig()
- .getString(Config.LOCAL_READER_IMAGES_DOCUMENT_TYPE));
+ OutputType images = OutputType.valueOfNullOkUC(Instance.getUiConfig()
+ .getString(UiConfig.LOCAL_READER_IMAGES_DOCUMENT_TYPE));
if (images == null) {
images = OutputType.CBZ;
}
public void read(int chapter) {
}
- // return new luid
- public String imprt(String luid) throws IOException {
+ /**
+ * Import the story into the local reader library, and keep the same LUID.
+ *
+ * @param luid
+ * the Library UID
+ * @param pg
+ * the optional progress reporter
+ *
+ * @throws IOException
+ * in case of I/O error
+ */
+ public void imprt(String luid, Progress pg) throws IOException {
+ Progress pgGetStory = new Progress();
+ Progress pgSave = new Progress();
+ if (pg != null) {
+ pg.setMax(2);
+ pg.addProgress(pgGetStory, 1);
+ pg.addProgress(pgSave, 1);
+ }
+
try {
- Story story = Instance.getLibrary().getStory(luid);
+ Story story = Instance.getLibrary().getStory(luid, pgGetStory);
if (story != null) {
- story = lib.save(story);
- return story.getMeta().getLuid();
+ story = lib.save(story, luid, pgSave);
} else {
throw new IOException("Cannot find story in Library: " + luid);
}
}
}
- public File getTarget(String luid) throws IOException {
- MetaData meta = lib.getInfo(luid);
+ /**
+ * Get the target file related to this {@link Story}.
+ *
+ * @param luid
+ * the LUID of the {@link Story}
+ * @param pg
+ * the optional progress reporter
+ *
+ * @return the target file
+ *
+ * @throws IOException
+ * in case of I/O error
+ */
+ public File getTarget(String luid, Progress pg) throws IOException {
File file = lib.getFile(luid);
if (file == null) {
- luid = imprt(luid);
+ imprt(luid, pg);
file = lib.getFile(luid);
- meta = lib.getInfo(luid);
}
return file;