]> www.vanbest.org Git - tv_grab_nl_java/commitdiff
Implement RTL reading channel list (no icons nor urls)
authorJan-Pascal van Best <janpascal@vanbest.org>
Sun, 25 Mar 2012 19:10:37 +0000 (21:10 +0200)
committerJan-Pascal van Best <janpascal@vanbest.org>
Sun, 25 Mar 2012 19:10:37 +0000 (21:10 +0200)
src/main/java/org/vanbest/xmltv/Channel.java
src/main/java/org/vanbest/xmltv/RTL.java

index c3f1340e10a7a5ae18a5b16b386bd86061b9596e..80ca8bc270c0f1c8a2973241241e89dc0023a868 100644 (file)
@@ -67,6 +67,10 @@ public class Channel {
 \r
        public void setEnabled(boolean b) {\r
                this.enabled = b;\r
-               \r
        }\r
+       \r
+    public String toString() {\r
+       return "Channel " + id + " (" + defaultName() + ")";\r
+    }\r
+\r
 }
\ No newline at end of file
index 73bb7007ac789564a2a7c4e49ca70fbd64a50b82..11985626f60a61645b44fc59100eb441ed5bdbf3 100644 (file)
@@ -5,10 +5,14 @@ import java.io.IOException;
 import java.io.InputStreamReader;\r
 import java.net.MalformedURLException;\r
 import java.net.URL;\r
+import java.text.ParseException;\r
 import java.text.SimpleDateFormat;\r
+import java.util.ArrayList;\r
 import java.util.Date;\r
+import java.util.List;\r
 \r
 import javax.xml.parsers.DocumentBuilderFactory;\r
+import javax.xml.parsers.ParserConfigurationException;\r
 \r
 import net.sf.json.JSON;\r
 import net.sf.json.JSONArray;\r
@@ -16,6 +20,7 @@ import net.sf.json.JSONObject;
 \r
 import org.w3c.dom.Document;\r
 import org.w3c.dom.Element;\r
+import org.xml.sax.SAXException;\r
 \r
 public class RTL {\r
 \r
@@ -24,7 +29,33 @@ public class RTL {
        \r
        int fetchErrors = 0;\r
 \r
+       public List<Channel> getChannels() throws Exception {\r
+               List<Channel> result = new ArrayList<Channel>(10);\r
 \r
+               URL url = new URL(programme_url+"1");\r
+               String xmltext = fetchURL(url);\r
+               System.out.println(xmltext);\r
+               Document xml = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(url.openStream());\r
+               Element root = xml.getDocumentElement();\r
+               Date date = new SimpleDateFormat("yyyy-MM-dd").parse(root.getAttribute("date"));\r
+               System.out.println("date: " + date);\r
+               String json = root.getTextContent();\r
+               System.out.println("json: " + json);\r
+               JSONObject o = JSONObject.fromObject( json );\r
+               for( Object k: o.keySet()) {\r
+                       JSONArray j = (JSONArray) o.get(k);\r
+                       System.out.println(k.toString()+": "+j.toString());\r
+                       System.out.println("Channel name:" + j.get(0));\r
+                       String id = k.toString().replaceAll("^Z", ""); // remove initial Z\r
+                       String name = (String) j.get(0);\r
+                       \r
+                       Channel c = Channel.getChannel(id, name);\r
+                       result.add(c);\r
+               }\r
+\r
+               return result;\r
+       }\r
+       \r
        protected String fetchURL(URL url) throws Exception {\r
                StringBuffer buf = new StringBuffer();\r
                try {\r
@@ -112,7 +143,9 @@ public class RTL {
        public static void main(String[] args) {\r
                RTL rtl = new RTL();\r
                try {\r
-                       rtl.fetchDay(1);\r
+                       // rtl.fetchDay(1);\r
+                       List<Channel> channels = rtl.getChannels();\r
+                       System.out.println("Channels: " + channels);\r
                } catch (Exception e) {\r
                        // TODO Auto-generated catch block\r
                        e.printStackTrace();\r