def __init__(self): self._larch = Interpreter() self.input = InputText(prompt='test>', _larch=self._larch) self.symtable = self._larch.symtable self.symtable.set_symbol('_plotter.newplot', nullfunction) self.symtable.set_symbol('_plotter.plot', nullfunction) self.symtable.set_symbol('_plotter.oplot', nullfunction) self.symtable.set_symbol('_plotter.imshow', nullfunction) self.symtable.set_symbol('_plotter.plot_text', nullfunction) self.symtable.set_symbol('_plotter.plot_arrow', nullfunction) self.symtable.set_symbol('_plotter.xrfplot', nullfunction) self._larch.writer = sys.stdout = open('_stdout_', 'w')
def __init__(self, host='localhost', port=4966, logRequests=False, allow_none=True, keepalive_time=3 * 24 * 3600): self.out_buffer = [] self.larch = Interpreter(writer=self) self.input = InputText(prompt='', _larch=self.larch) self.larch.run_init_scripts() self.larch('_sys.client = group(keepalive_time=%f)' % keepalive_time) self.larch('_sys.wx = group(wxapp=None)') _sys = self.larch.symtable._sys _sys.color_exceptions = False _sys.client.last_event = int(time()) _sys.client.pid_server = int(os.getpid()) _sys.client.app = 'unknown' _sys.client.pid = 0 _sys.client.user = '******' _sys.client.machine = 'unknown' self.client = self.larch.symtable._sys.client SimpleXMLRPCServer.__init__(self, (host, port), logRequests=logRequests, allow_none=allow_none) self.register_introspection_functions() self.register_function(self.larch_exec, 'larch') for method in ('ls', 'chdir', 'cd', 'cwd', 'shutdown', 'set_keepalive_time', 'set_client_info', 'get_client_info', 'get_data', 'get_rawdata', 'get_messages', 'len_messages'): self.register_function(getattr(self, method), method) # sys.stdout = self self.finished = False signal.signal(signal.SIGINT, self.signal_handler) self.activity_thread = Thread(target=self.check_activity)