blueloveTH hace 3 años
padre
commit
e73d8ba5a2
Se han modificado 3 ficheros con 13 adiciones y 52 borrados
  1. 6 45
      plugins/flutter/src/pocketpy.h
  2. 1 1
      plugins/godot/godot-cpp
  3. 6 6
      src/pocketpy.h

+ 6 - 45
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>", 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, "<builtins>", EXEC_MODE);

+ 1 - 1
plugins/godot/godot-cpp

@@ -1 +1 @@
-Subproject commit 5a12c3df42bb5ed9ddb14aba4b6807021f101f77
+Subproject commit de94780fd098c376d61f84a6b1655758f9b74c17

+ 6 - 6
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>", 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;
         }