X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2FBasicReader.java;h=c2a650cf73af2d809d3c609f3bf957c246dbc312;hb=dddfac1d036f22b694a00c029744ac0e92168a8f;hp=83f2d3c266db52c936b0fe58d5b99e617d61109a;hpb=df6e2d88153be63b85aa8c0dfd4dae47762b6f0e;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/BasicReader.java b/src/be/nikiroo/fanfix/reader/BasicReader.java index 83f2d3c..c2a650c 100644 --- a/src/be/nikiroo/fanfix/reader/BasicReader.java +++ b/src/be/nikiroo/fanfix/reader/BasicReader.java @@ -6,11 +6,9 @@ import java.net.MalformedURLException; import java.net.URL; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.AbstractMap.SimpleEntry; -import java.util.ArrayList; import java.util.Date; -import java.util.List; -import java.util.Map.Entry; +import java.util.Map; +import java.util.TreeMap; import be.nikiroo.fanfix.Instance; import be.nikiroo.fanfix.bundles.Config; @@ -216,8 +214,8 @@ public abstract class BasicReader implements Reader { * * @return the information */ - public static List> getMetaDesc(MetaData meta) { - List> metaDesc = new ArrayList>(); + public static Map getMetaDesc(MetaData meta) { + Map metaDesc = new TreeMap(); // TODO: i18n @@ -229,19 +227,19 @@ public abstract class BasicReader implements Reader { tags.append(tag); } - metaDesc.add(new SimpleEntry("Author", meta.getAuthor())); - metaDesc.add(new SimpleEntry("Publication date", - formatDate(meta.getDate()))); - metaDesc.add(new SimpleEntry("Published on", meta - .getPublisher())); - metaDesc.add(new SimpleEntry("URL", meta.getUrl())); - metaDesc.add(new SimpleEntry("Word count", format(meta - .getWords()))); - metaDesc.add(new SimpleEntry("Source", meta.getSource())); - metaDesc.add(new SimpleEntry("Subject", meta - .getSubject())); - metaDesc.add(new SimpleEntry("Language", meta.getLang())); - metaDesc.add(new SimpleEntry("Tags", tags.toString())); + metaDesc.put("Author", meta.getAuthor()); + metaDesc.put("Publication date", formatDate(meta.getDate())); + metaDesc.put("Published on", meta.getPublisher()); + metaDesc.put("URL", meta.getUrl()); + if (meta.isImageDocument()) { + metaDesc.put("Number of images", format(meta.getWords())); + } else { + metaDesc.put("Number of words", format(meta.getWords())); + } + metaDesc.put("Source", meta.getSource()); + metaDesc.put("Subject", meta.getSubject()); + metaDesc.put("Language", meta.getLang()); + metaDesc.put("Tags", tags.toString()); return metaDesc; } @@ -346,17 +344,21 @@ public abstract class BasicReader implements Reader { } if (proc != null && sync) { - while (proc.isAlive()) { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - } + try { + proc.waitFor(); + } catch (InterruptedException e) { } } } static private String format(long value) { String display = ""; + String suffix = ""; + + if (value > 4000) { + value = value / 1000; + suffix = "k"; + } while (value > 0) { if (!display.isEmpty()) { @@ -366,7 +368,7 @@ public abstract class BasicReader implements Reader { value = value / 1000; } - return display; + return display + suffix; } static private String formatDate(String date) { @@ -379,7 +381,7 @@ public abstract class BasicReader implements Reader { if (ms <= 0) { SimpleDateFormat sdf = new SimpleDateFormat( - "yyyy-MM-dd'T'HH:mm:ssXXX"); + "yyyy-MM-dd'T'HH:mm:ssSSS"); try { ms = sdf.parse(date).getTime(); } catch (ParseException e) {