diff --git a/source/net/filebot/util/FileUtilities.java b/source/net/filebot/util/FileUtilities.java index 528764d0..ece2f97a 100644 --- a/source/net/filebot/util/FileUtilities.java +++ b/source/net/filebot/util/FileUtilities.java @@ -12,7 +12,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; -import java.io.StringWriter; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.charset.Charset; @@ -43,15 +42,6 @@ import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.w3c.dom.Document; - import com.ibm.icu.text.CharsetDetector; import com.ibm.icu.text.CharsetMatch; @@ -641,17 +631,6 @@ public final class FileUtilities { return files; } - public static String getXmlString(Document dom) throws TransformerException { - Transformer tr = TransformerFactory.newInstance().newTransformer(); - tr.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); - tr.setOutputProperty(OutputKeys.INDENT, "yes"); - - // create string from dom - StringWriter buffer = new StringWriter(); - tr.transform(new DOMSource(dom), new StreamResult(buffer)); - return buffer.toString(); - } - public static final int BUFFER_SIZE = 64 * 1024; public static final long KILO = 1024; diff --git a/source/net/filebot/web/AnidbClient.java b/source/net/filebot/web/AnidbClient.java index 013eec08..ca53bd0b 100644 --- a/source/net/filebot/web/AnidbClient.java +++ b/source/net/filebot/web/AnidbClient.java @@ -145,7 +145,7 @@ public class AnidbClient extends AbstractEpisodeListProvider { // sanity check if (episodes.isEmpty()) { // anime page xml doesn't work sometimes - Logger.getLogger(AnidbClient.class.getName()).log(Level.WARNING, String.format("Unable to parse any episode data from xml: %s (%d)", anime, anime.getAnimeId())); + Logger.getLogger(AnidbClient.class.getName()).log(Level.WARNING, String.format("Unable to parse episode data: %s (%d) => %s", anime, anime.getAnimeId(), getXmlString(dom, false))); } return episodes; diff --git a/source/net/filebot/web/WebRequest.java b/source/net/filebot/web/WebRequest.java index 3ecab1e7..8f336ccb 100644 --- a/source/net/filebot/web/WebRequest.java +++ b/source/net/filebot/web/WebRequest.java @@ -9,6 +9,7 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.io.StringReader; +import java.io.StringWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; @@ -30,6 +31,12 @@ import java.util.zip.InflaterInputStream; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; import net.filebot.util.ByteBufferOutputStream; @@ -267,6 +274,17 @@ public final class WebRequest { return Charset.forName("UTF-8"); } + public static String getXmlString(Document dom, boolean indent) throws TransformerException { + Transformer tr = TransformerFactory.newInstance().newTransformer(); + tr.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); + tr.setOutputProperty(OutputKeys.INDENT, indent ? "yes" : "no"); + + // create string from dom + StringWriter buffer = new StringWriter(); + tr.transform(new DOMSource(dom), new StreamResult(buffer)); + return buffer.toString(); + } + /** * Dummy constructor to prevent instantiation. */