Changeset b8c3505 for server/lib/gutenbach/server/player.py
- Timestamp:
- Jan 12, 2012, 2:35:57 AM (12 years ago)
- Branches:
- no-cups
- Children:
- c94fa32
- Parents:
- adf8cf0
- git-author:
- Jessica B. Hamrick <jhamrick@…> (01/12/12 02:35:57)
- git-committer:
- Jessica B. Hamrick <jhamrick@…> (01/12/12 02:35:57)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
server/lib/gutenbach/server/player.py
radf8cf0 rb8c3505 61 61 raise ValueError, "file handler is None" 62 62 63 self.mplayer_play()64 self._done = True 63 logger.info("playing file '%s'" % self.fh.name) 64 65 65 with self.lock: 66 if self.callback: 67 self.callback() 68 69 def mplayer_play(self): 70 if not self.isAlive(): 71 return 72 73 logger.info("playing file '%s'" % self.fh.name) 74 self._paused = False 66 self._paused = False 67 self._done = False 75 68 76 69 if self._dryrun: … … 81 74 while self.is_paused: 82 75 time.sleep(0.01) 83 return 76 77 else: 78 # open mplayer 79 with self.lock: 80 self.player = subprocess.Popen( 81 "/usr/bin/mplayer -really-quiet -slave %s" % self.fh.name, 82 shell=True, 83 stdin=subprocess.PIPE, 84 stderr=subprocess.PIPE, 85 stdout=subprocess.PIPE) 86 87 # wait for mplayer to finish 88 while True: 89 with self.lock: 90 playing = self.is_playing 91 if not playing: 92 break 93 time.sleep(0.1) 94 95 logger.info("mplayer finished with code %d" % self.player.returncode) 84 96 85 # open mplayer 97 # get output from mplayer and log it 98 with self.lock: 99 stderr = self.player.stderr.read() 100 stdout = self.player.stdout.read() 101 102 if stderr.strip() != "": 103 logger.error(stderr) 104 if stdout.strip() != "": 105 logger.debug(stdout) 106 86 107 with self.lock: 87 self.player = subprocess.Popen( 88 "/usr/bin/mplayer -really-quiet -slave %s" % self.fh.name, 89 shell=True, 90 stdin=subprocess.PIPE, 91 stderr=subprocess.PIPE, 92 stdout=subprocess.PIPE) 93 94 # wait for mplayer to finish 95 while True: 96 with self.lock: 97 playing = self.is_playing 98 if not playing: 99 break 100 time.sleep(0.1) 101 102 logger.info("mplayer finished with code %d" % self.player.returncode) 103 104 # get output from mplayer and log it 105 with self.lock: 106 stderr = self.player.stderr.read() 107 stdout = self.player.stdout.read() 108 109 if stderr.strip() != "": 110 logger.error(stderr) 111 if stdout.strip() != "": 112 logger.debug(stdout) 108 if self.callback: 109 self.callback() 110 self._done = True 113 111 114 112 def mplayer_pause(self): … … 133 131 else: 134 132 logger.warning("trying to stop non-playing job") 135 time.sleep(self._lag)133 self.join()
Note: See TracChangeset
for help on using the changeset viewer.