From 13f8f66990627f46fea1f41d0a7e4cdce51a7534 Mon Sep 17 00:00:00 2001 From: JP Date: Mon, 12 Mar 2012 17:18:42 +0100 Subject: [PATCH] Implement rating, director, actors, presenters --- .../src/org/vanbest/xmltv/Programme.java | 2 +- .../org/vanbest/xmltv/ProgrammeDetails.java | 12 +-- .../src/org/vanbest/xmltv/XmlTvWriter.java | 80 +++++++++++++++---- 3 files changed, 71 insertions(+), 23 deletions(-) diff --git a/tv_grab_nl_java/src/org/vanbest/xmltv/Programme.java b/tv_grab_nl_java/src/org/vanbest/xmltv/Programme.java index e6f4dbe..b90def7 100644 --- a/tv_grab_nl_java/src/org/vanbest/xmltv/Programme.java +++ b/tv_grab_nl_java/src/org/vanbest/xmltv/Programme.java @@ -91,7 +91,7 @@ public class Programme { this.highlight_content = highlight_content; } - String db_id; + String db_id; String titel; String genre; String soort; diff --git a/tv_grab_nl_java/src/org/vanbest/xmltv/ProgrammeDetails.java b/tv_grab_nl_java/src/org/vanbest/xmltv/ProgrammeDetails.java index 05f7ab9..5ada73c 100644 --- a/tv_grab_nl_java/src/org/vanbest/xmltv/ProgrammeDetails.java +++ b/tv_grab_nl_java/src/org/vanbest/xmltv/ProgrammeDetails.java @@ -21,12 +21,14 @@ public class ProgrammeDetails implements Serializable { this.genre = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(genre); this.synop = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(synop); if (synop.isEmpty() && ( genre.toLowerCase().equals("movies") || genre.toLowerCase().equals("film"))) { - System.out.println("Splitting title: \"" + p.titel + "\""); + //System.out.println("Splitting title: \"" + p.titel + "\""); String[] parts = p.titel.split("[[:space:]]*:[[:space:]]*", 2); - titel = parts[0].trim(); - p.titel = titel; - synop = parts[1].trim(); - System.out.println("Splitting title to : \"" + p.titel + "\"; synop: \"" + synop + "\""); + if (parts.length >= 2 ) { + titel = parts[0].trim(); + p.titel = titel; + synop = parts[1].trim(); + //System.out.println("Splitting title to : \"" + p.titel + "\"; synop: \"" + synop + "\""); + } } this.presentatie = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(presentatie); this.acteursnamen_rolverdeling = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(acteursnamen_rolverdeling); diff --git a/tv_grab_nl_java/src/org/vanbest/xmltv/XmlTvWriter.java b/tv_grab_nl_java/src/org/vanbest/xmltv/XmlTvWriter.java index 889326a..e7424fb 100644 --- a/tv_grab_nl_java/src/org/vanbest/xmltv/XmlTvWriter.java +++ b/tv_grab_nl_java/src/org/vanbest/xmltv/XmlTvWriter.java @@ -12,19 +12,6 @@ import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLEventFactory; import javax.xml.stream.XMLStreamException; -/* - - - - - - -Comedy C.\Kindernet - - - -*/ - public class XmlTvWriter { private XMLStreamWriter writer; @@ -39,10 +26,10 @@ public class XmlTvWriter { writer.writeDTD(""); writer.writeCharacters("\n"); writer.writeStartElement("tv"); - writer.writeAttribute("generator-info-url","http://www.caliban.org/ruby/xmltv_upc.shtml"); + writer.writeAttribute("generator-info-url","http://www.vanbest.org/"); writer.writeAttribute("source-info-url", "http://tvgids.nl/"); writer.writeAttribute("source-info-name", "TvGids.nl"); - writer.writeAttribute("generator-info-name", "tv_grab_nl_java $Id: tv_grab_nl_java,v 1.228 2011/04/05 07:33:12 ianmacd Exp $"); + writer.writeAttribute("generator-info-name", "tv_grab_nl_java $VERSION"); writer.writeCharacters("\n"); } @@ -60,12 +47,19 @@ public class XmlTvWriter { writer.writeAttribute("src", c.iconUrl); writer.writeEndElement(); } - + writer.writeEndElement(); writer.writeCharacters("\n"); } } - + + /* TODO: + * boolean is_highlight; + * String highlight_afbeelding; + * String highlight_content; + * soort + * artikel_id ??? + */ public void writePrograms(Collection programs) throws XMLStreamException { DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss Z"); for(Programme p: programs) { @@ -95,6 +89,58 @@ public class XmlTvWriter { writer.writeEndElement(); writer.writeCharacters("\n"); + if (p.details != null) { + if ( p.is_highlight) { + //System.out.println("Highlight"); + //System.out.println(" " + p.highlight_afbeelding); + //System.out.println(" " + p.highlight_content); + } else { + if (p.highlight_afbeelding!= null && !p.highlight_afbeelding.isEmpty()) { + //System.out.println("highlight_afbeelding: " + p.highlight_afbeelding); + } + if (p.highlight_content!= null && !p.highlight_content.isEmpty()) { + //System.out.println("highlight_content: " + p.highlight_content); + } + } + if (!p.details.kijkwijzer.isEmpty() || + !p.details.presentatie.isEmpty() || + !p.details.presentatie.isEmpty() || + !p.details.acteursnamen_rolverdeling.isEmpty() + ) { + writer.writeStartElement("credits"); + if (!p.details.kijkwijzer.isEmpty()) { + writer.writeStartElement("rating"); + writer.writeAttribute("system", "kijkwijzer"); + writer.writeCharacters(p.details.kijkwijzer); + writer.writeEndElement(); + } + if (!p.details.presentatie.isEmpty()) { + String[] parts = p.details.presentatie.split(","); + for (String s: parts) { + writer.writeStartElement("presenter"); + writer.writeCharacters(s.trim()); + writer.writeEndElement(); + } + } + if (!p.details.regisseur.isEmpty()) { + String[] parts = p.details.regisseur.split(","); + for (String s: parts) { + writer.writeStartElement("director"); + writer.writeCharacters(s.trim()); + writer.writeEndElement(); + } + } + if (!p.details.acteursnamen_rolverdeling.isEmpty()) { + String[] parts = p.details.acteursnamen_rolverdeling.split(","); + for (String s: parts) { + writer.writeStartElement("actor"); + writer.writeCharacters(s.trim()); + writer.writeEndElement(); + } + } + writer.writeEndElement(); + } + } writer.writeEndElement(); writer.writeCharacters("\n"); } -- 2.39.5