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;
*
* @return the information
*/
- public static List<Entry<String, String>> getMetaDesc(MetaData meta) {
- List<Entry<String, String>> metaDesc = new ArrayList<Entry<String, String>>();
+ public static Map<String, String> getMetaDesc(MetaData meta) {
+ Map<String, String> metaDesc = new TreeMap<String, String>();
// TODO: i18n
tags.append(tag);
}
- metaDesc.add(new SimpleEntry<String, String>("Author", meta.getAuthor()));
- metaDesc.add(new SimpleEntry<String, String>("Publication date",
- formatDate(meta.getDate())));
- metaDesc.add(new SimpleEntry<String, String>("Published on", meta
- .getPublisher()));
- metaDesc.add(new SimpleEntry<String, String>("URL", meta.getUrl()));
- metaDesc.add(new SimpleEntry<String, String>("Word count", format(meta
- .getWords())));
- metaDesc.add(new SimpleEntry<String, String>("Source", meta.getSource()));
- metaDesc.add(new SimpleEntry<String, String>("Subject", meta
- .getSubject()));
- metaDesc.add(new SimpleEntry<String, String>("Language", meta.getLang()));
- metaDesc.add(new SimpleEntry<String, String>("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;
}
}
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()) {
value = value / 1000;
}
- return display;
+ return display + suffix;
}
static private String formatDate(String date) {
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) {