]> www.vanbest.org Git - tv_grab_nl_java/commitdiff
Fix html entities
authorJP <jp@here>
Mon, 12 Mar 2012 09:20:56 +0000 (10:20 +0100)
committerJP <jp@here>
Mon, 12 Mar 2012 09:20:56 +0000 (10:20 +0100)
tv_grab_nl_java/pom.xml
tv_grab_nl_java/src/org/vanbest/xmltv/Channel.java
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/ProgrammeDetails.java
tv_grab_nl_java/src/org/vanbest/xmltv/TvGids.java

index ff9e221a91be16e153793efc79a065acede3e6a6..869a2c32194a5ea6aea23af7753f93be9a136415 100644 (file)
                <artifactId>commons-io</artifactId>
                <version>2.1</version>
        </dependency>
+       <dependency>
+               <groupId>commons-lang</groupId>
+               <artifactId>commons-lang</artifactId>
+               <version>2.6</version>
+       </dependency>
   </dependencies>
 </project>
\ No newline at end of file
index 97b31b642189bd24eef303eed67ebc4f95d2b16c..737d29f5048dffd99b2c251dfd86dd72994134fb 100644 (file)
@@ -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);
+    }
 }
index 3c06273250f1c3fe64c0fdccaec7f90c14da11da..5d0992009820b908cba6a9552fe834b050d5afb0 100644 (file)
@@ -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() {
index 3420402659de90c7769de109ec7150f3067a1645..e6f4dbeb2a229ea7fb9029b4ed2c9802895bbd93 100644 (file)
@@ -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 + ";");
index b4138a90861984b0a918d7cb02c5ee54933df1d1..304c9b7e912a665ad9b7e499f62f561b08d49843 100644 (file)
@@ -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;
        }
index e7445ae7559b2a4f86c7e118e49182596f6c6ed2..507f13523777f07638e6c0f00f45a902c67b7c2b 100644 (file)
@@ -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<programs.size(); i++ ) {
                                        JSONObject programme = programs.getJSONObject(i);
                                        Programme p = (Programme) JSONObject.toBean(programme, Programme.class);
+                                       p.fixup();
                                        if (fetchDetails) {
                                                p.details = getDetails(p.db_id);
                                        }
@@ -168,6 +190,7 @@ public class TvGids {
                JSONObject json = fetchJSON(url);
                //System.out.println( json );  
                d = (ProgrammeDetails) JSONObject.toBean(json, ProgrammeDetails.class);
+               d.fixup();
                cache.add(db_id, d);
                return d;
        }