From: JP Date: Mon, 12 Mar 2012 09:20:56 +0000 (+0100) Subject: Fix html entities X-Git-Tag: 0.2~10 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=f8418157720282d1de1e847f83e38e8ef51d4e37;p=tv_grab_nl_java Fix html entities --- diff --git a/tv_grab_nl_java/pom.xml b/tv_grab_nl_java/pom.xml index ff9e221..869a2c3 100644 --- a/tv_grab_nl_java/pom.xml +++ b/tv_grab_nl_java/pom.xml @@ -20,5 +20,10 @@ commons-io 2.1 + + commons-lang + commons-lang + 2.6 + \ No newline at end of file diff --git a/tv_grab_nl_java/src/org/vanbest/xmltv/Channel.java b/tv_grab_nl_java/src/org/vanbest/xmltv/Channel.java index 97b31b6..737d29f 100644 --- a/tv_grab_nl_java/src/org/vanbest/xmltv/Channel.java +++ b/tv_grab_nl_java/src/org/vanbest/xmltv/Channel.java @@ -16,4 +16,9 @@ public class Channel { public String getChannelId() { return id+".tvgids.nl"; } + + public void fixup() { + this.name = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(name); + this.shortName = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(shortName); + } } diff --git a/tv_grab_nl_java/src/org/vanbest/xmltv/Main.java b/tv_grab_nl_java/src/org/vanbest/xmltv/Main.java index 3c06273..5d09920 100644 --- a/tv_grab_nl_java/src/org/vanbest/xmltv/Main.java +++ b/tv_grab_nl_java/src/org/vanbest/xmltv/Main.java @@ -59,8 +59,6 @@ public class Main { } } - writer.close(); - try { gids.close(); } catch (FileNotFoundException e) { @@ -70,6 +68,8 @@ public class Main { // TODO Auto-generated catch block e.printStackTrace(); } + + writer.close(); } public void configure() { 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 3420402..e6f4dbe 100644 --- a/tv_grab_nl_java/src/org/vanbest/xmltv/Programme.java +++ b/tv_grab_nl_java/src/org/vanbest/xmltv/Programme.java @@ -104,7 +104,14 @@ public class Programme { String highlight_content; ProgrammeDetails details = null; Channel channel = null; - + + public void fixup() { + 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); + } + public String toString() { StringBuffer s = new StringBuffer(); s.append("id: " + db_id + ";"); 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 b4138a9..304c9b7 100644 --- a/tv_grab_nl_java/src/org/vanbest/xmltv/ProgrammeDetails.java +++ b/tv_grab_nl_java/src/org/vanbest/xmltv/ProgrammeDetails.java @@ -15,6 +15,19 @@ public class ProgrammeDetails implements Serializable { String acteursnamen_rolverdeling; String regisseur; String zender_id; + + public void fixup() { + this.titel = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(titel); + this.genre = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(genre); + System.out.println("synop was:" + synop); + this.synop = org.apache.commons.lang.StringEscapeUtils.unescapeHtml(synop); + System.out.println("synop werd:" + synop); + 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; } diff --git a/tv_grab_nl_java/src/org/vanbest/xmltv/TvGids.java b/tv_grab_nl_java/src/org/vanbest/xmltv/TvGids.java index e7445ae..507f135 100644 --- a/tv_grab_nl_java/src/org/vanbest/xmltv/TvGids.java +++ b/tv_grab_nl_java/src/org/vanbest/xmltv/TvGids.java @@ -16,6 +16,8 @@ import java.util.Locale; import java.util.Map; import java.util.Set; +import net.sf.ezmorph.MorpherRegistry; +import net.sf.ezmorph.ObjectMorpher; import net.sf.ezmorph.object.DateMorpher; import net.sf.json.JSON; import net.sf.json.JSONArray; @@ -29,17 +31,34 @@ public class TvGids { static String detail_base_url = "http://www.tvgids.nl/json/lists/program.php"; ProgrammeCache cache; - boolean initialised = false; + static boolean initialised = false; public TvGids(File cacheFile) { cache = new ProgrammeCache(cacheFile); if ( ! initialised ) { - String[] formats = {"yyyy-MM-dd HH:mm:ss"}; - JSONUtils.getMorpherRegistry().registerMorpher( new DateMorpher(formats, new Locale("nl"))); + init(); initialised = true; } } + public static void init() { + String[] formats = {"yyyy-MM-dd HH:mm:ss"}; + MorpherRegistry registry = JSONUtils.getMorpherRegistry(); + registry.registerMorpher( new DateMorpher(formats, new Locale("nl"))); + registry.registerMorpher( new ObjectMorpher() { + public Object morph(Object value) { + String s = (String) value; + return org.apache.commons.lang.StringEscapeUtils.unescapeHtml(s); + } + public Class morphsTo() { + return String.class; + } + public boolean supports(Class clazz) { + return clazz == String.class; + } + }, true); + } + public void close() throws FileNotFoundException, IOException { cache.close(); } @@ -73,7 +92,9 @@ public class TvGids { JSONObject zender = jsonArray.getJSONObject(i); //System.out.println( "id: " + zender.getString("id")); //System.out.println( "name: " + zender.getString("name")); - result.add( new Channel(zender.getInt("id"), zender.getString("name"), zender.getString("name_short"))); + Channel c = new Channel(zender.getInt("id"), zender.getString("name"), zender.getString("name_short")); + c.fixup(); + result.add(c); } return result; @@ -123,6 +144,7 @@ public class TvGids { for( int i=0; i