Author: duncan
Date: Sun Dec 31 10:53:03 2006
New Revision: 8879

Modified:
   branches/rel-1/freevo/src/helpers/recordserver.py
   branches/rel-1/freevo/src/tv/epg_types.py
   branches/rel-1/freevo/src/tv/tvguide.py

Log:
Added program overlap detection
The TvProgram.overlap is set when programs overlap


Modified: branches/rel-1/freevo/src/helpers/recordserver.py
==============================================================================
--- branches/rel-1/freevo/src/helpers/recordserver.py   (original)
+++ branches/rel-1/freevo/src/helpers/recordserver.py   Sun Dec 31 10:53:03 2006
@@ -128,6 +128,22 @@
         return 0
 
 
+    def findOverlaps(self, scheduledRecordings):
+        _debug_('in findOverlaps', 3)
+        progs = scheduledRecordings.getProgramList()
+        proglist = list(progs)
+        proglist.sort(self.progsTimeCompare)
+        for progitem in proglist:
+            progs[progitem].overlap = 0
+        for i in range(0, len(proglist)-1):
+            thisprog = progs[proglist[i]]
+            nextprog = progs[proglist[i+1]]
+            if thisprog.stop > nextprog.start:
+                thisprog.overlap = 1
+                nextprog.overlap = 1
+                _debug_('Overlap:\n%s\n%s' % (thisprog, nextprog))
+
+
     def findNextProgram(self):
         _debug_('in findNextProgram', 3)
 
@@ -176,6 +192,7 @@
         _debug_('in isPlayerRunning', 3)
         return (os.path.exists(config.FREEVO_CACHEDIR + '/playing'))
 
+
     # note: add locking and r/rw options to get/save funs
     def getScheduledRecordings(self):
         file_ver = None
@@ -233,9 +250,9 @@
             _debug_('SAVE: making a new ScheduledRecordings')
             scheduledRecordings = ScheduledRecordings()
     
+        self.findOverlaps(scheduledRecordings)
         _debug_('SAVE: saving cached file (%s)' % config.TV_RECORD_SCHEDULE)
-        _debug_("SAVE: ScheduledRecordings has %s items." % \
-                len(scheduledRecordings.programList))
+        _debug_("SAVE: ScheduledRecordings has %s items." % 
len(scheduledRecordings.programList))
         try:
             f = open(config.TV_RECORD_SCHEDULE, 'w')
         except IOError:

Modified: branches/rel-1/freevo/src/tv/epg_types.py
==============================================================================
--- branches/rel-1/freevo/src/tv/epg_types.py   (original)
+++ branches/rel-1/freevo/src/tv/epg_types.py   Sun Dec 31 10:53:03 2006
@@ -92,12 +92,13 @@
         begins = time.strftime('%a %Y-%m-%d %H:%M', bt)
         starts = time.strftime('%H:%M', st)
         ends = time.strftime('%H:%M', et)
+        overlaps = self.overlap and '*' or ' '
         try:
             channel_id = String(self.channel_id)
             title = String(self.title)
-            s = '%s->%s (%s)  %3s %s' % (begins, ends, starts, channel_id, 
title)
+            s = '%s->%s (%s)%s %3s %s' % (begins, ends, starts, overlaps, 
channel_id, title)
         except UnicodeEncodeError: #just in case
-            s = '%s->%s [%s] %3s %s' % (begins, ends, starts, self.channel_id, 
self.title)
+            s = '%s->%s [%s]%s %3s %s' % (begins, ends, starts, overlaps, 
self.channel_id, self.title)
         return s
 
 

Modified: branches/rel-1/freevo/src/tv/tvguide.py
==============================================================================
--- branches/rel-1/freevo/src/tv/tvguide.py     (original)
+++ branches/rel-1/freevo/src/tv/tvguide.py     Sun Dec 31 10:53:03 2006
@@ -182,7 +182,6 @@
             self.menuw.refresh()
 
         elif event == MENU_SUBMENU:
-            
             pass
 
         elif event == TV_START_RECORDING:

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to