Update of /cvsroot/freevo/freevo/src/record
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29541/src/record

Modified Files:
        process.py 
Log Message:
replace call_later with a OneShotTimer

Index: process.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/record/process.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** process.py  28 Jun 2005 15:56:09 -0000      1.5
--- process.py  17 Jul 2005 12:44:39 -0000      1.6
***************
*** 38,46 ****
  
  # kaa imports
! import kaa.notifier
  
  # freevo imports
  import config
- from util.callback import *
  
  # record imports
--- 38,45 ----
  
  # kaa imports
! from kaa.notifier import Process, OneShotTimer
  
  # freevo imports
  import config
  
  # record imports
***************
*** 74,79 ****
          # suffix for filename
          self.suffix = '.suffix'
  
! 
      def get_cmd(self, rec):
          """
--- 73,82 ----
          # suffix for filename
          self.suffix = '.suffix'
+         # timer for scheduling
+         self.schedule_timer = OneShotTimer(self.schedule)
+         self.start_timer = OneShotTimer(self.start)
+         self.stop_timer = OneShotTimer(self.stop)
  
!         
      def get_cmd(self, rec):
          """
***************
*** 97,101 ****
      def record(self, recording, device, start, stop):
          self.recordings.append(recording)
!         call_later(self.schedule)
  
  
--- 100,104 ----
      def record(self, recording, device, start, stop):
          self.recordings.append(recording)
!         self.schedule(True)
  
  
***************
*** 105,109 ****
              log.info('%s: remove running recording' % self.name)
              self.stop()
!         call_later(self.schedule)
  
  
--- 108,112 ----
              log.info('%s: remove running recording' % self.name)
              self.stop()
!         self.schedule(True)
  
  
***************
*** 116,120 ****
      
  
!     def schedule(self):
          # sort by start time
          self.recordings.sort(self.__sort)
--- 119,127 ----
      
  
!     def schedule(self, later=False):
!         if later:
!             self.schedule_timer.start(0)
!             return
!         
          # sort by start time
          self.recordings.sort(self.__sort)
***************
*** 135,144 ****
              # schedule first recording
              msecs = self.get_time(rec.scheduled_start, 'next recording')
!             call_later(msecs, self.start)
  
          # get stop timer
          msecs = self.get_time(rec.scheduled_stop, 'stop timer')
          # schedule stop timer
!         call_later(msecs, self.stop)
          return False
  
--- 142,151 ----
              # schedule first recording
              msecs = self.get_time(rec.scheduled_start, 'next recording')
!             self.start_timer.start(msecs)
  
          # get stop timer
          msecs = self.get_time(rec.scheduled_stop, 'stop timer')
          # schedule stop timer
!         self.stop_timer.start(msecs)
          return False
  
***************
*** 161,165 ****
          # get the cmd for the childapp
          cmd = self.get_cmd(rec)
!         self.app = kaa.notifier.Process(cmd, callback = self.stopped)
          return False
  
--- 168,172 ----
          # get the cmd for the childapp
          cmd = self.get_cmd(rec)
!         self.app = Process(cmd, callback = self.stopped)
          return False
  
***************
*** 183,187 ****
          # maybe the app stopped without 'stop' being called, remove
          # the callback, just in case
!         remove_callback(self.stop)
  
          # get current recording
--- 190,194 ----
          # maybe the app stopped without 'stop' being called, remove
          # the callback, just in case
!         self.stop_timer.stop()
  
          # get current recording
***************
*** 198,200 ****
  
          # schedule next recording
!         call_later(self.schedule)
--- 205,207 ----
  
          # schedule next recording
!         self.schedule(True)



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to