Update of /cvsroot/freevo/freevo/src/tv
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18862
Modified Files:
tvguide.py
Log Message:
better handling of very long programs
Index: tvguide.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/tv/tvguide.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** tvguide.py 13 Jun 2004 00:28:19 -0000 1.31
--- tvguide.py 20 Jun 2004 12:40:07 -0000 1.32
***************
*** 10,13 ****
--- 10,16 ----
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.32 2004/06/20 12:40:07 dischi
+ # better handling of very long programs
+ #
# Revision 1.31 2004/06/13 00:28:19 outlyer
# Fix a crash.
***************
*** 71,75 ****
import config, skin
! import event as em
# The Electronic Program Guide
--- 74,78 ----
import config, skin
! from event import *
# The Electronic Program Guide
***************
*** 137,141 ****
_debug_('TVGUIDE EVENT is %s' % event, 2)
! if event == em.MENU_CHANGE_STYLE:
if skin.toggle_display_style('tv'):
start_time = self.start_time
--- 140,144 ----
_debug_('TVGUIDE EVENT is %s' % event, 2)
! if event == MENU_CHANGE_STYLE:
if skin.toggle_display_style('tv'):
start_time = self.start_time
***************
*** 174,210 ****
self.menuw.refresh()
! if event == em.MENU_UP:
self.event_change_channel(-1)
self.menuw.refresh()
! elif event == em.MENU_DOWN:
self.event_change_channel(1)
self.menuw.refresh()
! elif event == em.MENU_LEFT:
self.event_change_program(-1)
self.menuw.refresh()
! elif event == em.MENU_RIGHT:
self.event_change_program(1)
self.menuw.refresh()
! elif event == em.MENU_PAGEUP:
self.event_change_channel(-self.n_items)
self.menuw.refresh()
! elif event == em.MENU_PAGEDOWN:
self.event_change_channel(self.n_items)
self.menuw.refresh()
! elif event == em.MENU_SUBMENU:
pass
! elif event == em.TV_START_RECORDING:
self.event_RECORD()
self.menuw.refresh()
! elif event == em.MENU_SELECT or event == em.PLAY:
tvlockfile = config.FREEVO_CACHEDIR + '/record'
--- 177,213 ----
self.menuw.refresh()
! if event == MENU_UP:
self.event_change_channel(-1)
self.menuw.refresh()
! elif event == MENU_DOWN:
self.event_change_channel(1)
self.menuw.refresh()
! elif event == MENU_LEFT:
self.event_change_program(-1)
self.menuw.refresh()
! elif event == MENU_RIGHT:
self.event_change_program(1)
self.menuw.refresh()
! elif event == MENU_PAGEUP:
self.event_change_channel(-self.n_items)
self.menuw.refresh()
! elif event == MENU_PAGEDOWN:
self.event_change_channel(self.n_items)
self.menuw.refresh()
! elif event == MENU_SUBMENU:
pass
! elif event == TV_START_RECORDING:
self.event_RECORD()
self.menuw.refresh()
! elif event == MENU_SELECT or event == PLAY:
tvlockfile = config.FREEVO_CACHEDIR + '/record'
***************
*** 227,231 ****
self.player('tv', self.selected.channel_id)
! elif event == em.PLAY_END:
self.show()
--- 230,234 ----
self.player('tv', self.selected.channel_id)
! elif event == PLAY_END:
self.show()
***************
*** 351,355 ****
! def event_change_program(self, value):
start_time = self.start_time
stop_time = self.stop_time
--- 354,358 ----
! def event_change_program(self, value, full_scan=False):
start_time = self.start_time
stop_time = self.stop_time
***************
*** 357,370 ****
last_prg = self.selected
- if last_prg.stop >= stop_time:
- start_time += (self.col_time * 60)
- stop_time += (self.col_time * 60)
-
- elif last_prg.start <= start_time:
- start_time -= (self.col_time * 60)
- stop_time -= (self.col_time * 60)
-
channel = self.guide.chan_dict[last_prg.channel_id]
! all_programs = self.guide.GetPrograms(start_time+1, stop_time-1, [
channel.id ])
# Current channel programs
--- 360,369 ----
last_prg = self.selected
channel = self.guide.chan_dict[last_prg.channel_id]
! if full_scan:
! all_programs = self.guide.GetPrograms(start_time-24*60*60,
stop_time+24*60*60,
! [ channel.id ])
! else:
! all_programs = self.guide.GetPrograms(start_time+1, stop_time-1, [
channel.id ])
# Current channel programs
***************
*** 379,389 ****
prg = None
if value > 0:
if i + value < len(programs):
prg = programs[i+value]
! else:
prg = programs[-1]
else:
! prg = programs[max(0, i+value)]
if prg.sub_title:
--- 378,398 ----
prg = None
+
if value > 0:
if i + value < len(programs):
prg = programs[i+value]
! elif full_scan:
! print 'Oops'
prg = programs[-1]
+ else:
+ return self.event_change_program(value, True)
else:
! if i+value >= 0:
! prg = programs[i+value]
! elif full_scan:
! print 'Oops'
! prg = programs[0]
! else:
! return self.event_change_program(value, True)
if prg.sub_title:
***************
*** 402,405 ****
--- 411,427 ----
to_info = CHAN_NO_DATA
+ # set new (better) start / stop times
+ extra_space = 0
+ if prg.stop - prg.start > self.col_time * 60:
+ extra_space = self.col_time * 60
+
+ while prg.start + extra_space >= stop_time:
+ start_time += (self.col_time * 60)
+ stop_time += (self.col_time * 60)
+
+ while prg.start + extra_space <= start_time:
+ start_time -= (self.col_time * 60)
+ stop_time -= (self.col_time * 60)
+
self.rebuild(start_time, stop_time, start_channel, prg)
-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog