(no commit message)
[utils] / crawler / kiss / src / org / wamblee / crawler / kiss / Program.java
index 2358180a405acb95e8f979746204b3886e3356c3..89c3c88ce1704612eda0dc5044abac95474f6349 100644 (file)
@@ -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<Program> { 
      
         /* (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) {