* Start URL of the electronic programme guide.
*/
private static final String START_URL = "http://epg.kml.kiss-technology.com/login_core.php";
+
+ /**
+ * Default socket timeout to use.
+ */
+ private static final int SOCKET_TIMEOUT = 20000;
/**
* Regular expression for matching time interval strings in the retrieved
public static void main(String[] aArgs) throws Exception {
String crawlerConfig = new File(aArgs[0]).getCanonicalPath();
String programConfig = new File(aArgs[1]).getCanonicalPath();
- new KissCrawler(START_URL, crawlerConfig, programConfig);
+ new KissCrawler(START_URL, SOCKET_TIMEOUT, crawlerConfig, programConfig);
}
+
+ /**
+ * Constructs the crawler. This retrieves the TV guide by crawling the KiSS
+ * EPG guide, filters the guide for interesting programs, tries to record
+ * them, and sends a summary mail to the user.
+ *
+ * @param aCrawlerConfig
+ * Configuration file for the crawler.
+ * @param aProgramConfig
+ * Configuration file describing interesting shows.
+ * @throws IOException
+ * In case of problems reading files.
+ * @throws MessagingException
+ * In case of problems sending a mail notification.
+ */
+ public KissCrawler(String aCrawlerConfig,
+ String aProgramConfig) throws IOException, NotificationException {
+ this(START_URL, SOCKET_TIMEOUT, aCrawlerConfig, aProgramConfig);
+ }
+
/**
* Constructs the crawler. This retrieves the TV guide by crawling the KiSS
*
* @param aStartUrl
* Start URL of the electronic programme guide.
+ * @param aSocketTimeout Socket timeout to use.
* @param aCrawlerConfig
* Configuration file for the crawler.
* @param aProgramConfig
* @throws MessagingException
* In case of problems sending a mail notification.
*/
- public KissCrawler(String aStartUrl, String aCrawlerConfig,
+ public KissCrawler(String aStartUrl, int aSocketTimeout, String aCrawlerConfig,
String aProgramConfig) throws IOException, NotificationException {
_pattern = Pattern.compile(TIME_REGEX);
try {
HttpClient client = new HttpClient();
// client.getHostConfiguration().setProxy("127.0.0.1", 3128);
+ client.getParams().setParameter("http.socket.timeout", SOCKET_TIMEOUT);
XslTransformer transformer = new XslTransformer(
new ClasspathUriResolver());
}
return favorites.execute();
} catch (PageException e) {
- String msg = "Could not login to electronic programme guide.";
+ String msg = "Could not complete login to electronic programme guide.";
throw new PageException(msg, e);
}
}