import java.io.InputStream;\r
import java.io.InputStreamReader;\r
import java.io.PrintWriter;\r
+import java.io.StringWriter;\r
import java.net.MalformedURLException;\r
import java.net.URL;\r
import java.sql.Connection;\r
import net.sf.json.JSONObject;\r
\r
import org.apache.commons.io.FileUtils;\r
+import org.apache.log4j.Logger;\r
import org.vanbest.xmltv.EPGSource.Stats;\r
import org.w3c.dom.DOMException;\r
import org.w3c.dom.Document;\r
private static final String icon_url="http://www.rtl.nl/service/gids/components/vaste_componenten/";\r
private static final int MAX_PROGRAMMES_PER_DAY = 9999;\r
public static final String NAME="rtl.nl";\r
+ static Logger logger = Logger.getLogger(RTL.class);\r
+\r
\r
String[] xmlKeys = {"zendernr", "pgmsoort", "genre", "bijvnwlanden", "ondertiteling", "begintijd", "titel", \r
"site_path", "wwwadres", "presentatie", "omroep", "eindtijd", "inhoud", "tt_inhoud", "alginhoud", "afl_titel", "kijkwijzer" };\r
Document xml = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(url.openStream());\r
Element root = xml.getDocumentElement();\r
if (root.hasAttributes()) {\r
- System.out.println("Unknown attributes for RTL detail root node");\r
+ logger.warn("Unknown attributes for RTL detail root node");\r
}\r
NodeList nodes = root.getChildNodes();\r
DescStatus descStatus = new DescStatus();\r
for(int i=0; i<nodes.getLength(); i++) {\r
Node n = nodes.item(i);\r
if (!n.getNodeName().equals("uitzending_data_item")) {\r
- System.out.println("Ignoring RTL detail, tag " + n.getNodeName() +", full xml:");\r
+ logger.warn("Ignoring RTL detail, tag " + n.getNodeName() +", full xml:");\r
Transformer t = TransformerFactory.newInstance().newTransformer();\r
- t.transform(new DOMSource(xml),new StreamResult(System.out));\r
- System.out.println();\r
+ StringWriter writer = new StringWriter();\r
+ StreamResult result = new StreamResult(writer);\r
+ t.transform(new DOMSource(xml),result);\r
+ logger.debug(writer.toString());\r
continue;\r
}\r
// we have a uitzending_data_item node\r
}\r
handleNode(prog, dateStatus, descStatus, subnodes.item(j));\r
} catch (RTLException e) {\r
- System.out.println(e.getMessage());\r
Transformer t = TransformerFactory.newInstance().newTransformer();\r
- t.transform(new DOMSource(xml),new StreamResult(System.out));\r
- System.out.println();\r
+ StringWriter writer = new StringWriter();\r
+ StreamResult result2 = new StreamResult(writer);\r
+ t.transform(new DOMSource(xml),result2);\r
+ logger.debug(writer.toString(), e);\r
continue;\r
}\r
}\r
result.setTime(status.programDate);\r
String[] parts = time.split(":");\r
if(parts.length != 2) {\r
- if (!config.quiet)System.out.println("Wrong time format " + time); \r
+ if (!config.quiet) logger.debug("Wrong time format " + time); \r
// ignore\r
}\r
result.set(Calendar.HOUR_OF_DAY, Integer.parseInt(parts[0]));\r
RTL rtl = new RTL(2, config);\r
if (debug) {\r
rtl.cache.clear();\r
- System.out.println("Writing CSV to rtl.csv");\r
+ logger.info("Writing CSV to rtl.csv");\r
rtl.debugWriter = new PrintWriter( new BufferedOutputStream(new FileOutputStream("rtl.csv")));\r
rtl.debugWriter.print("\"zender\",\"starttime\",\"title\",\"quark1\",\"quark2\",");\r
for(int k=0; k<rtl.xmlKeys.length; k++) {\r
\r
try {\r
List<Channel> channels = rtl.getChannels();\r
- System.out.println("Channels: " + channels);\r
+ logger.info("Channels: " + channels);\r
XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(new FileWriter("rtl.xml"));\r
writer.writeStartDocument();\r
writer.writeCharacters("\n");\r
writer.flush();\r
if (!config.quiet) {\r
EPGSource.Stats stats = rtl.getStats();\r
- System.out.println("Number of programmes from cache: " + stats.cacheHits);\r
- System.out.println("Number of programmes fetched: " + stats.cacheMisses);\r
- System.out.println("Number of fetch errors: " + stats.fetchErrors);\r
+ logger.info("Number of programmes from cache: " + stats.cacheHits);\r
+ logger.info("Number of programmes fetched: " + stats.cacheMisses);\r
+ logger.info("Number of fetch errors: " + stats.fetchErrors);\r
}\r
if (debug) {\r
rtl.debugWriter.flush();\r
rtl.close();\r
} catch (Exception e) {\r
// TODO Auto-generated catch block\r
- e.printStackTrace();\r
+ logger.debug("Exception in RTL.main()", e);\r
}\r
}\r
\r