static Channel getChannel(int source, String id, String name, String iconUrl) {\r
Channel c = new Channel(source, id);\r
c.names.add(name);\r
- c.icons.add(new Icon(iconUrl));\r
+ if (iconUrl != null) {\r
+ c.icons.add(new Icon(iconUrl));\r
+ }\r
return c;\r
}\r
\r
return EPGSourceFactory.newInstance().getChannelSourceName(source);\r
}\r
\r
- public void serialize(XMLStreamWriter writer) throws XMLStreamException {\r
+ public void serialize(XMLStreamWriter writer, boolean writeLogos) throws XMLStreamException {\r
writer.writeStartElement("channel");\r
writer.writeAttribute("id", getXmltvChannelId());\r
for (String name : names) {\r
writer.writeCharacters(name);\r
writer.writeEndElement();\r
}\r
- for (Icon i : icons) {\r
- i.serialize(writer);\r
- }\r
+ if (writeLogos) {\r
+ for (Icon i : icons) {\r
+ i.serialize(writer);\r
+ }\r
+ }\r
for (String url : urls) {\r
writer.writeStartElement("url");\r
writer.writeCharacters(url);\r
public String toString() {\r
return "Channel " + source + "::" + id + " (" + defaultName() + ")";\r
}\r
-}
\ No newline at end of file
+}\r
package org.vanbest.xmltv;
/*
- Copyright (c) 2012 Jan-Pascal van Best <janpascal@vanbest.org>
+ Copyright (c) 2012,2013 Jan-Pascal van Best <janpascal@vanbest.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
public String cacheDbHandle;
public String cacheDbUser;
public String cacheDbPassword;
+ public boolean fetchLogos;
// not stored (yet)
public boolean joinKijkwijzerRatings = true;
result.setCacheFile(cachefile);
result.cacheDbUser = "SA";
result.cacheDbPassword = "";
+ result.fetchLogos= true;
return result;
}
out.println("cache-db-handle: " + escape(cacheDbHandle));
out.println("cache-db-user: " + escape(cacheDbUser));
out.println("cache-db-password: " + escape(cacheDbPassword));
+ out.println("fetch-channel-logos: " + (fetchLogos?"yes":"no"));
out.println("nice-time-milliseconds: " + niceMilliseconds);
for (Channel c : channels) {
// FIXME: handle multiple channels names, icons and urls
result.cacheDbPassword = parts.get(1);
} else if (key.equals("nice-time-milliseconds")) {
result.niceMilliseconds = Integer.parseInt(parts.get(1));
+ } else if (key.equals("fetch-channel-logos")) {
+ String value = parts.get(1).toLowerCase();
+ result.fetchLogos = (value.equals("yes") ||
+ value.equals("true") ||
+ value.equals("1")) ;
} else {
logger.error("Unknown key " + key + " in config file!");
}
// Use the largest available station logo as icon
JSONArray images = station.getJSONArray("images");
String icon = "";
- int maxSize = 0;
- for( int j=0; j<images.size(); j++) {
- JSONObject image = images.getJSONObject(j);
- if (image.getString("assetType").startsWith("station-logo") &&
- image.getInt("width")>maxSize) {
- icon = image.getString("url");
- maxSize = image.getInt("width");
- }
- }
+ int maxSize = 0;
+ for( int j=0; j<images.size(); j++) {
+ JSONObject image = images.getJSONObject(j);
+ if (image.getString("assetType").startsWith("station-logo") &&
+ image.getInt("width")>maxSize) {
+ icon = image.getString("url");
+ maxSize = image.getInt("width");
+ }
+ }
Channel c = Channel.getChannel(getId(), Long.toString(id), name,
icon);
result.add(c);
// List<Channel> my_channels = channels;
List<Channel> my_channels = channels.subList(0, 5);
for (Channel c : my_channels) {
- c.serialize(writer);
+ c.serialize(writer, true);
}
writer.flush();
for(int day=0; day<5; day++) {
package org.vanbest.xmltv;
/*
- Copyright (c) 2012 Jan-Pascal van Best <janpascal@vanbest.org>
+ Copyright (c) 2012,2013 Jan-Pascal van Best <janpascal@vanbest.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
for (Channel c : config.channels)
if (c.enabled)
- c.serialize(writer);
+ c.serialize(writer, config.fetchLogos);
for (int day = offset; day < offset + days; day++) {
if (!config.quiet)
JSONArray j = (JSONArray) o.get(k);\r
String id = genericChannelId(k.toString());\r
String name = (String) j.get(0);\r
- String icon = icon_url + id + ".gif";\r
-\r
+ String icon = icon_url + id + ".gif";\r
Channel c = Channel.getChannel(getId(), id, name, icon);\r
result.add(c);\r
}\r
writer.writeCharacters("\n");\r
writer.writeStartElement("tv");\r
for (Channel c : channels) {\r
- c.serialize(writer);\r
+ c.serialize(writer, true);\r
}\r
writer.flush();\r
// List<Programme> programmes =\r
int id = zender.getInt("id");
String name = org.apache.commons.lang.StringEscapeUtils
.unescapeHtml(zender.getString("name"));
- String icon = "http://tvgidsassets.nl/img/channels/53x27/" + id
- + ".png";
+ String icon = "http://tvgidsassets.nl/img/channels/53x27/" + id
+ + ".png";
Channel c = Channel.getChannel(getId(), Integer.toString(id), name,
icon);
result.add(c);
// List<Channel> my_channels = channels;
List<Channel> my_channels = channels.subList(0, 15);
for (Channel c : my_channels) {
- c.serialize(writer);
+ c.serialize(writer, true);
}
writer.flush();
List<Programme> programmes = gids.getProgrammes(my_channels, 2);