def _send(self, command: str) -> Union[str, None]: if not self.game_running: return None if len(command) == 0: command = " " c_command = ffi.new('char[]', command.encode('utf-8')) result = lib.communicate(self._names_struct, c_command) if result == ffi.NULL: self.close() return None result = ffi.gc(result, lib.free) return ffi.string(result).decode('utf-8')
def _send(self, command: str) -> Union[str, None]: """ Send a command directly to the interpreter. This method will not affect the internal state variable. """ if not self.game_running: return None if len(command) == 0: command = " " c_command = ffi.new('char[]', command.encode('utf-8')) result = lib.communicate(self._names_struct, c_command) if result == ffi.NULL: self.close() return None result = ffi.gc(result, lib.free) return ffi.string(result).decode('utf-8')