Author: duncan
Date: Mon Oct 2 10:59:50 2006
New Revision: 8301
Modified:
branches/rel-1-5/freevo/src/helpers/recordserver.py
Log:
[ 1567502 ] Separate pre- and post-recording padding
Patch applied.
Modified: branches/rel-1-5/freevo/src/helpers/recordserver.py
==============================================================================
--- branches/rel-1-5/freevo/src/helpers/recordserver.py (original)
+++ branches/rel-1-5/freevo/src/helpers/recordserver.py Mon Oct 2 10:59:50 2006
@@ -140,6 +140,10 @@
# XXX: In the future we should have one lock per VideoGroup.
tv_lock_file = config.FREEVO_CACHEDIR + '/record'
+if config.TV_RECORD_PADDING_PRE == None:
+ config.TV_RECORD_PADDING_PRE = config.TV_RECORD_PADDING
+if config.TV_RECORD_PADDING_POST == None:
+ config.TV_RECORD_PADDING_POST = config.TV_RECORD_PADDING
def print_plugin_warning():
print '*************************************************'
@@ -391,7 +395,6 @@
rec_prog = None
cleaned = None
delay_recording = FALSE
- total_padding = 0
sr = self.getScheduledRecordings()
progs = sr.getProgramList()
@@ -415,14 +418,14 @@
except:
recording = FALSE
- if (prog.start - config.TV_RECORD_PADDING) <= now \
- and (prog.stop + config.TV_RECORD_PADDING) >= now \
+ if (prog.start - config.TV_RECORD_PADDING_PRE) <= now \
+ and (prog.stop + config.TV_RECORD_PADDING_POST) >= now \
and recording == FALSE:
# just add to the 'we want to record this' list
# then end the loop, and figure out which has priority,
# remember to take into account the full length of the shows
# and how much they overlap, or chop one short
- duration = int((prog.stop + config.TV_RECORD_PADDING ) - now -
10)
+ duration = int((prog.stop + config.TV_RECORD_PADDING_POST ) -
now - 10)
if duration < 10:
return
@@ -435,7 +438,7 @@
# has a higher priority.
if self.isProgAFavorite(prog)[0] and \
not self.isProgAFavorite(currently_recording)[0]
and \
- prog.stop + config.TV_RECORD_PADDING > now:
+ prog.stop + config.TV_RECORD_PADDING_POST > now:
_debug_('ignore %s' % String(prog))
continue
sr.removeProgram(currently_recording,
@@ -451,9 +454,10 @@
# Therefore we have overlapping paddings but not
# real stop / start times.
overlap = (currently_recording.stop + \
- config.TV_RECORD_PADDING) - \
- (prog.start - config.TV_RECORD_PADDING)
- if overlap <= (config.TV_RECORD_PADDING/2):
+ config.TV_RECORD_PADDING_POST) - \
+ (prog.start -
config.TV_RECORD_PADDING_PRE)
+ if overlap <= ((config.TV_RECORD_PADDING_PRE +
+ config.TV_RECORD_PADDING_POST)/4):
sr.removeProgram(currently_recording,
tv_util.getKey(currently_recording))
plugin.getbyname('RECORD').Stop()
@@ -477,7 +481,7 @@
for prog in progs.values():
# If the program is over remove the entry.
- if ( prog.stop + config.TV_RECORD_PADDING) < now:
+ if ( prog.stop + config.TV_RECORD_PADDING_POST) < now:
_debug_('found a program to clean')
cleaned = TRUE
del progs[tv_util.getKey(prog)]
@@ -622,7 +626,7 @@
for fav in favs.values():
- if prog.title.lower() == fav.title.lower():
+ if prog.title.lower().find(fav.title.lower()) >= 0:
if fav.channel ==
tv_util.get_chan_displayname(prog.channel_id) \
or fav.channel == 'ANY':
if Unicode(fav.dow) == Unicode(dow) or Unicode(fav.dow) ==
u'ANY':
@@ -705,33 +709,18 @@
# if prog.start <= last and favorite:
(isFav, favorite) = self.isProgAFavorite(prog, favs)
if prog.start <= last and isFav:
- # do not yet remove programs that are currently being recorded:
- try:
- rec_now = prog.isRecording
- except:
- rec_now = False
-
- if rec_now:
- _debug_("not removing currently recorded favorite")
- else:
+ # do not yet remove programs currently being recorded:
+ isRec = hasattr(prog, "isRecording") and prog.isRecording
+ if not isRec:
self.removeScheduledRecording(prog)
for ch in guide.chan_list:
for prog in ch.programs:
(isFav, favorite) = self.isProgAFavorite(prog, favs)
- if isFav:
- # do not schedule favorites that are currently being
recorded:
- try:
- rec_now = prog.isRecording
- except:
- rec_now = False
-
- if rec_now:
- _debug_("not scheduling currently recorded favorite")
- else:
- prog.isFavorite = favorite
- self.scheduleRecording(prog)
-
+ isRec = hasattr(prog, "isRecording") and prog.isRecording
+ if isFav and not isRec:
+ prog.isFavorite = favorite
+ self.scheduleRecording(prog)
return (TRUE, 'favorites schedule updated')
-------------------------------------------------------------------------
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