X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2FMain.java;h=813a9b40320758e42a4244778b5c86971cc95137;hb=778d8d85f288c7b67c1a5156e5aedfc944997be0;hp=6a8a4a5af7542dccb07e8ffd5ba97dccd1abb05a;hpb=5e848e6a19a87f4e14b13147f628667376503d74;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/Main.java b/src/be/nikiroo/fanfix/Main.java index 6a8a4a5..813a9b4 100644 --- a/src/be/nikiroo/fanfix/Main.java +++ b/src/be/nikiroo/fanfix/Main.java @@ -4,9 +4,11 @@ import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; +import java.util.List; import be.nikiroo.fanfix.bundles.StringId; import be.nikiroo.fanfix.data.Chapter; +import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Story; import be.nikiroo.fanfix.library.BasicLibrary; import be.nikiroo.fanfix.library.CacheLibrary; @@ -62,9 +64,10 @@ public class Main { *
  • --set-reader [reader type]: set the reader type to CLI, TUI or LOCAL * for this command
  • *
  • --version: get the version of the program
  • - *
  • --server [port]: start a server on this port
  • - *
  • --stop-server [port]: stop the running server on this port if any
  • - *
  • --remote [host] [port]: use a the given remote library
  • + *
  • --server [key] [port]: start a server on this port
  • + *
  • --stop-server [key] [port]: stop the running server on this port if + * any
  • + *
  • --remote [key] [host] [port]: use a the given remote library
  • * * * @param args @@ -76,6 +79,7 @@ public class Main { String sourceString = null; String chapString = null; String target = null; + String key = null; MainAction action = MainAction.START; Boolean plusInfo = null; String host = null; @@ -179,20 +183,24 @@ public class Main { break; case SERVER: case STOP_SERVER: - if (port == null) { + if (key == null) { + key = args[i]; + } else if (port == null) { port = Integer.parseInt(args[i]); } else { exitCode = 255; } break; case REMOTE: - if (host == null) { + if (key == null) { + key = args[i]; + } else if (host == null) { host = args[i]; } else if (port == null) { port = Integer.parseInt(args[i]); File remoteCacheDir = Instance.getRemoteDir(host); - BasicLibrary lib = new RemoteLibrary(host, port); + BasicLibrary lib = new RemoteLibrary(key, host, port); lib = new CacheLibrary(remoteCacheDir, lib); BasicReader.setDefaultLibrary(lib); @@ -319,7 +327,7 @@ public class Main { break; } try { - Server server = new RemoteLibraryServer(port); + Server server = new RemoteLibraryServer(key, port); server.start(); System.out.println("Remote server started on: " + port); } catch (IOException e) { @@ -333,12 +341,13 @@ public class Main { } try { + final String fkey = key; new ConnectActionClient(host, port, true) { @Override public void action(Version serverVersion) throws Exception { try { - send(new Object[] { "EXIT" }); + send(new Object[] { fkey, "EXIT" }); } catch (Exception e) { Instance.syserr(e); } @@ -432,7 +441,18 @@ public class Main { * @return the exit return code (0 = success) */ private static int list(String source) { - BasicReader.getReader().browse(source); + List stories; + stories = BasicReader.getReader().getLibrary().getListBySource(source); + + for (MetaData story : stories) { + String author = ""; + if (story.getAuthor() != null && !story.getAuthor().isEmpty()) { + author = " (" + story.getAuthor() + ")"; + } + + System.out.println(story.getLuid() + ": " + story.getTitle() + + author); + } return 0; }