diff --git a/core/package-lock.json b/core/package-lock.json index 4bac6d11..8a482846 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,12 +1,12 @@ { "name": "@pyscript/core", - "version": "0.6.36", + "version": "0.6.39", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@pyscript/core", - "version": "0.6.36", + "version": "0.6.39", "license": "APACHE-2.0", "dependencies": { "@ungap/with-resolvers": "^0.1.0", diff --git a/core/package.json b/core/package.json index 51601f7d..2645078d 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@pyscript/core", - "version": "0.6.36", + "version": "0.6.39", "type": "module", "description": "PyScript", "module": "./index.js", diff --git a/core/src/plugins/py-game.js b/core/src/plugins/py-game.js index e95b0851..7ceb7652 100644 --- a/core/src/plugins/py-game.js +++ b/core/src/plugins/py-game.js @@ -11,6 +11,17 @@ import { getText } from "../fetch.js"; const progress = createProgress("py-game"); +const inputPatch = ` +import builtins +def input(prompt=""): + import js + return js.prompt(prompt) + +builtins.input = input +del builtins +del input +`; + let toBeWarned = true; const hooks = { @@ -45,7 +56,7 @@ const hooks = { progress, wrap.interpreter, config, - url || location.href, + url ? new URL(url, location.href).href : location.href, ); } @@ -63,6 +74,7 @@ const hooks = { }); await wrap.interpreter.runPythonAsync(stdlib); + wrap.interpreter.runPython(inputPatch); let code = dedent(script.textContent); if (script.src) code = await fetch(script.src).then(getText); diff --git a/core/tests/manual/game/config.toml b/core/tests/manual/game/config.toml new file mode 100644 index 00000000..e69de29b diff --git a/core/tests/manual/game/index.html b/core/tests/manual/game/index.html index 27eb4db4..17489f38 100644 --- a/core/tests/manual/game/index.html +++ b/core/tests/manual/game/index.html @@ -8,7 +8,7 @@ - +
pygame.examples.aliens