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;
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,
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")));