Some fixes: output types, libraries, remote
[nikiroo-utils.git] / src / be / nikiroo / fanfix / reader / GuiReader.java
index 0faea6e031d9fb712ad6a04bc0a6cfb8adfa2dc9..410e05e56f0cd3a05338c8d37f6633e488cbb075 100644 (file)
@@ -18,7 +18,6 @@ import be.nikiroo.fanfix.bundles.UiConfig;
 import be.nikiroo.fanfix.data.MetaData;
 import be.nikiroo.fanfix.data.Story;
 import be.nikiroo.fanfix.library.LocalLibrary;
-import be.nikiroo.fanfix.output.BasicOutput.OutputType;
 import be.nikiroo.utils.Progress;
 import be.nikiroo.utils.Version;
 import be.nikiroo.utils.ui.UIUtils;
@@ -41,33 +40,9 @@ class GuiReader extends BasicReader {
                                        "Cannote create cache directory for local reader: " + dir);
                }
 
-               OutputType text = null;
-               OutputType images = null;
-
-               try {
-                       text = OutputType.valueOfNullOkUC(Instance.getUiConfig().getString(
-                                       UiConfig.NON_IMAGES_DOCUMENT_TYPE));
-                       if (text == null) {
-                               text = OutputType.HTML;
-                       }
-
-                       images = OutputType.valueOfNullOkUC(Instance.getUiConfig()
-                                       .getString(UiConfig.IMAGES_DOCUMENT_TYPE));
-                       if (images == null) {
-                               images = OutputType.CBZ;
-                       }
-               } catch (Exception e) {
-                       UiConfig key = (text == null) ? UiConfig.NON_IMAGES_DOCUMENT_TYPE
-                                       : UiConfig.IMAGES_DOCUMENT_TYPE;
-                       String value = Instance.getUiConfig().getString(key);
-
-                       throw new IOException(
-                                       String.format(
-                                                       "The configuration option %s is not valid: %s",
-                                                       key, value), e);
-               }
-
-               localLibrary = new LocalLibrary(dir, text, images);
+               localLibrary = new LocalLibrary(dir, Instance.getUiConfig().getString(
+                               UiConfig.GUI_NON_IMAGES_DOCUMENT_TYPE), Instance.getUiConfig()
+                               .getString(UiConfig.GUI_IMAGES_DOCUMENT_TYPE), true);
        }
 
        @Override
@@ -93,21 +68,8 @@ class GuiReader extends BasicReader {
         *             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 = getLibrary().getStory(luid, pgGetStory);
-                       if (story != null) {
-                               story = localLibrary.save(story, luid, pgSave);
-                       } else {
-                               throw new IOException("Cannot find story in Library: " + luid);
-                       }
+                       localLibrary.imprt(getLibrary(), luid, pg);
                } catch (IOException e) {
                        throw new IOException(
                                        "Cannot import story from library to LocalReader library: "
@@ -205,7 +167,9 @@ class GuiReader extends BasicReader {
        // delete from main library
        void delete(String luid) {
                try {
-                       localLibrary.delete(luid);
+                       if (localLibrary.getInfo(luid) != null) {
+                               localLibrary.delete(luid);
+                       }
                        getLibrary().delete(luid);
                } catch (IOException e) {
                        Instance.syserr(e);
@@ -226,7 +190,9 @@ class GuiReader extends BasicReader {
 
        void changeType(String luid, String newSource) {
                try {
-                       localLibrary.changeSource(luid, newSource, null);
+                       if (localLibrary.getInfo(luid) != null) {
+                               localLibrary.changeSource(luid, newSource, null);
+                       }
                        getLibrary().changeSource(luid, newSource, null);
                } catch (IOException e) {
                        Instance.syserr(e);