import javax.mail.MessagingException;
import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wamblee.crawler.Action;
/**
* Start URL of the electronic programme guide.
*/
- private static final String START_URL = "http://epg.kml.kiss-technology.com/login_core.php";
+ private static final String START_URL = "http://epg.kml.kiss-technology.com/login.php";
/**
* Default socket timeout to use.
* Regular expression for matching time interval strings in the retrieved
* pages.
*/
- private static final String TIME_REGEX = "([0-9]{2}):([0-9]{2})[^0-9]*([0-9]{2}):([0-9]{2}).*";
+ private static final String TIME_REGEX = "[^0-9]*([0-9]{2}):([0-9]{2})[^0-9]*([0-9]{2}):([0-9]{2}).*";
/**
* Compiled pattern for the time regular expression.
Crawler crawler = createCrawler(aCrawlerConfig, client, transformer);
InputStream programConfigFile = new FileInputStream(new File(
aProgramConfig));
- ProgramConfigurationParser parser = new ProgramConfigurationParser(
- transformer);
+ ProgramConfigurationParser parser = new ProgramConfigurationParser();
parser.parse(programConfigFile);
List<ProgramFilter> programFilters = parser.getFilters();
private Page getStartPage(String aStartUrl, Crawler aCrawler, Report aReport)
throws PageException {
try {
- Page page = aCrawler.getPage(aStartUrl);
+ Page page = aCrawler.getPage(aStartUrl, new NameValuePair[0]);
+ page = page.getAction("login").execute();
Action favorites = page.getAction("channels-favorites");
if (favorites == null) {
String msg = "Channels favorites action not found on start page";
* @param aReport
* Report to use.
* @return TV guide.
+ * @throws PageException In case of problem getting the tv guide.
*/
- private TVGuide createGuide(Page aPage, Report aReport) {
+ private TVGuide createGuide(Page aPage, Report aReport) throws PageException {
LOG.info("Obtaining full TV guide");
Action[] actions = aPage.getActions();
if ( actions.length == 0 ) {
LOG.error("No channels found");
- aReport.addMessage("No channels found");
+ throw new PageException("No channels found");
}
List<Channel> channels = new ArrayList<Channel>();
for (Action action : actions) {