示例#1
0
    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)
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
    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)