X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FLocalLibrary.java;h=917ce093b20ebd8b58cad71a37a75d263c173490;hb=62c63b0724f4bc45999cb2e7186b4b3ada479a0a;hp=f9350efc4b353abc92bb9849ec8aac21368493a5;hpb=ff05b8284e6e415b13d3543650075d0f7cd27ff5;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/library/LocalLibrary.java b/src/be/nikiroo/fanfix/library/LocalLibrary.java index f9350ef..917ce09 100644 --- a/src/be/nikiroo/fanfix/library/LocalLibrary.java +++ b/src/be/nikiroo/fanfix/library/LocalLibrary.java @@ -122,7 +122,7 @@ public class LocalLibrary extends BasicLibrary { meta = InfoReader.readMeta(infoFile, true); return meta.getCover(); } catch (IOException e) { - Instance.syserr(e); + Instance.getTraceHandler().error(e); } } } @@ -183,7 +183,7 @@ public class LocalLibrary extends BasicLibrary { InfoCover.writeInfo(newDir, name, meta); relatedFile.delete(); } catch (IOException e) { - Instance.syserr(e); + Instance.getTraceHandler().error(e); } } else { relatedFile.renameTo(new File(newDir, relatedFile.getName())); @@ -209,7 +209,7 @@ public class LocalLibrary extends BasicLibrary { try { ImageIO.write(sourceCovers.get(source), "png", cover); } catch (IOException e) { - Instance.syserr(e); + Instance.getTraceHandler().error(e); sourceCovers.remove(source); } } @@ -331,14 +331,14 @@ public class LocalLibrary extends BasicLibrary { * The directory (full path) where the new {@link Story} related to this * {@link MetaData} should be located on disk. * - * @param type + * @param source * the type (source) * * @return the target directory */ - private File getExpectedDir(String type) { - String source = type.replaceAll("[^a-zA-Z0-9._+-]", "_"); - return new File(baseDir, source); + private File getExpectedDir(String source) { + String sanitizedSource = source.replaceAll("[^a-zA-Z0-9._+-]", "_"); + return new File(baseDir, sanitizedSource); } /** @@ -472,7 +472,7 @@ public class LocalLibrary extends BasicLibrary { } catch (IOException e) { // We should not have not-supported files in the // library - Instance.syserr(new IOException( + Instance.getTraceHandler().error(new IOException( "Cannot load file from library: " + infoFile, e)); } pgFiles.add(1); @@ -489,7 +489,7 @@ public class LocalLibrary extends BasicLibrary { in.close(); } } catch (IOException e) { - Instance.syserr(e); + Instance.getTraceHandler().error(e); } } @@ -501,4 +501,23 @@ public class LocalLibrary extends BasicLibrary { return stories; } + + /** + * Fix the source cover to the given story cover. + * + * @param source + * the source to change + * @param coverImage + * the cover image + */ + void setSourceCover(String source, BufferedImage coverImage) { + sourceCovers.put(source, coverImage); + File cover = new File(getExpectedDir(source), ".cover.png"); + try { + ImageIO.write(sourceCovers.get(source), "png", cover); + } catch (IOException e) { + Instance.getTraceHandler().error(e); + sourceCovers.remove(source); + } + } }