Update of /cvsroot/freevo/freevo/src/record
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13486/src/record
Modified Files:
server.py
Log Message:
Changes for new TV_SETTINGS:
-Support multiple recordings on different devices (ie: ivtv0 and dvb0).
-Use some finctions in tv.channels for retrieving settings and using lock files.
Index: server.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/record/server.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** server.py 14 Aug 2004 01:20:08 -0000 1.5
--- server.py 23 Aug 2004 01:33:16 -0000 1.6
***************
*** 8,11 ****
--- 8,16 ----
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.6 2004/08/23 01:33:16 rshortt
+ # Changes for new TV_SETTINGS:
+ # -Support multiple recordings on different devices (ie: ivtv0 and dvb0).
+ # -Use some finctions in tv.channels for retrieving settings and using lock files.
+ #
# Revision 1.5 2004/08/14 01:20:08 rshortt
# Get the channels list / epg from memory or disk cache.
***************
*** 78,82 ****
import util.popen3
from util.videothumb import snapshot
! from tv.channels import get_channels
def _debug_(text):
--- 83,88 ----
import util.popen3
from util.videothumb import snapshot
! from tv.channels import get_channels, is_locked, lock_device, unlock_device, \
! get_settings_by_id, get_settings_by_name
def _debug_(text):
***************
*** 89,99 ****
log.startLogging(open(logfile, 'a'))
- # XXX: change this to use tv0.lock (ivtvX/dvbX/etc..) where
- # it may need it.
- tv_lock_file = config.FREEVO_CACHEDIR + '/record'
class RecordServer(xmlrpc.XMLRPC):
# note: add locking and r/rw options to get/save funs
def getScheduledRecordings(self):
--- 95,107 ----
log.startLogging(open(logfile, 'a'))
class RecordServer(xmlrpc.XMLRPC):
+ def __init__(self):
+ xmlrpc.XMLRPC.__init__(self)
+ self.current_recordings = {}
+
+
# note: add locking and r/rw options to get/save funs
def getScheduledRecordings(self):
***************
*** 224,228 ****
if recording:
_debug_('stopping current recording')
! eh.post(Event('STOP_RECORDING', arg=prog))
return (TRUE, 'recording removed')
--- 232,236 ----
if recording:
_debug_('stopping current recording')
! self.stop_record(prog)
return (TRUE, 'recording removed')
***************
*** 350,354 ****
sr.removeProgram(currently_recording,
tv_util.getKey(currently_recording))
! eh.post(Event('STOP_RECORDING', arg=prog))
# XXX: Don't sleep (block) if we don't have to.
--- 358,362 ----
sr.removeProgram(currently_recording,
tv_util.getKey(currently_recording))
! self.stop_record(prog)
# XXX: Don't sleep (block) if we don't have to.
***************
*** 370,374 ****
sr.removeProgram(currently_recording,
tv_util.getKey(currently_recording))
! eh.post(Event('STOP_RECORDING', arg=prog))
# time.sleep(5)
_debug_('CALLED RECORD STOP 2')
--- 378,382 ----
sr.removeProgram(currently_recording,
tv_util.getKey(currently_recording))
! self.stop_record(prog)
# time.sleep(5)
_debug_('CALLED RECORD STOP 2')
***************
*** 414,418 ****
return
! eh.post(Event('RECORD', arg=rec_prog))
--- 422,450 ----
return
! self.record(rec_prog)
!
!
! def record(self, prog):
! post_to = None
! # expect types to be ordered by priority
! types = get_settings_by_id(prog.channel_id)
!
! for which in types:
! if is_locked(which):
! _debug_('Cannot record on %s, it is busy.' % which)
! continue
!
! else:
! post_to = which
! break
!
! if post_to:
! eh.post(Event('RECORD', arg=(prog, which)))
!
!
! def stop_record(self, prog):
! for t, p in self.current_recordings.items():
! if prog == p:
! eh.post(Event('STOP_RECORDING', arg=(p, t)))
***************
*** 941,954 ****
elif event == RECORD_START:
_debug_('Handling event RECORD_START')
! prog = event.arg
! open(tv_lock_file, 'w').close()
self.create_fxd(prog)
if config.VCR_PRE_REC:
util.popen3.Popen3(config.VCR_PRE_REC)
elif event == RECORD_STOP:
_debug_('Handling event RECORD_STOP')
! os.remove(tv_lock_file)
! prog = event.arg
try:
snapshot(prog.filename)
--- 973,992 ----
elif event == RECORD_START:
_debug_('Handling event RECORD_START')
! prog = event.arg[0]
! which = event.arg[1]
!
! lock_device(which)
self.create_fxd(prog)
+
if config.VCR_PRE_REC:
util.popen3.Popen3(config.VCR_PRE_REC)
+ self.current_recordings[which] = prog
+
elif event == RECORD_STOP:
_debug_('Handling event RECORD_STOP')
! prog = event.arg[0]
! which = event.arg[1]
! unlock_device(which)
try:
snapshot(prog.filename)
***************
*** 962,965 ****
--- 1000,1005 ----
util.popen3.Popen3(config.VCR_POST_REC)
+ del self.current_recordings[which]
+
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog