X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FWebLibrary.java;h=796533080fba899b60a553f5ac90b80d71d56f58;hp=6f2bfda3a9c111e7e70ffa1c4598ed57c716024a;hb=e4b1b70c5388573bda8ae28f9391ee3831e53feb;hpb=6673ec5924d57a37c4f995f9c81c50a187b51c63 diff --git a/src/be/nikiroo/fanfix/library/WebLibrary.java b/src/be/nikiroo/fanfix/library/WebLibrary.java index 6f2bfda..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 { @@ -156,7 +156,7 @@ public class WebLibrary extends BasicLibrary { @Override public Image getCustomSourceCover(String source) throws IOException { - InputStream in = download(WebLibraryUrls.getCoverUrlSource(source)); + InputStream in = post(WebLibraryUrls.getCoverUrlSource(source)); try { return new Image(in); } finally { @@ -166,7 +166,7 @@ public class WebLibrary extends BasicLibrary { @Override public Image getCustomAuthorCover(String author) throws IOException { - InputStream in = download(WebLibraryUrls.getCoverUrlAuthor(author)); + InputStream in = post(WebLibraryUrls.getCoverUrlAuthor(author)); try { return new Image(in); } finally { @@ -176,14 +176,16 @@ public class WebLibrary extends BasicLibrary { @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 @@ -193,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); @@ -207,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)); @@ -228,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); @@ -301,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);