From b71170b295ce9b576b62c2e325bc0f787c5a0826 Mon Sep 17 00:00:00 2001 From: erik Date: Fri, 17 Mar 2006 22:44:29 +0000 Subject: [PATCH] --- .classpath | 2 - .../org/wamblee/crawler/kiss/KissCrawler.java | 32 ++--- .../src/org/wamblee/crawler/kiss/Program.java | 120 +++++++++++------- 3 files changed, 85 insertions(+), 69 deletions(-) diff --git a/.classpath b/.classpath index 0aa75ddd..5ea6c605 100644 --- a/.classpath +++ b/.classpath @@ -8,7 +8,6 @@ - @@ -22,7 +21,6 @@ - diff --git a/crawler/kiss/src/org/wamblee/crawler/kiss/KissCrawler.java b/crawler/kiss/src/org/wamblee/crawler/kiss/KissCrawler.java index e8687d9d..2f47c695 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/KissCrawler.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/KissCrawler.java @@ -166,33 +166,27 @@ public class KissCrawler { List programs = matcher.getMatches(); EnumMap> messages = new EnumMap>( RecordingResult.class); - for (RecordingResult result: RecordingResult.values()) { + for (RecordingResult result : RecordingResult.values()) { messages.put(result, new ArrayList()); } for (Program program : programs) { - try { - Program.RecordingResult result = program.record(); - messages.get(result).add(program); - } catch (PageException e) { - LOG.info("Attempt to record " + program + " failed."); - messages.get(RecordingResult.ERROR).add(program); - } + Program.RecordingResult result = program.record(); + messages.get(result).add(program); } String msg = "Summary of KiSS crawler: \n\n\n"; - - - for (RecordingResult result: RecordingResult.values()) { - if ( messages.get(result).size() > 0 ) { - msg += result.getDescription() + "\n\n"; - for (Program program: messages.get(result)) { + + for (RecordingResult result : RecordingResult.values()) { + if (messages.get(result).size() > 0) { + msg += result.getDescription() + "\n\n"; + for (Program program : messages.get(result)) { msg += program + "\n"; } } } - if ( programs.size() == 0 ) { - msg += "No suitable programs found"; + if (programs.size() == 0) { + msg += "No suitable programs found"; } - + System.out.println(msg); sendMail(msg); } @@ -257,8 +251,8 @@ public class KissCrawler { Channel channel = createChannel(action.getName(), action .execute().getAction("right-now").execute()); channels.add(channel); - if ( SystemProperties.isDebugMode() ) { - break; // Only one channel is crawled. + if (SystemProperties.isDebugMode()) { + break; // Only one channel is crawled. } } catch (PageException e) { LOG.error("Could not create channel information for '" diff --git a/crawler/kiss/src/org/wamblee/crawler/kiss/Program.java b/crawler/kiss/src/org/wamblee/crawler/kiss/Program.java index e48ccae4..83531ff7 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/Program.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/Program.java @@ -16,62 +16,66 @@ package org.wamblee.crawler.kiss; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.wamblee.crawler.Action; import org.wamblee.crawler.Page; import org.wamblee.crawler.PageException; /** - * Represents a television program. + * Represents a television program. */ public class Program { + + private static final Log LOG = LogFactory.getLog(Program.class); /** - * Name of the record action on the program details page. + * Name of the record action on the program details page. */ private static final String RECORD_ACTION = "record"; - + private static final String RESULT_ELEM = "result"; - + public enum RecordingResult { - OK("Successfully recorded programs"), - DUPLICATE("Already recorded programs"), - CONFLICT("Programs in conflict with another recorded program"), - OLDSHOW("Programs that occurred in the past"), - ERROR("Programs that could not be recorded for technical reasons"); - - private String _description; - - private RecordingResult(String aDescription) { - _description = aDescription; - } - - public String getDescription() { - return _description; - } + OK("Successfully recorded programs"), DUPLICATE( + "Already recorded programs"), CONFLICT( + "Programs in conflict with another recorded program"), OLDSHOW( + "Programs that occurred in the past"), ERROR( + "Programs that could not be recorded for technical reasons"); + + private String _description; + + private RecordingResult(String aDescription) { + _description = aDescription; + } + + public String getDescription() { + return _description; + } }; /** - * Indent string to use for pretty printing. + * Indent string to use for pretty printing. */ private static final String INDENT = " "; /** - * Channel the program is on. + * Channel the program is on. */ private String _channel; /** - * Program name. + * Program name. */ private String _name; /** - * Program description. + * Program description. */ private String _description; /** - * Keywords or classification of the program. + * Keywords or classification of the program. */ private String _keywords; @@ -81,19 +85,27 @@ public class Program { private TimeInterval _interval; /** - * Action to execute to obtain program information and/or record the program. + * Action to execute to obtain program information and/or record the + * program. */ private Action _programInfo; /** - * Constructs the program. - * @param aChannel Channel name. - * @param aName Program name. - * @param aDescription Description. - * @param aKeywords Keywords/classification. - * @param aInterval Time interval. - * @param aProgramInfo Action to execute for detailed program information or - * for recording the page. + * Constructs the program. + * + * @param aChannel + * Channel name. + * @param aName + * Program name. + * @param aDescription + * Description. + * @param aKeywords + * Keywords/classification. + * @param aInterval + * Time interval. + * @param aProgramInfo + * Action to execute for detailed program information or for + * recording the page. */ public Program(String aChannel, String aName, String aDescription, String aKeywords, TimeInterval aInterval, Action aProgramInfo) { @@ -107,6 +119,7 @@ public class Program { /** * Gets the channel. + * * @return Channel. */ public String getChannel() { @@ -115,7 +128,8 @@ public class Program { /** * Gets the program name. - * @return Name. + * + * @return Name. */ public String getName() { return _name; @@ -123,14 +137,16 @@ public class Program { /** * Gets the description. - * @return Description. + * + * @return Description. */ public String getDescription() { return _description; } /** - * Gets the keywords/classification. + * Gets the keywords/classification. + * * @return Keywords/classification */ public String getKeywords() { @@ -138,8 +154,9 @@ public class Program { } /** - * Gets the time interval. - * @return Time interval. + * Gets the time interval. + * + * @return Time interval. */ public TimeInterval getInterval() { return _interval; @@ -147,21 +164,28 @@ public class Program { /** * Records the show. - * @return True iff an attempt could be made to record the page. - * @throws PageException In case of problems recording the page. + * + * @return Status describing the result of recording. */ - public RecordingResult record() throws PageException { - Action record = _programInfo.execute().getAction(RECORD_ACTION); - if (record == null) { - return RecordingResult.OLDSHOW; + public RecordingResult record() { + try { + Action record = _programInfo.execute().getAction(RECORD_ACTION); + if (record == null) { + return RecordingResult.OLDSHOW; + } + Page result = record.execute(); + return RecordingResult.valueOf(result.getContent().getText()); + } catch (PageException e) { + LOG.warn("Technical problem recording program: '" + this + "'", e); + return RecordingResult.ERROR; } - Page result = record.execute(); - return RecordingResult.valueOf(result.getContent().getText()); } /** - * Accepts the visitor. - * @param aVisitor Visitor. + * Accepts the visitor. + * + * @param aVisitor + * Visitor. */ public void accept(Visitor aVisitor) { aVisitor.visitProgram(this); -- 2.31.1