public void clearCache() {
cache.clear(sourceId);
}
+
+ List<String> parseKijkwijzer(String s) {
+ List<String> result = new ArrayList<String>();
+ for (int i=0; i<s.length(); i++) {
+ char c = s.charAt(i);
+ switch(c) {
+ case 'a':result.add("Angst"); break;
+ case 'd':result.add("Discriminatie"); break;
+ case 's':result.add("Seks"); break;
+ case 'h':result.add("Drugs/Alcohol"); break;
+ case 'g':result.add("Geweld"); break;
+ case 't':result.add("Grof taalgebruik"); break;
+ case '1':result.add("Voor alle leeftijden"); break;
+ case '2':result.add("Afgeraden voor kinderen jonger dan 6 jaar"); break;
+ case '9':result.add("Afgeraden voor kinderen jonger dan 9 jaar"); break;
+ case '3':result.add("Afgeraden voor kinderen jonger dan 12 jaar"); break;
+ case '4':result.add("Afgeraden voor kinderen jonger dan 16 jaar"); break;
+ case '5': break; // Lijkt op een foutje van RTL, bedoeld wordt wrsch "12 jaar en ouder". Wordt op RTL tvgids niet weegegeven.
+ default: if (!config.quiet) {
+ logger.warn("Unknown kijkwijzer character: " + c + " in string " + s);
+ }
+ }
+ }
+ return result;
+ }
+
}
\ No newline at end of file
import net.sf.json.JSONObject;\r
\r
import org.apache.commons.io.FileUtils;\r
+import org.apache.commons.lang.StringUtils;\r
+import org.apache.log4j.Level;\r
import org.apache.log4j.Logger;\r
import org.vanbest.xmltv.EPGSource.Stats;\r
import org.w3c.dom.DOMException;\r
prog.endTime = parseTime(e.getTextContent(), dateStatus, DateStatus.END_TIME);\r
} else if (tag.equals("omroep")) {\r
} else if (tag.equals("kijkwijzer")) {\r
- //System.out.println("Kijkwijzer: \"" + e.getTextContent() + "\"");\r
+ logger.trace(prog.toString());\r
+ logger.trace("Kijkwijzer: \"" + e.getTextContent() + "\"");\r
+ String kijkwijzer = e.getTextContent();\r
+ List<String> list = parseKijkwijzer(kijkwijzer);\r
+ if (config.joinKijkwijzerRatings) {\r
+ // mythtv doesn't understand multiple <rating> tags\r
+ prog.addRating("kijkwijzer", StringUtils.join(list, ","));\r
+ } else {\r
+ for(String rating: list) {\r
+ prog.addRating("kijkwijzer", rating);\r
+ }\r
+ }\r
+ logger.trace("Kijkwijzer: \"" + StringUtils.join(list, ",") + "\"");\r
+ // TODO add kijkwijzer icons?\r
} else if (tag.equals("presentatie")) {\r
// A; A en B; A, B, C en D\r
String[] presentatoren = e.getTextContent().split(", | en ");\r
*/\r
public static void main(String[] args) throws FileNotFoundException {\r
debug = true;\r
+ Logger.getRootLogger().setLevel(Level.TRACE);\r
+\r
Config config = Config.getDefaultConfig();\r
config.niceMilliseconds = 50;\r
RTL rtl = new RTL(2, config);\r
return new URL(s.toString());
}
- List<String> parseKijkwijzer(String s) {
- List<String> result = new ArrayList<String>();
- for (int i=0; i<s.length(); i++) {
- char c = s.charAt(i);
- switch(c) {
- case 'a':result.add("Angst"); break;
- case 'd':result.add("Discriminatie"); break;
- case 's':result.add("Seks"); break;
- case 'h':result.add("Drugs/Alcohol"); break;
- case 'g':result.add("Geweld"); break;
- case 't':result.add("Grof taalgebruik"); break;
- case '1':result.add("Voor alle leeftijden"); break;
- case '2':result.add("Afgeraden voor kinderen jonger dan 6 jaar"); break;
- case '9':result.add("Afgeraden voor kinderen jonger dan 9 jaar"); break;
- case '3':result.add("Afgeraden voor kinderen jonger dan 12 jaar"); break;
- case '4':result.add("Afgeraden voor kinderen jonger dan 16 jaar"); break;
- default: if (!config.quiet) {
- logger.warn("Unknown kijkwijzer character: " + c + " in string " + s);
- }
- }
- }
- return result;
- }
-
/* (non-Javadoc)
* @see org.vanbest.xmltv.EPGSource#getChannels()
*/