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