Ejemplo n.º 1
0
def main():
    logger.info("Starting {0}".format(version_string))

    try:
        gem.runite.context = gem.runite.Context()
        gem.runite.context.unpack(config.game_data['data_file'], config.game_data['index_files'])

        plugin_loader = PluginLoader(plugin_path)
        plugin_loader.load()

        # init service listeners
        # inserts an engine.Start hook to launch listeners
        listeners = ServiceListeners()

        # start the engine
        engine = gem.engine.Engine()
        engine.start()
        signal_handler.setup_exit_handler(engine.stop)

        logger.notice("Finished engine initialization")
    except Exception as e:
        logger.error("Startup failed: {0}".format(e))

    if args.no_console:
        logger.notice("Press Control-D to toggle the interactive console")
        while True:
            line = sys.stdin.readline()
            if not line: # readline will return "" on EOF
                interactive_console()
    else:
        while True:
            pass
Ejemplo n.º 2
0
    def run(self):
        plugin_loader = PluginLoader()
        plugin_directory = PluginDirectory()
        commands = plugin_loader.load(plugin_directory)
        interpreter = Interpreter(commands)
 
        while True:
            print interpreter.interpret(raw_input())
Ejemplo n.º 3
0
    def run(self):
        plugin_loader = PluginLoader()
        plugin_directory = PluginDirectory()
        commands = plugin_loader.load(plugin_directory)
        self.interpreter = Interpreter(commands)
        poller = Poller(self.input_source, self.input_evaluator)

        poller.poll()
Ejemplo n.º 4
0
    def run(self):
        plugin_loader = PluginLoader()
        plugin_directory = PluginDirectory('core')
        commands = plugin_loader.load(plugin_directory)

        self._welcome()

        self._init_completion(commands)
        
        self.interpreter = Interpreter(commands)
        
        poller = Poller(self.input_source, self.input_evaluator)
        poller.poll()
Ejemplo n.º 5
0
    def run(self):
        plugin_loader = PluginLoader()
        plugin_directory = PluginDirectory()
        commands = plugin_loader.load(plugin_directory)
        interpreter = Interpreter(commands)

        try:
            while True:
                input = self.input()
                result = interpreter.interpret(input)

                if result is not None:
                    if isinstance(result, str):
                        lines = result.split("\n")

                        if len(lines) > 1:
                            for line in lines:
                                self.output(line)
                        else:
                            self.output(result)
                    else:
                        self.output(result)
        except SystemExit:
            pass