X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FWebLibrary.java;h=796533080fba899b60a553f5ac90b80d71d56f58;hb=e4b1b70c5388573bda8ae28f9391ee3831e53feb;hp=9769fea4420f14719b7053cbf9baeb04ce7a5119;hpb=8dc26a0ac5e5f1aa9296c5db71114dce19503973;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/library/WebLibrary.java b/src/be/nikiroo/fanfix/library/WebLibrary.java index 9769fea..7965330 100644 --- a/src/be/nikiroo/fanfix/library/WebLibrary.java +++ b/src/be/nikiroo/fanfix/library/WebLibrary.java @@ -110,7 +110,7 @@ public class WebLibrary extends BasicLibrary { public Version getVersion() { try { - InputStream in = download(WebLibraryUrls.VERSION_URL); + InputStream in = post(WebLibraryUrls.VERSION_URL); try { return new Version(IOUtils.readSmallStream(in)); } finally { @@ -125,10 +125,10 @@ public class WebLibrary extends BasicLibrary { @Override public Status getStatus() { try { - download(WebLibraryUrls.INDEX_URL).close(); + post(WebLibraryUrls.INDEX_URL).close(); } catch (IOException e) { try { - download("/style.css").close(); + post("/style.css").close(); return Status.UNAUTHORIZED; } catch (IOException ioe) { return Status.UNAVAILABLE; @@ -146,7 +146,7 @@ public class WebLibrary extends BasicLibrary { @Override public Image getCover(String luid) throws IOException { - InputStream in = download(WebLibraryUrls.getStoryUrlCover(luid)); + InputStream in = post(WebLibraryUrls.getStoryUrlCover(luid)); try { return new Image(in); } finally { @@ -155,27 +155,37 @@ public class WebLibrary extends BasicLibrary { } @Override - public Image getCustomSourceCover(final String source) throws IOException { - // TODO maybe global system in BasicLib ? - return null; + public Image getCustomSourceCover(String source) throws IOException { + InputStream in = post(WebLibraryUrls.getCoverUrlSource(source)); + try { + return new Image(in); + } finally { + in.close(); + } } @Override - public Image getCustomAuthorCover(final String author) throws IOException { - // TODO maybe global system in BasicLib ? - return null; + public Image getCustomAuthorCover(String author) throws IOException { + InputStream in = post(WebLibraryUrls.getCoverUrlAuthor(author)); + try { + return new Image(in); + } finally { + in.close(); + } } @Override public void setSourceCover(String source, String luid) throws IOException { - // TODO Auto-generated method stub - throw new IOException("Not implemented yet"); + Map post = new HashMap(); + post.put("luid", luid); + post(WebLibraryUrls.getCoverUrlSource(source), post).close(); } @Override public void setAuthorCover(String author, String luid) throws IOException { - // TODO Auto-generated method stub - throw new IOException("Not implemented yet"); + Map post = new HashMap(); + post.put("luid", luid); + post(WebLibraryUrls.getCoverUrlAuthor(author), post).close(); } @Override @@ -185,7 +195,7 @@ public class WebLibrary extends BasicLibrary { // TODO: pg Story story; - InputStream in = download(WebLibraryUrls.getStoryUrlJson(luid)); + InputStream in = post(WebLibraryUrls.getStoryUrlJson(luid)); try { JSONObject json = new JSONObject(IOUtils.readSmallStream(in)); story = JsonIO.toStory(json); @@ -199,7 +209,7 @@ public class WebLibrary extends BasicLibrary { int number = 1; for (Paragraph para : chap) { if (para.getType() == ParagraphType.IMAGE) { - InputStream subin = download( + InputStream subin = post( WebLibraryUrls.getStoryUrl(luid, chapNum, number)); try { para.setContentImage(new Image(subin)); @@ -220,7 +230,7 @@ public class WebLibrary extends BasicLibrary { @Override protected List getMetas(Progress pg) throws IOException { List metas = new ArrayList(); - InputStream in = download(WebLibraryUrls.LIST_URL_METADATA); + InputStream in = post(WebLibraryUrls.LIST_URL_METADATA); JSONArray jsonArr = new JSONArray(IOUtils.readSmallStream(in)); for (int i = 0; i < jsonArr.length(); i++) { JSONObject json = jsonArr.getJSONObject(i); @@ -293,10 +303,18 @@ public class WebLibrary extends BasicLibrary { } // starts with "/", never NULL - private InputStream download(String path) throws IOException { + private InputStream post(String path) throws IOException { + return post(path, null); + } + + // starts with "/", never NULL + private InputStream post(String path, Map post) + throws IOException { URL url = new URL(host + ":" + port + path); - Map post = new HashMap(); + if (post == null) { + post = new HashMap(); + } post.put("login", subkey); post.put("password", key);