X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2FMain.java;h=1c1bc545d59a88e7aeda74dbe79dfa871437581a;hb=7d0d2be6b0e9bd4e03ac8a7d749f49d6d1436242;hp=10bccec650d7e4f9f33073502f553860e5f4229a;hpb=d011400048cae6884f0d94c320498429b45fb48a;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/Main.java b/src/be/nikiroo/fanfix/Main.java index 10bccec..1c1bc54 100644 --- a/src/be/nikiroo/fanfix/Main.java +++ b/src/be/nikiroo/fanfix/Main.java @@ -22,7 +22,7 @@ import be.nikiroo.fanfix.supported.BasicSupport.SupportType; */ public class Main { private enum MainAction { - IMPORT, EXPORT, CONVERT, READ, READ_URL, LIST, HELP, SET_READER + IMPORT, EXPORT, CONVERT, READ, READ_URL, LIST, HELP, SET_READER, START, } /** @@ -46,9 +46,9 @@ public class Main { * target *
  • --read [id] ([chapter number]): read the given story from the library *
  • - *
  • --read-url [URL] ([cahpter number]): convert on the fly and read the + *
  • --read-url [URL] ([chapter number]): convert on the fly and read the * story, without saving it
  • - *
  • --list: list the stories present in the library
  • + *
  • --list ([type]): list the stories present in the library
  • *
  • --set-reader [reader type]: set the reader type to CLI or LOCAL for * this command
  • * @@ -62,8 +62,7 @@ public class Main { String typeString = null; String chapString = null; String target = null; - String readerTypeString = null; - MainAction action = null; + MainAction action = MainAction.START; Boolean plusInfo = null; boolean noMoreActions = false; @@ -153,11 +152,10 @@ public class Main { exitCode = 255; break; case SET_READER: - if (readerTypeString == null) { - readerTypeString = args[i]; - } else { - exitCode = 255; - } + exitCode = setReaderType(args[i]); + break; + case START: + exitCode = 255; // not supposed to be selected by user break; } } @@ -168,7 +166,7 @@ public class Main { exitCode = imprt(urlString); break; case EXPORT: - exitCode = export(urlString, typeString, target); + exitCode = export(luid, typeString, target); break; case CONVERT: exitCode = convert(urlString, typeString, target, @@ -188,7 +186,10 @@ public class Main { exitCode = 0; break; case SET_READER: - exitCode = setReaderType(readerTypeString); + break; + case START: + BasicReader.setDefaultReaderType(ReaderType.LOCAL); + BasicReader.getReader().start(null); break; } } @@ -238,7 +239,7 @@ public class Main { * * @return the exit return code (0 = success) */ - private static int imprt(String urlString) { + public static int imprt(String urlString) { try { Story story = Instance.getLibrary().imprt(getUrl(urlString)); System.out.println(story.getMeta().getLuid() + ": \"" @@ -254,7 +255,7 @@ public class Main { /** * Export the {@link Story} from the {@link Library} to the given target. * - * @param urlString + * @param luid * the story LUID * @param typeString * the {@link OutputType} to use @@ -263,7 +264,7 @@ public class Main { * * @return the exit return code (0 = success) */ - private static int export(String urlString, String typeString, String target) { + public static int export(String luid, String typeString, String target) { OutputType type = OutputType.valueOfNullOkUC(typeString); if (type == null) { Instance.syserr(new Exception(trans(StringId.OUTPUT_DESC, @@ -272,9 +273,7 @@ public class Main { } try { - Story story = Instance.getLibrary().imprt(new URL(urlString)); - Instance.getLibrary().export(story.getMeta().getLuid(), type, - target); + Instance.getLibrary().export(luid, type, target); } catch (IOException e) { Instance.syserr(e); return 4; @@ -288,23 +287,13 @@ public class Main { * is passed, in which case all stories will be listed). * * @param typeString - * the {@link SupportType} to list the known stories of, or NULL - * to list all stories + * the type to list the known stories of, or NULL to list all + * stories * * @return the exit return code (0 = success) */ - private static int list(String typeString) { - SupportType type = null; - try { - type = SupportType.valueOfNullOkUC(typeString); - } catch (Exception e) { - Instance.syserr(new Exception( - trans(StringId.INPUT_DESC, typeString), e)); - return 1; - } - + private static int list(String type) { BasicReader.getReader().start(type); - return 0; } @@ -387,6 +376,7 @@ public class Main { } else { try { BasicSupport support = BasicSupport.getSupport(source); + if (support != null) { Story story = support.process(source); @@ -474,7 +464,8 @@ public class Main { */ private static int setReaderType(String readerTypeString) { try { - ReaderType readerType = ReaderType.valueOf(readerTypeString); + ReaderType readerType = ReaderType.valueOf(readerTypeString + .toUpperCase()); BasicReader.setDefaultReaderType(readerType); return 0; } catch (IllegalArgumentException e) {