X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2FMain.java;h=53c4a8629f952075f4519131f5541363f5701f45;hb=85493b380b07146e2b36c0ffe40d2dc17a4ebdf2;hp=0da6bbab3dc7344e2df04f7e7bf6de6cdce5ead4;hpb=edf79e5e06e8dc177cc13b9bad5bf848e6f9741d;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/Main.java b/src/be/nikiroo/fanfix/Main.java index 0da6bba..53c4a86 100644 --- a/src/be/nikiroo/fanfix/Main.java +++ b/src/be/nikiroo/fanfix/Main.java @@ -21,7 +21,7 @@ import be.nikiroo.fanfix.reader.BasicReader; import be.nikiroo.fanfix.reader.Reader; import be.nikiroo.fanfix.reader.Reader.ReaderType; import be.nikiroo.fanfix.supported.BasicSupport; -import be.nikiroo.fanfix.supported.BasicSupport.SupportType; +import be.nikiroo.fanfix.supported.SupportType; import be.nikiroo.utils.Progress; import be.nikiroo.utils.Version; import be.nikiroo.utils.serial.server.ServerObject; @@ -199,9 +199,8 @@ public class Main { } else if (port == null) { port = Integer.parseInt(args[i]); - File remoteCacheDir = Instance.getRemoteDir(host); BasicLibrary lib = new RemoteLibrary(key, host, port); - lib = new CacheLibrary(remoteCacheDir, lib); + lib = new CacheLibrary(Instance.getRemoteDir(host), lib); BasicReader.setDefaultLibrary(lib); @@ -222,6 +221,9 @@ public class Main { int diff = progress.getProgress() - current; current += diff; + if (diff <= 0) + return; + StringBuilder builder = new StringBuilder(); for (int i = 0; i < diff; i++) { builder.append('.'); @@ -310,8 +312,8 @@ public class Main { case VERSION: System.out .println(String.format("Fanfix version %s" - + "\nhttps://github.com/nikiroo/fanfix/" - + "\n\tWritten by Nikiroo", + + "%nhttps://github.com/nikiroo/fanfix/" + + "%n\tWritten by Nikiroo", Version.getCurrentVersion())); updates.ok(); // we consider it read break; @@ -352,6 +354,20 @@ public class Main { } } + // We cannot do it when in GUI mode, because it is async... + // So if we close the temp files before it is actually used, + // we have a problem... + // TODO: close it at the correct time (for now, finalize try to do it) + if (false) { + try { + Instance.getTempFiles().close(); + } catch (IOException e) { + Instance.getTraceHandler().error( + new IOException( + "Cannot dispose of the temporary files", e)); + } + } + if (exitCode == 255) { syntax(false); } @@ -507,10 +523,11 @@ public class Main { * * @return the exit return code (0 = success) */ - private static int convert(String urlString, String typeString, + public static int convert(String urlString, String typeString, String target, boolean infoCover, Progress pg) { int exitCode = 0; + Instance.getTraceHandler().trace("Convert: " + urlString); String sourceName = urlString; try { URL source = BasicReader.getUrl(urlString); @@ -531,6 +548,7 @@ public class Main { BasicSupport support = BasicSupport.getSupport(source); if (support != null) { + Instance.getTraceHandler().trace("Support found: " + support.getClass()); Progress pgIn = new Progress(); Progress pgOut = new Progress(); if (pg != null) { @@ -539,7 +557,7 @@ public class Main { pg.addProgress(pgOut, 1); } - Story story = support.process(source, pgIn); + Story story = support.process(pgIn); try { target = new File(target).getAbsolutePath(); BasicOutput.getOutput(type, infoCover, infoCover)