separate support name and BasicSupport
[fanfix.git] / src / be / nikiroo / fanfix / supported / Text.java
index f6803cd09d6358880290cdf8e2c487caf5794e16..3518f20f6fce30b9c3751eaaf867c60568919d07 100644 (file)
@@ -18,6 +18,7 @@ import be.nikiroo.fanfix.Instance;
 import be.nikiroo.fanfix.bundles.Config;
 import be.nikiroo.fanfix.data.MetaData;
 import be.nikiroo.utils.Image;
+import be.nikiroo.utils.ImageUtils;
 import be.nikiroo.utils.MarkableFileInputStream;
 import be.nikiroo.utils.Progress;
 
@@ -66,11 +67,6 @@ class Text extends BasicSupport {
                return false;
        }
 
-       @Override
-       public String getSourceName() {
-               return "text";
-       }
-
        @Override
        protected Document loadDocument(URL source) throws IOException {
                try {
@@ -91,7 +87,7 @@ class Text extends BasicSupport {
                meta.setAuthor(getAuthor());
                meta.setDate(getDate());
                meta.setTags(new ArrayList<String>());
-               meta.setSource(getSourceName());
+               meta.setSource(getType().getSourceName());
                meta.setUrl(getSourceFile().toURI().toURL().toString());
                meta.setPublisher("");
                meta.setUuid(getSourceFile().toString());
@@ -188,8 +184,20 @@ class Text extends BasicSupport {
                        }
                }
 
-               return BasicSupportImages.getImage(this, sourceFile.getParentFile(),
-                               path);
+               Image cover = BasicSupportImages.getImage(this,
+                               sourceFile.getParentFile(), path);
+               if (cover != null) {
+                       try {
+                               File tmp = Instance.getTempFiles().createTempFile(
+                                               "test_cover_image");
+                               ImageUtils.getInstance().saveAsImage(cover, tmp, "png");
+                               tmp.delete();
+                       } catch (IOException e) {
+                               cover = null;
+                       }
+               }
+
+               return cover;
        }
 
        @Override