def video_play(self, hash_id): """start omxplayer and play file""" # get video filename item = Movie.query.filter_by(hash_id=hash_id).first() if not item: return create_jsonMessage(403, hash_id) filename = item.location # check if videofile exists if not os.path.isfile(filename): return create_jsonMessage(404, filename) # check if not already playing and exit if so curPlayer = self.get_currentPlayer() if curPlayer is not None: _ = self.exit_video() # start playing video try: newPlayer = pexpect.spawn(OMXPlayer.CMD, OMXPlayer.ARGS + [filename]) except pexpect.ExceptionPexpect: return create_jsonMessage(512, OMXPlayer.CMD) time.sleep(0.5) # make sure omxplayer not immediately exits if not newPlayer.isalive(): return create_jsonMessage(513) self.set_currentPlayer(newPlayer) return create_jsonMessage(210, filename)
def run_command(self, cmd, s): """run command on player object :cmd: command to run (from OMXPlayer.KEYS :s: statuscode """ player = self.get_currentPlayer() if not player: return create_jsonMessage(406) player.send(OMXPlayer.KEYS[cmd]) return create_jsonMessage(s)