service_pool = { "wikipedia": WikipediaService("en"), "owm": WeatherForecastService("en"), "translation": TranslationService(), "mail": MailService(), "imdb": IMDBService(), "browser": BrowserService(), # "system":OSService(), # connect arduino for this service # "arduino":ArduinoControlService() } commands = load_json_data(COMMANDS) command_resolver = CommandResolver(sp, commands, 'en') executor = ServiceExecutor(service_pool) controller = Controller(recognizer, speaker, command_resolver, executor) if __name__ == "__main__": controller.initialize() logger.debug("NEW SESSION BEGINS") while True: try: logger.debug("New command session....") controller.inform() controller.listen_and_execute() except KeyboardInterrupt: logger.debug("SESSION ENDS NOW") controller.finalize()