X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FInfoReader.java;h=ede84e39a5c4f945a49f9fbc1c512ab7b84c4ba1;hb=57f02339393c9997391b76ffcb22ae72fd0a45cb;hp=1695ebdeadfb9792dcbe73011fb02540692e2fdc;hpb=68686a37a591a767f6d1af428ea0d5f3d3a1ddc1;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/supported/InfoReader.java b/src/be/nikiroo/fanfix/supported/InfoReader.java index 1695ebd..ede84e3 100644 --- a/src/be/nikiroo/fanfix/supported/InfoReader.java +++ b/src/be/nikiroo/fanfix/supported/InfoReader.java @@ -5,6 +5,7 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -13,7 +14,8 @@ import be.nikiroo.utils.MarkableFileInputStream; // not complete: no "description" tag public class InfoReader { - public static MetaData readMeta(File infoFile) throws IOException { + public static MetaData readMeta(File infoFile, boolean withCover) + throws IOException { if (infoFile == null) { throw new IOException("File is null"); } @@ -22,7 +24,7 @@ public class InfoReader { InputStream in = new MarkableFileInputStream(new FileInputStream( infoFile)); try { - return createMeta(in); + return createMeta(infoFile.toURI().toURL(), in, withCover); } finally { in.close(); in = null; @@ -34,7 +36,8 @@ public class InfoReader { } } - private static MetaData createMeta(InputStream in) throws IOException { + private static MetaData createMeta(URL sourceInfoFile, InputStream in, + boolean withCover) throws IOException { MetaData meta = new MetaData(); meta.setTitle(getInfoTag(in, "TITLE")); @@ -42,6 +45,7 @@ public class InfoReader { meta.setDate(getInfoTag(in, "DATE")); meta.setTags(getInfoTagList(in, "TAGS", ",")); meta.setSource(getInfoTag(in, "SOURCE")); + meta.setUrl(getInfoTag(in, "URL")); meta.setPublisher(getInfoTag(in, "PUBLISHER")); meta.setUuid(getInfoTag(in, "UUID")); meta.setLuid(getInfoTag(in, "LUID")); @@ -49,9 +53,19 @@ public class InfoReader { meta.setSubject(getInfoTag(in, "SUBJECT")); meta.setType(getInfoTag(in, "TYPE")); meta.setImageDocument(getInfoTagBoolean(in, "IMAGES_DOCUMENT", false)); - meta.setCover(BasicSupport.getImage(null, getInfoTag(in, "COVER"))); + if (withCover) { + meta.setCover(BasicSupport.getImage(null, sourceInfoFile, + getInfoTag(in, "COVER"))); + } + try { + meta.setWords(Long.parseLong(getInfoTag(in, "WORDCOUNT"))); + } catch (NumberFormatException e) { + meta.setWords(0); + } + meta.setCreationDate(getInfoTag(in, "CREATION_DATE")); + meta.setFakeCover(Boolean.parseBoolean(getInfoTag(in, "FAKE_COVER"))); - if (meta.getCover() == null) { + if (withCover && meta.getCover() == null) { meta.setCover(BasicSupport.getDefaultCover(meta.getSubject())); }