From: Jan-Pascal van Best Date: Mon, 26 Mar 2012 20:39:37 +0000 (+0200) Subject: More refactoring, renaming programme to tvgidsprogramme to make space X-Git-Tag: 0.9.0~20 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=24c18e568f6aa403791e13dfb64cdda063a4260b;p=tv_grab_nl_java More refactoring, renaming programme to tvgidsprogramme to make space for generic xmltv programme class --- diff --git a/src/main/java/org/vanbest/xmltv/AbstractEPGSource.java b/src/main/java/org/vanbest/xmltv/AbstractEPGSource.java index 8996bec..fae8e28 100644 --- a/src/main/java/org/vanbest/xmltv/AbstractEPGSource.java +++ b/src/main/java/org/vanbest/xmltv/AbstractEPGSource.java @@ -1,7 +1,10 @@ package org.vanbest.xmltv; +import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; import java.util.ArrayList; import java.util.Set; @@ -18,7 +21,7 @@ public abstract class AbstractEPGSource implements EPGSource { cache = new ProgrammeCache(config.cacheFile); } - public Set getProgrammes(Channel channel, int day, boolean fetchDetails) + public Set getProgrammes(Channel channel, int day, boolean fetchDetails) throws Exception { ArrayList list = new ArrayList(2); list.add(channel); @@ -35,4 +38,19 @@ public abstract class AbstractEPGSource implements EPGSource { cache.close(); } + protected String fetchURL(URL url) throws Exception { + Thread.sleep(config.niceMilliseconds); + StringBuffer buf = new StringBuffer(); + try { + BufferedReader reader = new BufferedReader( new InputStreamReader( url.openStream())); + String s; + while ((s = reader.readLine()) != null) buf.append(s); + } catch (IOException e) { + stats.fetchErrors++; + throw new Exception("Error getting program data from url " + url, e); + } + return buf.toString(); + } + + } \ No newline at end of file diff --git a/src/main/java/org/vanbest/xmltv/EPGSource.java b/src/main/java/org/vanbest/xmltv/EPGSource.java index 1697f45..30443e1 100644 --- a/src/main/java/org/vanbest/xmltv/EPGSource.java +++ b/src/main/java/org/vanbest/xmltv/EPGSource.java @@ -18,10 +18,10 @@ public interface EPGSource { public abstract List getChannels(); // Convenience method - public abstract Set getProgrammes(Channel channel, int day, + public abstract Set getProgrammes(Channel channel, int day, boolean fetchDetails) throws Exception; - public abstract Set getProgrammes(List channels, + public abstract Set getProgrammes(List channels, int day, boolean fetchDetails) throws Exception; public abstract Stats getStats(); diff --git a/src/main/java/org/vanbest/xmltv/Main.java b/src/main/java/org/vanbest/xmltv/Main.java index e94bf4d..f4255b7 100644 --- a/src/main/java/org/vanbest/xmltv/Main.java +++ b/src/main/java/org/vanbest/xmltv/Main.java @@ -77,11 +77,11 @@ public class Main { for (int day=offset; day programmes = new HashSet(); + Set programmes = new HashSet(); for(Channel c: config.channels) { if (!c.enabled) continue; if (!config.quiet) System.out.print("."); - Set p = gids.getProgrammes(c, day, true); + Set p = gids.getProgrammes(c, day, true); writer.writePrograms(p); writer.flush(); } diff --git a/src/main/java/org/vanbest/xmltv/Programme.java b/src/main/java/org/vanbest/xmltv/Programme.java deleted file mode 100644 index 21c7e02..0000000 --- a/src/main/java/org/vanbest/xmltv/Programme.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.vanbest.xmltv; - -/* - Copyright (c) 2012 Jan-Pascal van Best - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - The full license text can be found in the LICENSE file. -*/ - -import java.util.Date; - -public class Programme { - public String getDb_id() { - return db_id; - } - - public void setDb_id(String db_id) { - this.db_id = db_id; - } - - public String getTitel() { - return titel; - } - - public void setTitel(String titel) { - this.titel = titel; - } - - public String getGenre() { - return genre; - } - - public void setGenre(String genre) { - this.genre = genre; - } - - public String getSoort() { - return soort; - } - - public void setSoort(String soort) { - this.soort = soort; - } - - public String getKijkwijzer() { - return kijkwijzer; - } - - public void setKijkwijzer(String kijkwijzer) { - this.kijkwijzer = kijkwijzer; - } - - public String getArtikel_id() { - return artikel_id; - } - - public void setArtikel_id(String artikel_id) { - this.artikel_id = artikel_id; - } - - public Date getDatum_start() { - return datum_start; - } - - public void setDatum_start(Date datum_start) { - this.datum_start = datum_start; - } - - public Date getDatum_end() { - return datum_end; - } - - public void setDatum_end(Date datum_end) { - this.datum_end = datum_end; - } - - public boolean isIs_highlight() { - return is_highlight; - } - - public void setIs_highlight(boolean is_highlight) { - this.is_highlight = is_highlight; - } - - public String getHighlight_afbeelding() { - return highlight_afbeelding; - } - - public void setHighlight_afbeelding(String highlight_afbeelding) { - this.highlight_afbeelding = highlight_afbeelding; - } - - public String getHighlight_content() { - return highlight_content; - } - - public void setHighlight_content(String highlight_content) { - this.highlight_content = highlight_content; - } - - String db_id; - String titel; - String genre; - String soort; - String kijkwijzer; - String artikel_id; - Date datum_start; - Date datum_end; - boolean is_highlight; - String highlight_afbeelding; - String highlight_content; - ProgrammeDetails details = null; - Channel channel = null; - - public void fixup(Config config) { - this.titel = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(titel); - this.genre = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(genre); - this.soort = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(soort); - this.highlight_content = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(highlight_content); - if(config.getCategories().containsKey(genre.toLowerCase())) { - genre = config.getCategories().get(genre.toLowerCase()); - } - } - - public String toString() { - StringBuffer s = new StringBuffer(); - s.append("id: " + db_id + ";"); - s.append("titel: " + titel + ";"); - s.append("genre: " + genre + ";"); - s.append("soort: " + soort + ";"); - s.append("kijkwijzer: " + kijkwijzer+ ";"); - s.append("artikel_id: " + artikel_id + ";"); - s.append("datum_start: " + datum_start + ";"); - s.append("datum_end: " + datum_end + ";"); - if (details != null) s.append("details:" + details.toString() ); - s.append("\n"); - - return s.toString(); - } -} diff --git a/src/main/java/org/vanbest/xmltv/ProgrammeCache.java b/src/main/java/org/vanbest/xmltv/ProgrammeCache.java index 533a6b7..39bf4fa 100644 --- a/src/main/java/org/vanbest/xmltv/ProgrammeCache.java +++ b/src/main/java/org/vanbest/xmltv/ProgrammeCache.java @@ -32,41 +32,41 @@ import org.apache.commons.io.FileUtils; public class ProgrammeCache { private File cacheFile; - private Map cache; + private Map cache; public ProgrammeCache(File cacheFile) { this.cacheFile = cacheFile; if (cacheFile.canRead()) { try { - cache = (Map) new ObjectInputStream( new FileInputStream( cacheFile ) ).readObject(); + cache = (Map) new ObjectInputStream( new FileInputStream( cacheFile ) ).readObject(); } catch (InvalidClassException e) { // TODO Auto-generated catch block - cache = new HashMap(); + cache = new HashMap(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); - cache = new HashMap(); + cache = new HashMap(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); - cache = new HashMap(); + cache = new HashMap(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); - cache = new HashMap(); + cache = new HashMap(); } } else { - cache = new HashMap(); + cache = new HashMap(); } // FileUtils.forceMkdir(root); } - public ProgrammeDetails getDetails(String id) { + public TvGidsProgrammeDetails getDetails(String id) { return cache.get(id); } - public void add(String id, ProgrammeDetails d) { + public void add(String id, TvGidsProgrammeDetails d) { cache.put(id, d); } diff --git a/src/main/java/org/vanbest/xmltv/ProgrammeDetails.java b/src/main/java/org/vanbest/xmltv/ProgrammeDetails.java deleted file mode 100644 index 976f5cb..0000000 --- a/src/main/java/org/vanbest/xmltv/ProgrammeDetails.java +++ /dev/null @@ -1,151 +0,0 @@ -package org.vanbest.xmltv; - -/* - Copyright (c) 2012 Jan-Pascal van Best - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - The full license text can be found in the LICENSE file. -*/ - -import java.io.Serializable; - -public class ProgrammeDetails implements Serializable { - String db_id; - String titel; - String datum; - String btijd; - String etijd; - String synop; - String kijkwijzer; - String genre; - String presentatie; - String acteursnamen_rolverdeling; - String regisseur; - String zender_id; - public boolean subtitle_teletekst = false; - public boolean stereo = false; - public boolean blacknwhite = false; - public boolean breedbeeld = false; - public String quality = null; - public boolean herhaling = false; - - public void fixup(Programme p, boolean quiet) { - this.titel = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(titel); - this.genre = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(genre); - this.synop = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(synop); - this.synop = this.synop.replaceAll("
", " "). - replaceAll("
", " "). - replaceAll("

", " "). - replaceAll("

", " "). - replaceAll("", " "). - replaceAll("", " "). - replaceAll("", " "). - replaceAll("", " "). - trim(); - if ((synop == null || synop.isEmpty()) && ( genre == null || (!genre.toLowerCase().equals("movies") && !genre.toLowerCase().equals("film")))) { - String[] parts = p.titel.split("[[:space:]]*:[[:space:]]*", 2); - if (parts.length >= 2 ) { - if (!quiet) { - System.out.println("Splitting title from \"" + p.titel + "\" to: \"" + parts[0].trim() + "\"; synop: \"" + parts[1].trim() + "\""); - } - titel = parts[0].trim(); - p.titel = titel; - synop = parts[1].trim(); - } - } - this.presentatie = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(presentatie); - this.acteursnamen_rolverdeling = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(acteursnamen_rolverdeling); - this.regisseur = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(regisseur); - } - - public String getDb_id() { - return db_id; - } - public void setDb_id(String db_id) { - this.db_id = db_id; - } - public String getTitel() { - return titel; - } - public void setTitel(String titel) { - this.titel = titel; - } - public String getDatum() { - return datum; - } - public void setDatum(String datum) { - this.datum = datum; - } - public String getBtijd() { - return btijd; - } - public void setBtijd(String btijd) { - this.btijd = btijd; - } - public String getEtijd() { - return etijd; - } - public void setEtijd(String etijd) { - this.etijd = etijd; - } - public String getSynop() { - return synop; - } - public void setSynop(String synop) { - this.synop = synop; - } - public String getKijkwijzer() { - return kijkwijzer; - } - public void setKijkwijzer(String kijkwijzer) { - this.kijkwijzer = kijkwijzer; - } - public String getGenre() { - return genre; - } - public void setGenre(String genre) { - this.genre = genre; - } - public String getPresentatie() { - return presentatie; - } - public void setPresentatie(String presentatie) { - this.presentatie = presentatie; - } - public String getActeursnamen_rolverdeling() { - return acteursnamen_rolverdeling; - } - public void setActeursnamen_rolverdeling(String acteursnamen_rolverdeling) { - this.acteursnamen_rolverdeling = acteursnamen_rolverdeling; - } - public String getRegisseur() { - return regisseur; - } - public void setRegisseur(String regisseur) { - this.regisseur = regisseur; - } - public String getZender_id() { - return zender_id; - } - public void setZender_id(String zender_id) { - this.zender_id = zender_id; - } - @Override - public String toString() { - return "ProgrammeDetails [db_id=" + db_id + ", titel=" + titel - + ", datum=" + datum + ", btijd=" + btijd + ", etijd=" + etijd - + ", synop=" + synop + ", kijkwijzer=" + kijkwijzer - + ", genre=" + genre + ", presentatie=" + presentatie - + ", acteursnamen_rolverdeling=" + acteursnamen_rolverdeling - + ", regisseur=" + regisseur + ", zender_id=" + zender_id + "]"; - } -} diff --git a/src/main/java/org/vanbest/xmltv/RTL.java b/src/main/java/org/vanbest/xmltv/RTL.java index e6241a3..e23e8c2 100644 --- a/src/main/java/org/vanbest/xmltv/RTL.java +++ b/src/main/java/org/vanbest/xmltv/RTL.java @@ -28,7 +28,7 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; -public class RTL implements EPGSource { +public class RTL extends AbstractEPGSource implements EPGSource { static final String programme_url="http://www.rtl.nl/active/epg_data/dag_data/"; static final String detail_url="http://www.rtl.nl/active/epg_data/uitzending_data/"; @@ -36,6 +36,10 @@ public class RTL implements EPGSource { Stats stats = new Stats(); + public RTL(Config config) { + super(config); + } + public List getChannels() { List result = new ArrayList(10); @@ -69,20 +73,6 @@ public class RTL implements EPGSource { return result; } - protected String fetchURL(URL url) throws Exception { - StringBuffer buf = new StringBuffer(); - try { - BufferedReader reader = new BufferedReader( new InputStreamReader( url.openStream())); - String s; - while ((s = reader.readLine()) != null) buf.append(s); - } catch (IOException e) { - stats.fetchErrors++; - throw new Exception("Error getting program data from url " + url, e); - } - return buf.toString(); - } - - protected void fetchDay(int day) throws Exception { URL url = new URL(programme_url+day); String xmltext = fetchURL(url); @@ -147,22 +137,8 @@ public class RTL implements EPGSource { Element root = xml.getDocumentElement(); } - - @Override - public void close() throws FileNotFoundException, IOException { - // TODO Auto-generated method stub - - } - - @Override - public Set getProgrammes(Channel channel, int day, - boolean fetchDetails) throws Exception { - // TODO Auto-generated method stub - return null; - } - @Override - public Set getProgrammes(List channels, int day, + public Set getProgrammes(List channels, int day, boolean fetchDetails) throws Exception { // TODO Auto-generated method stub return null; @@ -191,7 +167,9 @@ public class RTL implements EPGSource { writer.writeCharacters("\n"); writer.writeStartElement("tv"); for(Channel c: channels) {c.serialize(writer);} - System.out.flush(); + writer.writeEndElement(); + writer.writeEndDocument(); + writer.flush(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/src/main/java/org/vanbest/xmltv/TvGids.java b/src/main/java/org/vanbest/xmltv/TvGids.java index d7899df..6dba44a 100644 --- a/src/main/java/org/vanbest/xmltv/TvGids.java +++ b/src/main/java/org/vanbest/xmltv/TvGids.java @@ -163,8 +163,8 @@ public class TvGids extends AbstractEPGSource implements EPGSource { * @see org.vanbest.xmltv.EPGSource#getProgrammes(java.util.List, int, boolean) */ @Override - public Set getProgrammes(List channels, int day, boolean fetchDetails) throws Exception { - Set result = new HashSet(); + public Set getProgrammes(List channels, int day, boolean fetchDetails) throws Exception { + Set result = new HashSet(); URL url = programmeUrl(channels, day); JSONObject jsonObject = fetchJSON(url); @@ -176,7 +176,7 @@ public class TvGids extends AbstractEPGSource implements EPGSource { JSONArray programs = (JSONArray) ps; for( int i=0; i(.*?):(.*?)"); Pattern HDPattern = Pattern.compile("HD \\d+[ip]?"); @@ -238,7 +224,7 @@ public class TvGids extends AbstractEPGSource implements EPGSource { URL url = JSONDetailUrl(p.db_id); JSONObject json = fetchJSON(url); - p.details = (ProgrammeDetails) JSONObject.toBean(json, ProgrammeDetails.class); + p.details = (TvGidsProgrammeDetails) JSONObject.toBean(json, TvGidsProgrammeDetails.class); url = HTMLDetailUrl(p.db_id); String clob=fetchURL(url); diff --git a/src/main/java/org/vanbest/xmltv/TvGidsProgramme.java b/src/main/java/org/vanbest/xmltv/TvGidsProgramme.java new file mode 100644 index 0000000..c78fa82 --- /dev/null +++ b/src/main/java/org/vanbest/xmltv/TvGidsProgramme.java @@ -0,0 +1,149 @@ +package org.vanbest.xmltv; + +/* + Copyright (c) 2012 Jan-Pascal van Best + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + The full license text can be found in the LICENSE file. +*/ + +import java.util.Date; + +public class TvGidsProgramme { + public String getDb_id() { + return db_id; + } + + public void setDb_id(String db_id) { + this.db_id = db_id; + } + + public String getTitel() { + return titel; + } + + public void setTitel(String titel) { + this.titel = titel; + } + + public String getGenre() { + return genre; + } + + public void setGenre(String genre) { + this.genre = genre; + } + + public String getSoort() { + return soort; + } + + public void setSoort(String soort) { + this.soort = soort; + } + + public String getKijkwijzer() { + return kijkwijzer; + } + + public void setKijkwijzer(String kijkwijzer) { + this.kijkwijzer = kijkwijzer; + } + + public String getArtikel_id() { + return artikel_id; + } + + public void setArtikel_id(String artikel_id) { + this.artikel_id = artikel_id; + } + + public Date getDatum_start() { + return datum_start; + } + + public void setDatum_start(Date datum_start) { + this.datum_start = datum_start; + } + + public Date getDatum_end() { + return datum_end; + } + + public void setDatum_end(Date datum_end) { + this.datum_end = datum_end; + } + + public boolean isIs_highlight() { + return is_highlight; + } + + public void setIs_highlight(boolean is_highlight) { + this.is_highlight = is_highlight; + } + + public String getHighlight_afbeelding() { + return highlight_afbeelding; + } + + public void setHighlight_afbeelding(String highlight_afbeelding) { + this.highlight_afbeelding = highlight_afbeelding; + } + + public String getHighlight_content() { + return highlight_content; + } + + public void setHighlight_content(String highlight_content) { + this.highlight_content = highlight_content; + } + + String db_id; + String titel; + String genre; + String soort; + String kijkwijzer; + String artikel_id; + Date datum_start; + Date datum_end; + boolean is_highlight; + String highlight_afbeelding; + String highlight_content; + TvGidsProgrammeDetails details = null; + Channel channel = null; + + public void fixup(Config config) { + this.titel = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(titel); + this.genre = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(genre); + this.soort = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(soort); + this.highlight_content = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(highlight_content); + if(config.getCategories().containsKey(genre.toLowerCase())) { + genre = config.getCategories().get(genre.toLowerCase()); + } + } + + public String toString() { + StringBuffer s = new StringBuffer(); + s.append("id: " + db_id + ";"); + s.append("titel: " + titel + ";"); + s.append("genre: " + genre + ";"); + s.append("soort: " + soort + ";"); + s.append("kijkwijzer: " + kijkwijzer+ ";"); + s.append("artikel_id: " + artikel_id + ";"); + s.append("datum_start: " + datum_start + ";"); + s.append("datum_end: " + datum_end + ";"); + if (details != null) s.append("details:" + details.toString() ); + s.append("\n"); + + return s.toString(); + } +} diff --git a/src/main/java/org/vanbest/xmltv/TvGidsProgrammeDetails.java b/src/main/java/org/vanbest/xmltv/TvGidsProgrammeDetails.java new file mode 100644 index 0000000..37815a9 --- /dev/null +++ b/src/main/java/org/vanbest/xmltv/TvGidsProgrammeDetails.java @@ -0,0 +1,151 @@ +package org.vanbest.xmltv; + +/* + Copyright (c) 2012 Jan-Pascal van Best + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + The full license text can be found in the LICENSE file. +*/ + +import java.io.Serializable; + +public class TvGidsProgrammeDetails implements Serializable { + String db_id; + String titel; + String datum; + String btijd; + String etijd; + String synop; + String kijkwijzer; + String genre; + String presentatie; + String acteursnamen_rolverdeling; + String regisseur; + String zender_id; + public boolean subtitle_teletekst = false; + public boolean stereo = false; + public boolean blacknwhite = false; + public boolean breedbeeld = false; + public String quality = null; + public boolean herhaling = false; + + public void fixup(TvGidsProgramme p, boolean quiet) { + this.titel = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(titel); + this.genre = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(genre); + this.synop = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(synop); + this.synop = this.synop.replaceAll("
", " "). + replaceAll("
", " "). + replaceAll("

", " "). + replaceAll("

", " "). + replaceAll("", " "). + replaceAll("", " "). + replaceAll("", " "). + replaceAll("", " "). + trim(); + if ((synop == null || synop.isEmpty()) && ( genre == null || (!genre.toLowerCase().equals("movies") && !genre.toLowerCase().equals("film")))) { + String[] parts = p.titel.split("[[:space:]]*:[[:space:]]*", 2); + if (parts.length >= 2 ) { + if (!quiet) { + System.out.println("Splitting title from \"" + p.titel + "\" to: \"" + parts[0].trim() + "\"; synop: \"" + parts[1].trim() + "\""); + } + titel = parts[0].trim(); + p.titel = titel; + synop = parts[1].trim(); + } + } + this.presentatie = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(presentatie); + this.acteursnamen_rolverdeling = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(acteursnamen_rolverdeling); + this.regisseur = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(regisseur); + } + + public String getDb_id() { + return db_id; + } + public void setDb_id(String db_id) { + this.db_id = db_id; + } + public String getTitel() { + return titel; + } + public void setTitel(String titel) { + this.titel = titel; + } + public String getDatum() { + return datum; + } + public void setDatum(String datum) { + this.datum = datum; + } + public String getBtijd() { + return btijd; + } + public void setBtijd(String btijd) { + this.btijd = btijd; + } + public String getEtijd() { + return etijd; + } + public void setEtijd(String etijd) { + this.etijd = etijd; + } + public String getSynop() { + return synop; + } + public void setSynop(String synop) { + this.synop = synop; + } + public String getKijkwijzer() { + return kijkwijzer; + } + public void setKijkwijzer(String kijkwijzer) { + this.kijkwijzer = kijkwijzer; + } + public String getGenre() { + return genre; + } + public void setGenre(String genre) { + this.genre = genre; + } + public String getPresentatie() { + return presentatie; + } + public void setPresentatie(String presentatie) { + this.presentatie = presentatie; + } + public String getActeursnamen_rolverdeling() { + return acteursnamen_rolverdeling; + } + public void setActeursnamen_rolverdeling(String acteursnamen_rolverdeling) { + this.acteursnamen_rolverdeling = acteursnamen_rolverdeling; + } + public String getRegisseur() { + return regisseur; + } + public void setRegisseur(String regisseur) { + this.regisseur = regisseur; + } + public String getZender_id() { + return zender_id; + } + public void setZender_id(String zender_id) { + this.zender_id = zender_id; + } + @Override + public String toString() { + return "ProgrammeDetails [db_id=" + db_id + ", titel=" + titel + + ", datum=" + datum + ", btijd=" + btijd + ", etijd=" + etijd + + ", synop=" + synop + ", kijkwijzer=" + kijkwijzer + + ", genre=" + genre + ", presentatie=" + presentatie + + ", acteursnamen_rolverdeling=" + acteursnamen_rolverdeling + + ", regisseur=" + regisseur + ", zender_id=" + zender_id + "]"; + } +} diff --git a/src/main/java/org/vanbest/xmltv/XmlTvWriter.java b/src/main/java/org/vanbest/xmltv/XmlTvWriter.java index 6375b46..7a0339f 100644 --- a/src/main/java/org/vanbest/xmltv/XmlTvWriter.java +++ b/src/main/java/org/vanbest/xmltv/XmlTvWriter.java @@ -70,9 +70,9 @@ public class XmlTvWriter { * artikel_id ??? * */ - public void writePrograms(Collection programs) throws XMLStreamException { + public void writePrograms(Collection programs) throws XMLStreamException { DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss Z"); - for(Programme p: programs) { + for(TvGidsProgramme p: programs) { writer.writeStartElement("programme"); writer.writeAttribute("start", df.format(p.datum_start)); writer.writeAttribute("stop", df.format(p.datum_end));