Exemple #1
0
    def serve(self, browser=True, port=8000):
        """
        Start a http server and rebuild on changes.
        """
        self._parallel = PARALLEL_DISABLED
        self._port = port

        self.clean()
        self.build()

        logger.info('Running webserver at http://127.0.0.1:%s for %s' %
                    (port, self.build_path))
        ipc.signal("server.didstart")
        logger.info('Type control-c to exit')

        os.chdir(self.build_path)

        self.listener = Listener(self.path,
                                 self._rebuild,
                                 ignore=self._rebuild_should_ignore)
        self.listener.run()

        self.server = WebServer(self.build_path, port=port)

        try:
            self.server.start()

            # if browser is True:
            #     webbrowser.open('http://127.0.0.1:%s' % port)

        except (KeyboardInterrupt, SystemExit):
            self.server.stop()
            logger.info("Bye")