Ignore:
Timestamp:
Jan 11, 2012, 8:36:27 PM (12 years ago)
Author:
Jessica B. Hamrick <jhamrick@…>
Branches:
no-cups
Children:
a2b0582
Parents:
09790fe
git-author:
Jessica B. Hamrick <jhamrick@…> (01/11/12 20:36:27)
git-committer:
Jessica B. Hamrick <jhamrick@…> (01/11/12 20:36:27)
Message:

Make status handling better in job.py

File:
1 edited

Legend:

Unmodified
Added
Removed
  • server/lib/gutenbach/server/player.py

    r33ea505 r345c476  
    1717            self.player = None
    1818            self._callback = None
     19            self._paused = False
    1920
    2021    @property
     
    2324            playing = self.player and self.player.poll() is None
    2425        return playing
     26
     27    @property
     28    def is_paused(self):
     29        with self.lock:
     30            paused = self.is_playing and self._paused
     31        return paused
     32
     33    @property
     34    def is_done(self):
     35        with self.lock:
     36            done = self.player and self.player.poll() is not None
     37        return done
    2538
    2639    @property
     
    4154                self.callback()
    4255
    43         self.fh.close()
    44         self.fh = None
    45 
    4656    def mplayer_play(self):
     57        if not self.isAlive():
     58            return
     59       
    4760        logger.info("playing file '%s'" % self.fh.name)
     61        self._paused = False
    4862       
    4963        # open mplayer
     
    6377                break
    6478            time.sleep(0.1)
    65            
     79
    6680        logger.info("mplayer finished with code %d" % self.player.returncode)
    6781
     
    7791
    7892    def mplayer_pause(self):
     93        if not self.isAlive():
     94            return
     95       
    7996        with self.lock:
    8097            if self.is_playing:
    8198                self.player.stdin.write("pause\n")
     99                self._paused = not(self._paused)
    82100               
    83101    def mplayer_stop(self):
     102        if not self.isAlive():
     103            return
     104       
    84105        with self.lock:
    85106            if self.is_playing:
Note: See TracChangeset for help on using the changeset viewer.