X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FInfoText.java;h=2af8c7e2f4880139540aa6f7f4e4895fd6e4742d;hb=d9691f01bac1ea36d234f240534ae8bb94ab522a;hp=8d4d97d935dc4ed263c80b20a836c790bcf683bd;hpb=a7d266e6616349169d03e93780fb656754089dd0;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/supported/InfoText.java b/src/be/nikiroo/fanfix/supported/InfoText.java index 8d4d97d..2af8c7e 100644 --- a/src/be/nikiroo/fanfix/supported/InfoText.java +++ b/src/be/nikiroo/fanfix/supported/InfoText.java @@ -2,11 +2,8 @@ package be.nikiroo.fanfix.supported; import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.net.URISyntaxException; import java.net.URL; -import be.nikiroo.fanfix.Instance; import be.nikiroo.fanfix.data.MetaData; /** @@ -19,60 +16,17 @@ import be.nikiroo.fanfix.data.MetaData; * @author niki */ class InfoText extends Text { - @Override - public String getSourceName() { - return "info-text"; + protected File getInfoFile() { + return new File(assureNoTxt(getSourceFile()).getPath() + ".info"); } @Override - protected MetaData getMeta(URL source, InputStream in) throws IOException { - try { - MetaData meta = InfoReader.readMeta(new File(new File(source - .toURI()).getPath() + ".info")); - - // Some old .info files don't have those now required fields... - String test = meta.getTitle() == null ? "" : meta.getTitle(); - test += meta.getAuthor() == null ? "" : meta.getAuthor(); - test += meta.getDate() == null ? "" : meta.getDate(); - test += meta.getUrl() == null ? "" : meta.getUrl(); - if (test.isEmpty()) { - MetaData superMeta = super.getMeta(source, reset(in)); - if (meta.getTitle() == null || meta.getTitle().isEmpty()) { - meta.setTitle(superMeta.getTitle()); - } - if (meta.getAuthor() == null || meta.getAuthor().isEmpty()) { - meta.setAuthor(superMeta.getAuthor()); - } - if (meta.getDate() == null || meta.getDate().isEmpty()) { - meta.setDate(superMeta.getDate()); - } - if (meta.getUrl() == null || meta.getUrl().isEmpty()) { - meta.setUrl(superMeta.getUrl()); - } - } - - return meta; - - } catch (URISyntaxException e) { - throw new IOException("Cannot parse URL to file: " + source, e); - } + protected MetaData getMeta() throws IOException { + return InfoReader.readMeta(getInfoFile(), true); } @Override protected boolean supports(URL url) { - if ("file".equals(url.getProtocol())) { - File file; - try { - file = new File(url.toURI()); - file = new File(file.getPath() + ".info"); - } catch (URISyntaxException e) { - Instance.syserr(e); - file = null; - } - - return file != null && file.exists(); - } - - return false; + return supports(url, true); } }