Exemplo n.º 1
0
    def _scan(self):

        while True:
            data = self.cam.readline()
            qrcode = str(data)[8:]
            if qrcode:
                self.qrcode = qrcode.rstrip()
                logger.info('scanned {}'.format(self.qrcode))
                self._handlecmd(self.qrcode)
Exemplo n.º 2
0
    def __init__(self,
                 hostname='gijstereo.local',
                 logger=None):  #'192.168.178.59'):

        self.playload = None

        if not logger:
            logger = logging.getLogger()

        # if the Volumio host is not available, wait 5 seconds and try again
        # current timeout is 30 seconds
        if not host_available(hostname):
            attempts = 0
            sleep(5)
            while (not host_available(hostname)) and (attempts < 6):
                attempts += 1
                logger.info(
                    'waiting for host {} to be available'.format(hostname))
                sleep(5)

        if host_available(hostname):
            sio = SocketIO(hostname)

            if sio.connected:
                self.connected = True
                logger.info('connected to {}'.format(hostname))

                sio.on('pushState', self._on_re_state)
                sio.on('pushBrowseLibrary', self._on_re_browse)
                self.sio = sio
                self.state()
            else:
                logger.error('failed to connect to {}'.format(server))
        else:
            logger.error('failed to start, host {} was not found alive'.format(
                hostname))
Exemplo n.º 3
0
 def _handlecmd(self, cmd):
     if cmd.startswith('cmd:'):
         logger.info('process command')
         task = cmd.split(':')[1]
         if task == 'toggle':
             self.stereo.toggle()
         elif task == 'volume':
             mode, task, set = cmd.split(':')[:3]
             if set in ['+', '-']:
                 self.stereo.volume(set)
             else:
                 self.stereo.volume(int(set))
         elif task == 'next':
             self.stereo.next()
         elif task == 'previous':
             self.stereo.previous()
         else:
             logger.error("command '{}' not understood".format(cmd))
     elif cmd.startswith('spotify:'):
         self.stereo.playsong(cmd)
     elif cmd.startswith('lib:'):
         self.stereo.playsong(cmd)
     else:
         logger.error("don't know what to do with command '{}'".format(cmd))
Exemplo n.º 4
0
 def startscanner(self):
     self.cam = os.popen('/usr/bin/zbarcam --nodisplay --prescale=300x250',
                         'r')
     try:
         self._scan()
     except KeyboardInterrupt:
         logger.info('Stopping scanner...')
     finally:
         self.stereo.disconnect()
         if not self.stereo.connected:
             logger.info('disconnected from server')
             logger.info('------------------------')
         self.cam.close()
Exemplo n.º 5
0
 def _on_re_browse(self, data):
     logger.info('received browsing results')
Exemplo n.º 6
0
        while True:
            data = self.cam.readline()
            qrcode = str(data)[8:]
            if qrcode:
                self.qrcode = qrcode.rstrip()
                logger.info('scanned {}'.format(self.qrcode))
                self._handlecmd(self.qrcode)

    def startscanner(self):
        self.cam = os.popen('/usr/bin/zbarcam --nodisplay --prescale=300x250',
                            'r')
        try:
            self._scan()
        except KeyboardInterrupt:
            logger.info('Stopping scanner...')
        finally:
            self.stereo.disconnect()
            if not self.stereo.connected:
                logger.info('disconnected from server')
                logger.info('------------------------')
            self.cam.close()


if __name__ == '__main__':

    logger.info("Start logging...")

    s = Scanner(logger=logger)
    s.startscanner()