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;
public void read(int chapter) {
}
- // keep same luid
- public void 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, luid);
+ story = lib.save(story, luid, pgSave);
} else {
throw new IOException("Cannot find story in Library: " + luid);
}
}
}
- public File getTarget(String luid) throws IOException {
+ /**
+ * 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) {
- imprt(luid);
+ imprt(luid, pg);
file = lib.getFile(luid);
}