]> www.vanbest.org Git - tv_grab_nl_java/commitdiff
Implement writing programs to xmltv format
authorJan-Pascal van Best <janpascal@vanbest.org>
Sat, 10 Mar 2012 13:07:51 +0000 (14:07 +0100)
committerJan-Pascal van Best <janpascal@vanbest.org>
Sat, 10 Mar 2012 13:07:51 +0000 (14:07 +0100)
tv_grab_nl_java/src/org/vanbest/xmltv/Main.java
tv_grab_nl_java/src/org/vanbest/xmltv/Programme.java
tv_grab_nl_java/src/org/vanbest/xmltv/TvGids.java
tv_grab_nl_java/src/org/vanbest/xmltv/XmlTvWriter.java

index 105c2d33efb1eadc40c55e67569043b09f683234..281d8ba0d4fd0fc631e87988e7cdef96cd134265 100644 (file)
@@ -22,6 +22,7 @@ public class Main {
                        
                        XmlTvWriter writer = new XmlTvWriter(System.out);
                        writer.writeChannels(myChannels);
+                       writer.writePrograms(programmes);
                        System.out.flush();
                        
                } catch (Exception e) {
index ea75fd18dc998139535deb06e140fee04a368ba4..bebc3f0d4194bdea54258b48da575d3541181d3c 100644 (file)
@@ -94,6 +94,7 @@ public class Programme {
          boolean is_hightlight;
          String highlight_afbeelding;
          ProgrammeDetails details = null;
+         Channel channel = null;
          
          public String toString() {
                  StringBuffer s = new StringBuffer();
index 44d492121089cac58793458221ba1ca30b5fffac..9aca65c636b0db8da982903e6000829ee9b411ec 100644 (file)
@@ -114,6 +114,7 @@ public class TvGids {
                                if (fetchDetails) {
                                        p.details = getDetails(p.db_id);
                                }
+                               p.channel = i;
                                result.add( p );
                        }
                }
index a22dfef00b16554f99a6233057e03c395790dada..80e9f35cf421b50f28453f986a1738cd034dbea3 100644 (file)
@@ -1,6 +1,9 @@
 package org.vanbest.xmltv;
 
 import java.io.OutputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Collection;
 import java.util.List;
 
 import javax.xml.stream.FactoryConfigurationError;
@@ -56,6 +59,52 @@ public class XmlTvWriter {
                }
        }
        
+       /*
+        * 
+        * <programme stop="20120309060000 +0100" start="20120309055200 +0100" channel="609.chello.nl">
+<title lang="nl">
+Mozart - Così fan tutte
+</title>
+<desc lang="nl">
+Opera, opgenomen in 2006 in het Amsterdamse Muziektheater als onderdeel van de
+eigentijdse enscenering van de drie Da Ponte opera's met o.a. Sally Matthews en
+Maite Beaumont.
+</desc>
+<category lang="en">
+Arts/Culture
+</category>
+</programme>
+
+        */
+
+       public void writePrograms(Collection<Programme> programs) throws XMLStreamException {
+               DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss Z");
+               for(Programme p: programs) {
+                       writer.writeStartElement("programme");
+                               writer.writeAttribute("start", df.format(p.datum_start));
+                               writer.writeAttribute("stop", df.format(p.datum_end));
+                               writer.writeAttribute("channel", ""+p.channel.id);
+                               
+                               writer.writeStartElement("title");
+                                       writer.writeAttribute("lang", "nl");
+                                       writer.writeCharacters(p.titel);
+                               writer.writeEndElement();
+
+                               writer.writeStartElement("desc");
+                                       writer.writeAttribute("lang", "nl");
+                                       writer.writeCharacters(p.details.synop);
+                               writer.writeEndElement();
+
+                               writer.writeStartElement("category");
+                                       writer.writeAttribute("lang", "en");
+                                       writer.writeCharacters(p.genre); // soort? FIXME translation to mythtv categories
+                               writer.writeEndElement();
+
+                       writer.writeEndElement();
+                       writer.writeCharacters("\n");
+               }
+       }
+       
        public void close() throws XMLStreamException {
                writer.writeEndElement();
                writer.writeEndDocument();