X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2FBasicReader.java;h=61769c01f87951c5546ae59cc12948e88c1ebe9e;hb=0bb51c9c66697fe63ba066715207deabbcc1d479;hp=c749a59cdc6e1c1149282a78c6b777ef1f680a2b;hpb=91b82a5cbd8a9c90798d1bd49bfa9a061e652a6a;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/BasicReader.java b/src/be/nikiroo/fanfix/reader/BasicReader.java index c749a59..61769c0 100644 --- a/src/be/nikiroo/fanfix/reader/BasicReader.java +++ b/src/be/nikiroo/fanfix/reader/BasicReader.java @@ -54,7 +54,7 @@ public abstract class BasicReader implements Reader { } @Override - public synchronized Story getStory(Progress pg) { + public synchronized Story getStory(Progress pg) throws IOException { if (story == null) { story = getLibrary().getStory(meta.getLuid(), pg); } @@ -227,14 +227,19 @@ public abstract class BasicReader implements Reader { tags.append(tag); } + // TODO: i18n metaDesc.put("Author", meta.getAuthor()); metaDesc.put("Publication date", formatDate(meta.getDate())); metaDesc.put("Published on", meta.getPublisher()); metaDesc.put("URL", meta.getUrl()); + String count = ""; + if (meta.getWords() > 0) { + count = StringUtils.formatNumber(meta.getWords()); + } if (meta.isImageDocument()) { - metaDesc.put("Number of images", format(meta.getWords())); + metaDesc.put("Number of images", count); } else { - metaDesc.put("Number of words", format(meta.getWords())); + metaDesc.put("Number of words", count); } metaDesc.put("Source", meta.getSource()); metaDesc.put("Subject", meta.getSubject()); @@ -351,52 +356,32 @@ public abstract class BasicReader implements Reader { } } - /** - * @deprecated use StringUtils when updated - */ - @Deprecated - static private String format(long value) { - //TODO: use StringUtils - - String display = ""; - String suffix = ""; - - if (value > 4000) { - value = value / 1000; - suffix = "k"; - } - - while (value > 0) { - if (!display.isEmpty()) { - display = "." + display; - } - display = (value % 1000) + display; - value = value / 1000; - } - - return display + suffix; - } - static private String formatDate(String date) { long ms = 0; - try { - ms = StringUtils.toTime(date); - } catch (ParseException e) { - } - - if (ms <= 0) { - SimpleDateFormat sdf = new SimpleDateFormat( - "yyyy-MM-dd'T'HH:mm:ssSSS"); + if (date != null && !date.isEmpty()) { try { - ms = sdf.parse(date).getTime(); + ms = StringUtils.toTime(date); } catch (ParseException e) { } + + if (ms <= 0) { + SimpleDateFormat sdf = new SimpleDateFormat( + "yyyy-MM-dd'T'HH:mm:ssSSS"); + try { + ms = sdf.parse(date).getTime(); + } catch (ParseException e) { + } + } + + if (ms > 0) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return sdf.format(new Date(ms)); + } } - if (ms > 0) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - return sdf.format(new Date(ms)); + if (date == null) { + date = ""; } // :(