Merge branch 'master' into subtree
[nikiroo-utils.git] / supported / BasicSupport.java
index 17cbec5a984b59c5af1e053aefabdccb2e120140..bcfcca1bdbb16cfd3bd8849e8fdb2bfb55a22de0 100644 (file)
@@ -12,6 +12,7 @@ import java.util.Map;
 import java.util.Scanner;
 import java.util.Map.Entry;
 
+import org.json.JSONException;
 import org.json.JSONObject;
 import org.jsoup.helper.DataUtil;
 import org.jsoup.nodes.Document;
@@ -271,7 +272,12 @@ public abstract class BasicSupport {
                pg.setProgress(30);
 
                Story story = new Story();
+               
                MetaData meta = getMeta();
+               meta.setType(getType().toString());
+               meta.setSource(getType().getSourceName());
+               meta.setPublisher(getType().getSourceName());
+               
                if (meta.getCreationDate() == null
                                || meta.getCreationDate().trim().isEmpty()) {
                        meta.setCreationDate(bsHelper
@@ -347,6 +353,8 @@ public abstract class BasicSupport {
                        scan.useDelimiter("\0");
                        try {
                                return new JSONObject(scan.next());
+                       } catch (JSONException e) {
+                               throw new IOException(e);
                        } finally {
                                scan.close();
                        }
@@ -384,6 +392,7 @@ public abstract class BasicSupport {
                                resume.setName("");
                                resume.setNumber(1);
                                story.getChapters().add(resume);
+                               story.getMeta().setWords(resume.getWords());
 
                                String descChapterName = Instance.getInstance().getTrans()
                                                .getString(StringId.DESCRIPTION);
@@ -431,7 +440,7 @@ public abstract class BasicSupport {
                story.setChapters(new ArrayList<Chapter>());
                List<Entry<String, URL>> chapters = getChapters(pgGetChapters);
                pgGetChapters.done(); // 20%
-
+               
                if (chapters != null) {
                        Progress pgChaps = new Progress("Extracting chapters", 0,
                                        chapters.size() * 300);
@@ -462,10 +471,11 @@ public abstract class BasicSupport {
 
                                words += cc.getWords();
                                story.getChapters().add(cc);
-                               story.getMeta().setWords(words);
 
                                i++;
                        }
+                       
+                       story.getMeta().setWords(words);
 
                        pgChaps.setName("Extracting chapters");
                        pgChaps.done();