X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fkiss%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2FProgram.java;h=89c3c88ce1704612eda0dc5044abac95474f6349;hb=8bdf7301b21a7824933fac2b75caf410b7dd5923;hp=2358180a405acb95e8f979746204b3886e3356c3;hpb=60e618c7e6c2bf721db4cca59a78d8c731e98882;p=utils diff --git a/crawler/kiss/src/org/wamblee/crawler/kiss/Program.java b/crawler/kiss/src/org/wamblee/crawler/kiss/Program.java index 2358180a..89c3c88c 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/Program.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/Program.java @@ -29,13 +29,25 @@ import org.wamblee.crawler.PageException; */ public class Program { + /** + * Lexicographical comparison of programs based on (time, title, channel). + * + */ public static class TimeSorter implements Comparator { /* (non-Javadoc) * @see java.util.Comparator#compare(T, T) */ public int compare(Program o1, Program o2) { - return o1.getInterval().getBegin().compareTo(o2.getInterval().getBegin()); + int value = o1.getInterval().getBegin().compareTo(o2.getInterval().getBegin()); + if ( value != 0 ) { + return value; + } + value = o1.getName().compareTo(o2.getName()); + if (value != 0 ) { + return value; + } + return o1.getChannel().compareTo(o2.getChannel()); } } @@ -197,6 +209,9 @@ public class Program { */ public RecordingResult record() { LOG.info("Recording " + this); + if ( SystemProperties.isRecordDisabled() ) { + return RecordingResult.OK; + } try { Action record = _programInfo.execute().getAction(RECORD_ACTION); if (record == null) {