X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2FInstance.java;h=74897491f7a0b93c60893b828fac0ec82ef5111a;hb=7d4c3830e2128253dbb0212d1afb737aa28e033b;hp=96d5d6f9a3031124cce38f8d59f81ea53138df2e;hpb=6a211e41dfcf8f187caf29a307fc9ae983ad4d57;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/Instance.java b/src/be/nikiroo/fanfix/Instance.java index 96d5d6f..7489749 100644 --- a/src/be/nikiroo/fanfix/Instance.java +++ b/src/be/nikiroo/fanfix/Instance.java @@ -93,7 +93,7 @@ public class Instance { createConfigs(configDir, false); // Proxy support - Proxy.use(Instance.getConfig().getString(Config.USE_PROXY)); + Proxy.use(Instance.getConfig().getString(Config.NETWORK_PROXY)); // update tracer: if (debug == null) { @@ -108,17 +108,16 @@ public class Instance { lib = createDefaultLibrary(remoteDir); // create cache and TMP - Image.setTemporaryFilesRoot(new File(configDir, "tmp.images")); - File tmp = getFile(Config.CACHE_DIR); - if (tmp == null) { - // Could have used: System.getProperty("java.io.tmpdir") - tmp = new File(configDir, "tmp"); + File tmp = getFile(Config.CACHE_DIR, new File(configDir, "tmp")); + if (!tmp.isAbsolute()) { + tmp = new File(configDir, tmp.getPath()); } - String ua = config.getString(Config.USER_AGENT); + Image.setTemporaryFilesRoot(new File(tmp.getParent(), "tmp.images")); + + String ua = config.getString(Config.NETWORK_USER_AGENT, ""); try { - int hours = config.getInteger(Config.CACHE_MAX_TIME_CHANGING, -1); - int hoursLarge = config - .getInteger(Config.CACHE_MAX_TIME_STABLE, -1); + int hours = config.getInteger(Config.CACHE_MAX_TIME_CHANGING, 0); + int hoursLarge = config.getInteger(Config.CACHE_MAX_TIME_STABLE, 0); cache = new DataLoader(tmp, ua, hours, hoursLarge); } catch (IOException e) { tracer.error(new IOException( @@ -129,18 +128,12 @@ public class Instance { cache.setTraceHandler(tracer); // readerTmp / coverDir - readerTmp = getFile(UiConfig.CACHE_DIR_LOCAL_READER); - if (readerTmp == null) { - readerTmp = new File(configDir, "tmp-reader"); - } + readerTmp = getFile(UiConfig.CACHE_DIR_LOCAL_READER, new File( + configDir, "tmp-reader")); - coverDir = getFile(Config.DEFAULT_COVERS_DIR); - if (coverDir != null && !coverDir.exists()) { - tracer.error(new IOException( - "The 'default covers' directory does not exists: " - + coverDir)); - coverDir = null; - } + coverDir = getFile(Config.DEFAULT_COVERS_DIR, new File(configDir, + "covers")); + coverDir.mkdirs(); try { tempFiles = new TempFiles("fanfix"); @@ -332,7 +325,7 @@ public class Instance { */ public static boolean isVersionCheckNeeded() { try { - long wait = config.getInteger(Config.UPDATE_INTERVAL, 1) * 24 * 60 + long wait = config.getInteger(Config.NETWORK_UPDATE_INTERVAL, 0) * 24 * 60 * 60 * 1000; if (wait >= 0) { String lastUpString = IOUtils.readSmallFile(new File(configDir, @@ -464,9 +457,9 @@ public class Instance { String remoteLib = config.getString(Config.DEFAULT_LIBRARY); if (remoteLib == null || remoteLib.trim().isEmpty()) { - String libDir = System.getProperty("fanfix.libdir"); + String libDir = System.getenv("BOOKS_DIR"); if (libDir == null || libDir.isEmpty()) { - libDir = config.getString(Config.LIBRARY_DIR); + libDir = config.getString(Config.LIBRARY_DIR, "$HOME/Books"); } try { lib = new LocalLibrary(getFile(libDir)); @@ -514,8 +507,13 @@ public class Instance { * * @return the path */ - private static File getFile(Config id) { - return getFile(config.getString(id)); + private static File getFile(Config id, File def) { + String path = config.getString(id); + if (path != null && path.isEmpty()) { + path = def.getPath(); + } + + return getFile(path); } /** @@ -523,8 +521,13 @@ public class Instance { * * @return the path */ - private static File getFile(UiConfig id) { - return getFile(uiconfig.getString(id)); + private static File getFile(UiConfig id, File def) { + String path = uiconfig.getString(id); + if (path != null && path.isEmpty()) { + path = def.getPath(); + } + + return getFile(path); } /** @@ -547,16 +550,28 @@ public class Instance { } /** - * Return the home directory from the system properties. + * Return the home directory from the environment (FANFIX_DIR) or the system + * properties. + *

+ * The environment variable is tested first. Then, the custom property + * "fanfix.home" is tried, followed by the usual "user.home" then + * "java.io.tmp" if nothing else is found. * * @return the home */ private static String getHome() { - String home = System.getProperty("fanfix.home"); + String home = System.getenv("FANFIX_DIR"); if (home != null && new File(home).isFile()) { home = null; } + if (home == null || home.trim().isEmpty()) { + home = System.getProperty("fanfix.home"); + if (home != null && new File(home).isFile()) { + home = null; + } + } + if (home == null || home.trim().isEmpty()) { home = System.getProperty("user.home"); if (!new File(home).isDirectory()) {