示例#1
0
    def __init__(self, config, core):
        super(MpdFrontend, self).__init__()

        self.hostname = network.format_hostname(config['mpd']['hostname'])
        self.port = config['mpd']['port']

        self.zeroconf_name = config['mpd']['zeroconf']
        self.zeroconf_service = None

        try:
            network.Server(
                self.hostname, self.port,
                protocol=session.MpdSession,
                protocol_kwargs={
                    'config': config,
                    'core': core,
                },
                max_connections=config['mpd']['max_connections'],
                timeout=config['mpd']['connection_timeout'])
        except IOError as error:
            raise exceptions.FrontendError(
                'MPD server startup failed: %s' %
                encoding.locale_decode(error))

        logger.info('MPD server running at [%s]:%s', self.hostname, self.port)
示例#2
0
 def run(self):
     try:
         self._running = True
         while self._running:
             # poll for a tag. by default poll 5 times every 0.5 sec.
             # the terminate function should avoid that, but there
             # seems to be a catch after some time (or hardware issue?).
             tag = self.clf.connect(rdwr={
                 'on-connect': self.__on_connect,
                 'on-release': self.__on_release
             },
                                    terminate=self.status)
             # sleep for 0.5 seconds to avoid a direct reopen on serial
             # interfaces (e.g. on RasPi) leading to device blocking
             # timeouts...
             # (0.5s is just the same as nfcpy does by default...)
             # NOTE: absolute import necessary, hit exceptions
             # about not known functions when shutting down mopidy.
             time.sleep(0.5)
     except Exception:
         raise exceptions.FrontendError("Error in NFC connect():\n" +
                                        traceback.format_exc())
     finally:
         self.clf.close()
         logger.debug(__logprefix__ + 'reader shut down')
示例#3
0
    def __init__(self, config, core):
        super().__init__()

        self.hostname = network.format_hostname(config["http"]["hostname"])
        self.port = config["http"]["port"]
        tornado_hostname = config["http"]["hostname"]
        if tornado_hostname == "::":
            tornado_hostname = None

        try:
            logger.debug("Starting HTTP server")
            sockets = tornado.netutil.bind_sockets(self.port, tornado_hostname)
            self.server = HttpServer(
                config=config,
                core=core,
                sockets=sockets,
                apps=self.apps,
                statics=self.statics,
            )
        except OSError as exc:
            raise exceptions.FrontendError(
                f"HTTP server startup failed: {exc}")

        self.zeroconf_name = config["http"]["zeroconf"]
        self.zeroconf_http = None
        self.zeroconf_mopidy_http = None
示例#4
0
    def __init__(self, config, core):
        super(HttpFrontend, self).__init__()

        self.hostname = network.format_hostname(
            config['mopidy_bamp']['hostname'])
        self.port = config['mopidy_bamp']['port']
        tornado_hostname = config['mopidy_bamp']['hostname']
        if tornado_hostname == '::':
            tornado_hostname = None

        try:
            logger.debug('Starting HTTP server')
            sockets = tornado.netutil.bind_sockets(self.port, tornado_hostname)
            self.server = HttpServer(config=config,
                                     core=core,
                                     sockets=sockets,
                                     apps=self.apps,
                                     statics=self.statics)
        except IOError as error:
            raise exceptions.FrontendError('HTTP server startup failed: %s' %
                                           encoding.locale_decode(error))

        self.zeroconf_name = config['mopidy_bamp']['zeroconf']
        self.zeroconf_http = None
        self.zeroconf_mopidy_http = None
 def get_display_surface(self, size):
     try:
         if self.fullscreen:
             self.screen = pygame.display.set_mode(size, pygame.FULLSCREEN)
         else:
             self.screen = pygame.display.set_mode(size, pygame.RESIZABLE)
     except Exception:
         raise exceptions.FrontendError("Error on display init:\n" +
                                        traceback.format_exc())
示例#6
0
    def __init__(self, devicepath, onread_callback, onrelease_callback):
        self.devicepath = devicepath
        self.onread_callback = onread_callback
        self.onrelease_callback = onrelease_callback
        self._running = False

        try:
            self.clf = nfc.ContactlessFrontend(self.devicepath)
        except Exception:
            raise exceptions.FrontendError("Error on nfc reader init:\n" +
                                           traceback.format_exc())
示例#7
0
    def _setup_server(self, config, core):
        try:
            network.Server(self.hostname,
                           self.port,
                           protocol=session.MpdSession,
                           protocol_kwargs={
                               'config': config,
                               'core': core,
                               'uri_map': self.uri_map,
                           },
                           max_connections=config['mpd']['max_connections'],
                           timeout=config['mpd']['connection_timeout'])
        except IOError as error:
            raise exceptions.FrontendError('MPD server startup failed: %s' %
                                           encoding.locale_decode(error))

        logger.info('MPD server running at [%s]:%s', self.hostname, self.port)
示例#8
0
    def _setup_server(self, config, core):
        try:
            server = network.Server(
                self.hostname,
                self.port,
                protocol=session.MpdSession,
                protocol_kwargs={
                    "config": config,
                    "core": core,
                    "uri_map": self.uri_map,
                },
                max_connections=config["mpd"]["max_connections"],
                timeout=config["mpd"]["connection_timeout"],
            )
        except OSError as exc:
            raise exceptions.FrontendError(f"MPD server startup failed: {exc}")

        logger.info(
            f"MPD server running at {network.format_address(server.address)}")

        return server