X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FInfoReader.java;h=3d09a55a14d024df221cd0b6db56a959b7416407;hb=13fdb89adc017452a7a72f552b933f8e7b869413;hp=80f873989ad03b95db685ffa94603fa7f4e4f30f;hpb=bb7021f2b3f1bf32d6ec7ad521ae7ae8d1810c57;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/supported/InfoReader.java b/src/be/nikiroo/fanfix/supported/InfoReader.java index 80f8739..3d09a55 100644 --- a/src/be/nikiroo/fanfix/supported/InfoReader.java +++ b/src/be/nikiroo/fanfix/supported/InfoReader.java @@ -14,7 +14,7 @@ import be.nikiroo.fanfix.Instance; import be.nikiroo.fanfix.bundles.Config; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.utils.Image; -import be.nikiroo.utils.MarkableFileInputStream; +import be.nikiroo.utils.streams.MarkableFileInputStream; // not complete: no "description" tag public class InfoReader { @@ -25,8 +25,7 @@ public class InfoReader { } if (infoFile.exists()) { - InputStream in = new MarkableFileInputStream(new FileInputStream( - infoFile)); + InputStream in = new MarkableFileInputStream(infoFile); try { return createMeta(infoFile.toURI().toURL(), in, withCover); } finally { @@ -91,17 +90,30 @@ public class InfoReader { * @return the cover if present, NULL if not */ public static Image getCoverByName(URL sourceInfoFile) { - String info = sourceInfoFile.getFile().toString(); - if (info.endsWith(".info")) { - info = info.substring(0, info.length() - ".info".length()); - String ext = "." - + Instance.getConfig().getString(Config.IMAGE_FORMAT_COVER) - .toLowerCase(); - return BasicSupportHelper - .getImage(null, sourceInfoFile, info + ext); + Image cover = null; + + File basefile = new File(sourceInfoFile.getFile()); + + String ext = "." + + Instance.getConfig().getString(Config.FILE_FORMAT_IMAGE_FORMAT_COVER) + .toLowerCase(); + + // Without removing ext + cover = BasicSupportHelper.getImage(null, sourceInfoFile, + basefile.getAbsolutePath() + ext); + + // Try without ext + String name = basefile.getName(); + int pos = name.lastIndexOf("."); + if (cover == null && pos > 0) { + name = name.substring(0, pos); + basefile = new File(basefile.getParent(), name); + + cover = BasicSupportHelper.getImage(null, sourceInfoFile, + basefile.getAbsolutePath() + ext); } - return null; + return cover; } private static boolean getInfoTagBoolean(InputStream in, String key,