List<String> names; // at least one name is obligatory\r
List<Icon> icons;\r
List<String> urls;\r
- protected boolean selected = true;\r
+ protected boolean enabled = true;\r
\r
protected Channel(String id) {\r
this.id = id;\r
public void addIcon(String url) {\r
icons.add(new Icon(url));\r
}\r
+\r
+ public void setEnabled(boolean b) {\r
+ this.enabled = b;\r
+ \r
+ }\r
}
\ No newline at end of file
out.println("cache-file: " + escape(cacheFile.getPath()));
out.println("nice-time-milliseconds: " + niceMilliseconds);
for(Channel c: channels) {
- if (!c.selected) {
- out.print("#");
- }
// FIXME: handle multiple channels names, icons and urls
- out.print("channel: " + c.id + ": " + escape(c.defaultName()));
+ out.print("channel: " + c.id +
+ ": " + (c.enabled?"enabled":"disabled") +
+ ": " + escape(c.defaultName()));
if (!c.icons.isEmpty()) {
out.print(" : " + escape(c.icons.get(0).url));
}
while(true) {
String s = reader.readLine();
if(s==null) break;
+ //System.out.println(s);
if (!s.contains(":")) continue;
if (s.startsWith("#")) continue;
List<String> parts = splitLine(s);
- if (parts.get(0).toLowerCase().equals("channel")) {
- Channel c = Channel.getChannel(parts.get(1), parts.get(2));
- if (parts.size()>3) {
- c.addIcon(parts.get(3));
+ switch (parts.get(0).toLowerCase()) {
+ case "channel":
+ Channel c = null;
+ System.out.println("Adding channel " + parts + " in file format " + fileformat);
+ switch(fileformat) {
+ case 0:
+ c = Channel.getChannel(parts.get(1), parts.get(2));
+ if (parts.size()>3) {
+ c.addIcon(parts.get(3));
+ }
+ break;
+ case 1:
+ c = Channel.getChannel(parts.get(1), parts.get(3));
+ if (parts.size()>4) {
+ c.addIcon(parts.get(4));
+ }
+ switch(parts.get(2)) {
+ case "enabled": c.setEnabled(true); break;
+ case "disabled": c.setEnabled(false); break;
+ default: System.out.println("Unknown channel status \"" + parts.get(2) + "\", should be enabled or disabled");
+ }
}
result.channels.add(c);
- }
- switch (parts.get(0).toLowerCase()) {
+ break;
case "category" :
result.cattrans.put(parts.get(1), parts.get(2));
break;
if (!config.quiet) System.out.print("Fetching information for day " + day);
Set<Programme> programmes = new HashSet<Programme>();
for(Channel c: config.channels) {
- if (!c.selected) continue;
+ if (!c.enabled) continue;
if (!config.quiet) System.out.print(".");
Set<Programme> p = gids.getProgrammes(c, day, true);
writer.writePrograms(p);
boolean selected = oldChannels.contains(c.id);
System.out.print("add channel " + c.id + " (" + c.defaultName() + ") [[y]es,[n]o,[a]ll,[none],[k]eep selection (default=" + (selected?"yes":"no") + ")] ");
if (keep) {
- c.selected = selected;
+ c.enabled = selected;
System.out.println(selected?"Y":"N");
continue;
}
if (all) {
- c.selected = true;
+ c.enabled = true;
System.out.println("Y");
continue;
}
if (none) {
- c.selected = false;
+ c.enabled = false;
System.out.println("N");
continue;
}
while(true) {
String s = reader.readLine().toLowerCase();
if (s.isEmpty()) {
- c.selected = selected;
+ c.enabled = selected;
break;
} else if ( s.startsWith("k")) {
- c.selected = selected;
+ c.enabled = selected;
keep = true;
break;
} else if ( s.startsWith("y")) {
- c.selected = true;
+ c.enabled = true;
break;
} else if ( s.startsWith("a")) {
- c.selected = true;
+ c.enabled = true;
all = true;
break;
} else if ( s.startsWith("none")) {
- c.selected = false;
+ c.enabled = false;
none = true;
break;
} else if ( s.startsWith("n")) {
- c.selected = false;
+ c.enabled = false;
break;
}
}