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;
cache = new ProgrammeCache(config.cacheFile);
}
- public Set<Programme> getProgrammes(Channel channel, int day, boolean fetchDetails)
+ public Set<TvGidsProgramme> getProgrammes(Channel channel, int day, boolean fetchDetails)
throws Exception {
ArrayList<Channel> list = new ArrayList<Channel>(2);
list.add(channel);
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
public abstract List<Channel> getChannels();
// Convenience method
- public abstract Set<Programme> getProgrammes(Channel channel, int day,
+ public abstract Set<TvGidsProgramme> getProgrammes(Channel channel, int day,
boolean fetchDetails) throws Exception;
- public abstract Set<Programme> getProgrammes(List<Channel> channels,
+ public abstract Set<TvGidsProgramme> getProgrammes(List<Channel> channels,
int day, boolean fetchDetails) throws Exception;
public abstract Stats getStats();
for (int day=offset; day<offset+days; day++) {
if (!config.quiet) System.out.print("Fetching information for day " + day);
- Set<Programme> programmes = new HashSet<Programme>();
+ Set<TvGidsProgramme> programmes = new HashSet<TvGidsProgramme>();
for(Channel c: config.channels) {
if (!c.enabled) continue;
if (!config.quiet) System.out.print(".");
- Set<Programme> p = gids.getProgrammes(c, day, true);
+ Set<TvGidsProgramme> p = gids.getProgrammes(c, day, true);
writer.writePrograms(p);
writer.flush();
}
+++ /dev/null
-package org.vanbest.xmltv;
-
-/*
- Copyright (c) 2012 Jan-Pascal van Best <janpascal@vanbest.org>
-
- 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();
- }
-}
public class ProgrammeCache {
private File cacheFile;
- private Map<String,ProgrammeDetails> cache;
+ private Map<String,TvGidsProgrammeDetails> cache;
public ProgrammeCache(File cacheFile) {
this.cacheFile = cacheFile;
if (cacheFile.canRead()) {
try {
- cache = (Map<String,ProgrammeDetails>) new ObjectInputStream( new FileInputStream( cacheFile ) ).readObject();
+ cache = (Map<String,TvGidsProgrammeDetails>) new ObjectInputStream( new FileInputStream( cacheFile ) ).readObject();
} catch (InvalidClassException e) {
// TODO Auto-generated catch block
- cache = new HashMap<String,ProgrammeDetails>();
+ cache = new HashMap<String,TvGidsProgrammeDetails>();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
- cache = new HashMap<String,ProgrammeDetails>();
+ cache = new HashMap<String,TvGidsProgrammeDetails>();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
- cache = new HashMap<String,ProgrammeDetails>();
+ cache = new HashMap<String,TvGidsProgrammeDetails>();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
- cache = new HashMap<String,ProgrammeDetails>();
+ cache = new HashMap<String,TvGidsProgrammeDetails>();
}
} else {
- cache = new HashMap<String,ProgrammeDetails>();
+ cache = new HashMap<String,TvGidsProgrammeDetails>();
}
// 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);
}
+++ /dev/null
-package org.vanbest.xmltv;
-
-/*
- Copyright (c) 2012 Jan-Pascal van Best <janpascal@vanbest.org>
-
- 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("<br>", " ").
- replaceAll("<br />", " ").
- replaceAll("<p>", " ").
- replaceAll("</p>", " ").
- replaceAll("<strong>", " ").
- replaceAll("</strong>", " ").
- replaceAll("<em>", " ").
- replaceAll("</em>", " ").
- 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 + "]";
- }
-}
import org.w3c.dom.Element;\r
import org.xml.sax.SAXException;\r
\r
-public class RTL implements EPGSource {\r
+public class RTL extends AbstractEPGSource implements EPGSource {\r
\r
static final String programme_url="http://www.rtl.nl/active/epg_data/dag_data/";\r
static final String detail_url="http://www.rtl.nl/active/epg_data/uitzending_data/";\r
\r
Stats stats = new Stats();\r
\r
+ public RTL(Config config) {\r
+ super(config);\r
+ }\r
+\r
public List<Channel> getChannels() {\r
List<Channel> result = new ArrayList<Channel>(10);\r
\r
return result;\r
}\r
\r
- protected String fetchURL(URL url) throws Exception {\r
- StringBuffer buf = new StringBuffer();\r
- try {\r
- BufferedReader reader = new BufferedReader( new InputStreamReader( url.openStream()));\r
- String s;\r
- while ((s = reader.readLine()) != null) buf.append(s);\r
- } catch (IOException e) {\r
- stats.fetchErrors++;\r
- throw new Exception("Error getting program data from url " + url, e);\r
- }\r
- return buf.toString(); \r
- }\r
-\r
-\r
protected void fetchDay(int day) throws Exception {\r
URL url = new URL(programme_url+day);\r
String xmltext = fetchURL(url);\r
Element root = xml.getDocumentElement();\r
}\r
\r
-\r
- @Override\r
- public void close() throws FileNotFoundException, IOException {\r
- // TODO Auto-generated method stub\r
- \r
- }\r
-\r
- @Override\r
- public Set<Programme> getProgrammes(Channel channel, int day,\r
- boolean fetchDetails) throws Exception {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
@Override\r
- public Set<Programme> getProgrammes(List<Channel> channels, int day,\r
+ public Set<TvGidsProgramme> getProgrammes(List<Channel> channels, int day,\r
boolean fetchDetails) throws Exception {\r
// TODO Auto-generated method stub\r
return null;\r
writer.writeCharacters("\n");\r
writer.writeStartElement("tv");\r
for(Channel c: channels) {c.serialize(writer);}\r
- System.out.flush();\r
+ writer.writeEndElement();\r
+ writer.writeEndDocument();\r
+ writer.flush();\r
} catch (Exception e) {\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
* @see org.vanbest.xmltv.EPGSource#getProgrammes(java.util.List, int, boolean)
*/
@Override
- public Set<Programme> getProgrammes(List<Channel> channels, int day, boolean fetchDetails) throws Exception {
- Set<Programme> result = new HashSet<Programme>();
+ public Set<TvGidsProgramme> getProgrammes(List<Channel> channels, int day, boolean fetchDetails) throws Exception {
+ Set<TvGidsProgramme> result = new HashSet<TvGidsProgramme>();
URL url = programmeUrl(channels, day);
JSONObject jsonObject = fetchJSON(url);
JSONArray programs = (JSONArray) ps;
for( int i=0; i<programs.size(); i++ ) {
JSONObject programme = programs.getJSONObject(i);
- Programme p = programmeFromJSON(programme, fetchDetails);
+ TvGidsProgramme p = programmeFromJSON(programme, fetchDetails);
p.channel = c;
result.add( p );
}
JSONObject programs = (JSONObject) ps;
for( Object o: programs.keySet() ) {
JSONObject programme = programs.getJSONObject(o.toString());
- Programme p = programmeFromJSON(programme, fetchDetails);
+ TvGidsProgramme p = programmeFromJSON(programme, fetchDetails);
p.channel = c;
result.add( p );
}
return result;
}
- private Programme programmeFromJSON(JSONObject programme, boolean fetchDetails) throws Exception {
- Programme p = (Programme) JSONObject.toBean(programme, Programme.class);
+ private TvGidsProgramme programmeFromJSON(JSONObject programme, boolean fetchDetails) throws Exception {
+ TvGidsProgramme p = (TvGidsProgramme) JSONObject.toBean(programme, TvGidsProgramme.class);
p.fixup(config);
if (fetchDetails) {
fillDetails(p);
return p;
}
- 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();
- }
-
private JSONObject fetchJSON(URL url) throws Exception {
String json = fetchURL(url);
if (config.logJSON()) System.out.println(json);
return JSONObject.fromObject( json );
}
- private void fillDetails(Programme p) throws Exception {
+ private void fillDetails(TvGidsProgramme p) throws Exception {
Pattern progInfoPattern = Pattern.compile("prog-info-content.*prog-info-footer", Pattern.DOTALL);
Pattern infoLinePattern = Pattern.compile("<li><strong>(.*?):</strong>(.*?)</li>");
Pattern HDPattern = Pattern.compile("HD \\d+[ip]?");
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);
--- /dev/null
+package org.vanbest.xmltv;
+
+/*
+ Copyright (c) 2012 Jan-Pascal van Best <janpascal@vanbest.org>
+
+ 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();
+ }
+}
--- /dev/null
+package org.vanbest.xmltv;
+
+/*
+ Copyright (c) 2012 Jan-Pascal van Best <janpascal@vanbest.org>
+
+ 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("<br>", " ").
+ replaceAll("<br />", " ").
+ replaceAll("<p>", " ").
+ replaceAll("</p>", " ").
+ replaceAll("<strong>", " ").
+ replaceAll("</strong>", " ").
+ replaceAll("<em>", " ").
+ replaceAll("</em>", " ").
+ 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 + "]";
+ }
+}
* artikel_id ???
*
*/
- public void writePrograms(Collection<Programme> programs) throws XMLStreamException {
+ public void writePrograms(Collection<TvGidsProgramme> 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));