package be.nikiroo.fanfix.library;
-import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.util.List;
import java.util.Map;
-import javax.imageio.ImageIO;
-
import be.nikiroo.fanfix.Instance;
import be.nikiroo.fanfix.bundles.Config;
import be.nikiroo.fanfix.data.MetaData;
import be.nikiroo.fanfix.output.InfoCover;
import be.nikiroo.fanfix.supported.InfoReader;
import be.nikiroo.utils.IOUtils;
-import be.nikiroo.utils.ImageUtils;
+import be.nikiroo.utils.Image;
import be.nikiroo.utils.MarkableFileInputStream;
import be.nikiroo.utils.Progress;
public class LocalLibrary extends BasicLibrary {
private int lastId;
private Map<MetaData, File[]> stories; // Files: [ infoFile, TargetFile ]
- private Map<String, BufferedImage> sourceCovers;
+ private Map<String, Image> sourceCovers;
private File baseDir;
private OutputType text;
this.lastId = 0;
this.stories = null;
- this.sourceCovers = new HashMap<String, BufferedImage>();
+ this.sourceCovers = new HashMap<String, Image>();
baseDir.mkdirs();
}
}
@Override
- public BufferedImage getCover(String luid) {
+ public Image getCover(String luid) {
MetaData meta = getInfo(luid);
if (meta != null) {
File[] files = getStories(null).get(meta);
@Override
protected void invalidateInfo(String luid) {
stories = null;
- sourceCovers = new HashMap<String, BufferedImage>();
+ sourceCovers = new HashMap<String, Image>();
}
@Override
}
@Override
- public BufferedImage getSourceCover(String source) {
+ public Image getSourceCover(String source) {
if (!sourceCovers.containsKey(source)) {
sourceCovers.put(source, super.getSourceCover(source));
}
sourceCovers.put(source, getCover(luid));
File cover = new File(getExpectedDir(source), ".cover.png");
try {
- ImageIO.write(sourceCovers.get(source), "png", cover);
+ Instance.getCache().saveAsImage(sourceCovers.get(source), cover,
+ true);
} catch (IOException e) {
Instance.getTraceHandler().error(e);
sourceCovers.remove(source);
File cover = new File(dir, ".cover.png");
if (cover.exists()) {
try {
- InputStream in = new MarkableFileInputStream(
- new FileInputStream(cover));
+ InputStream in = new FileInputStream(cover);
try {
- sourceCovers.put(source, ImageUtils.fromStream(in));
+ sourceCovers.put(source, new Image(in));
} finally {
in.close();
}
* @param coverImage
* the cover image
*/
- void setSourceCover(String source, BufferedImage coverImage) {
+ void setSourceCover(String source, Image coverImage) {
sourceCovers.put(source, coverImage);
File cover = new File(getExpectedDir(source), ".cover.png");
try {
- ImageIO.write(sourceCovers.get(source), "png", cover);
+ Instance.getCache().saveAsImage(sourceCovers.get(source), cover,
+ true);
} catch (IOException e) {
Instance.getTraceHandler().error(e);
sourceCovers.remove(source);