Skip to content

Commit

Permalink
feat(compilers): patch pyodide input
Browse files Browse the repository at this point in the history
  • Loading branch information
hatemhosny committed Oct 16, 2023
1 parent eea5d73 commit 4cff525
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/livecodes/languages/python-wasm/lang-python-wasm-script.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,16 @@ window.addEventListener('load', async () => {
}
}

async function prepareEnv() {
const patchInput = `
from js import prompt
def input(p):
return prompt(p)
__builtins__.input = input
`.trim();
await livecodes.pyodide.runPythonAsync(patchInput);
}

async function loadPackagesInCode(code: string) {
const packages = [...livecodes.pyodide.pyodide_py.code.find_imports(code)];
const newPackages = packages.filter((p) => !(p in livecodes.pyodide.loadedPackages));
Expand All @@ -54,6 +64,7 @@ window.addEventListener('load', async () => {
async function evaluatePython(code: string) {
await pyodideReady;
await cleanUp();
await prepareEnv();
await loadPackagesInCode(code);
try {
livecodes.pyodideState = livecodes.pyodide.pyodide_py._state.save_state();
Expand Down

0 comments on commit 4cff525

Please sign in to comment.