X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FInfoReader.java;h=b65256ca4b6a3a4db4e836113fe064587be35fbf;hb=16a81ef7656c5c692fb831927e75edde25dd77a0;hp=ede84e39a5c4f945a49f9fbc1c512ab7b84c4ba1;hpb=57f02339393c9997391b76ffcb22ae72fd0a45cb;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/supported/InfoReader.java b/src/be/nikiroo/fanfix/supported/InfoReader.java index ede84e3..b65256c 100644 --- a/src/be/nikiroo/fanfix/supported/InfoReader.java +++ b/src/be/nikiroo/fanfix/supported/InfoReader.java @@ -9,6 +9,8 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; +import be.nikiroo.fanfix.Instance; +import be.nikiroo.fanfix.bundles.Config; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.utils.MarkableFileInputStream; @@ -29,11 +31,11 @@ public class InfoReader { in.close(); in = null; } - } else { - throw new FileNotFoundException( - "File given as argument does not exists: " - + infoFile.getAbsolutePath()); } + + throw new FileNotFoundException( + "File given as argument does not exists: " + + infoFile.getAbsolutePath()); } private static MetaData createMeta(URL sourceInfoFile, InputStream in, @@ -54,8 +56,24 @@ public class InfoReader { meta.setType(getInfoTag(in, "TYPE")); meta.setImageDocument(getInfoTagBoolean(in, "IMAGES_DOCUMENT", false)); if (withCover) { - meta.setCover(BasicSupport.getImage(null, sourceInfoFile, - getInfoTag(in, "COVER"))); + String infoTag = getInfoTag(in, "COVER"); + if (infoTag != null && !infoTag.trim().isEmpty()) { + meta.setCover(BasicSupport.getImage(null, sourceInfoFile, + infoTag)); + } + // Second chance: try to check for a cover next to the info file + if (meta.getCover() == null) { + 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(); + meta.setCover(BasicSupport.getImage(null, sourceInfoFile, + info + ext)); + } + } } try { meta.setWords(Long.parseLong(getInfoTag(in, "WORDCOUNT")));