diff --git a/plugins/flutter/src/pocketpy.h b/plugins/flutter/src/pocketpy.h index 18761946..342def26 100644 --- a/plugins/flutter/src/pocketpy.h +++ b/plugins/flutter/src/pocketpy.h @@ -2553,42 +2553,6 @@ class dict: a.append(k.__json__()+': '+v.__json__()) return '{'+ ', '.join(a) + '}' -import ffi - -def input(): - return ffi.input() - -class FileIO: - def __init__(self, path, mode): - assert type(path) is str - assert type(mode) is str - assert mode in ['r', 'w', 'rt', 'wt'] - self.path = path - self.mode = mode - self.fp = ffi.fopen(path, mode) - - def read(self): - assert self.mode in ['r', 'rt'] - return ffi.fread(self.fp) - - def write(self, s): - assert self.mode in ['w', 'wt'] - assert type(s) is str - ffi.fwrite(self.fp, s) - - def close(self): - ffi.fclose(self.fp) - - def __enter__(self): - pass - - def __exit__(self): - self.close() - -def open(path, mode='r'): - return FileIO(path, mode) - - class set: def __init__(self, iterable=None): iterable = iterable or [] @@ -6674,14 +6638,14 @@ extern "C" { __EXPORT /// Get a global variable of a virtual machine. /// - /// Return a json representing the result. + /// Return __repr__ of the result. /// If the variable is not found, return `nullptr`. char* pkpy_vm_get_global(VM* vm, const char* name){ auto it = vm->_main->attribs.find(name); if(it == vm->_main->attribs.end()) return nullptr; try{ - _Str _json = vm->PyStr_AS_C(vm->asJson(it->second)); - return strdup(_json.c_str()); + _Str _repr = vm->PyStr_AS_C(vm->asRepr(it->second)); + return strdup(_repr.c_str()); }catch(...){ return nullptr; } @@ -6690,14 +6654,14 @@ extern "C" { __EXPORT /// Evaluate an expression. /// - /// Return a json representing the result. + /// Return __repr__ of the result. /// If there is any error, return `nullptr`. char* pkpy_vm_eval(VM* vm, const char* source){ PyVarOrNull ret = vm->exec(source, "", EVAL_MODE); if(ret == nullptr) return nullptr; try{ - _Str _json = vm->PyStr_AS_C(vm->asJson(ret)); - return strdup(_json.c_str()); + _Str _repr = vm->PyStr_AS_C(vm->asRepr(ret)); + return strdup(_repr.c_str()); }catch(...){ return nullptr; } @@ -6729,9 +6693,6 @@ extern "C" { __add_module_math(vm); __add_module_re(vm); __add_module_dis(vm); - - - vm->new_module("ffi"); // add builtins | no exception handler | must succeed _Code code = vm->compile(__BUILTINS_CODE, "", EXEC_MODE); diff --git a/plugins/godot/godot-cpp b/plugins/godot/godot-cpp index 5a12c3df..de94780f 160000 --- a/plugins/godot/godot-cpp +++ b/plugins/godot/godot-cpp @@ -1 +1 @@ -Subproject commit 5a12c3df42bb5ed9ddb14aba4b6807021f101f77 +Subproject commit de94780fd098c376d61f84a6b1655758f9b74c17 diff --git a/src/pocketpy.h b/src/pocketpy.h index 94a5a65a..58d14a6e 100644 --- a/src/pocketpy.h +++ b/src/pocketpy.h @@ -710,14 +710,14 @@ extern "C" { __EXPORT /// Get a global variable of a virtual machine. /// - /// Return a json representing the result. + /// Return __repr__ of the result. /// If the variable is not found, return `nullptr`. char* pkpy_vm_get_global(VM* vm, const char* name){ auto it = vm->_main->attribs.find(name); if(it == vm->_main->attribs.end()) return nullptr; try{ - _Str _json = vm->PyStr_AS_C(vm->asJson(it->second)); - return strdup(_json.c_str()); + _Str _repr = vm->PyStr_AS_C(vm->asRepr(it->second)); + return strdup(_repr.c_str()); }catch(...){ return nullptr; } @@ -726,14 +726,14 @@ extern "C" { __EXPORT /// Evaluate an expression. /// - /// Return a json representing the result. + /// Return __repr__ of the result. /// If there is any error, return `nullptr`. char* pkpy_vm_eval(VM* vm, const char* source){ PyVarOrNull ret = vm->exec(source, "", EVAL_MODE); if(ret == nullptr) return nullptr; try{ - _Str _json = vm->PyStr_AS_C(vm->asJson(ret)); - return strdup(_json.c_str()); + _Str _repr = vm->PyStr_AS_C(vm->asRepr(ret)); + return strdup(_repr.c_str()); }catch(...){ return nullptr; }