|
@@ -40,6 +40,23 @@ async function loadPyodideAndPackages(packages: string[] = []) {
|
|
packages: ['micropip']
|
|
packages: ['micropip']
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ let mountDir = '/mnt';
|
|
|
|
+ self.pyodide.FS.mkdirTree(mountDir);
|
|
|
|
+ // self.pyodide.FS.mount(self.pyodide.FS.filesystems.IDBFS, {}, mountDir);
|
|
|
|
+
|
|
|
|
+ // // Load persisted files from IndexedDB (Initial Sync)
|
|
|
|
+ // await new Promise<void>((resolve, reject) => {
|
|
|
|
+ // self.pyodide.FS.syncfs(true, (err) => {
|
|
|
|
+ // if (err) {
|
|
|
|
+ // console.error('Error syncing from IndexedDB:', err);
|
|
|
|
+ // reject(err);
|
|
|
|
+ // } else {
|
|
|
|
+ // console.log('Successfully loaded from IndexedDB.');
|
|
|
|
+ // resolve();
|
|
|
|
+ // }
|
|
|
|
+ // });
|
|
|
|
+ // });
|
|
|
|
+
|
|
const micropip = self.pyodide.pyimport('micropip');
|
|
const micropip = self.pyodide.pyimport('micropip');
|
|
|
|
|
|
// await micropip.set_index_urls('https://pypi.org/pypi/{package_name}/json');
|
|
// await micropip.set_index_urls('https://pypi.org/pypi/{package_name}/json');
|
|
@@ -66,6 +83,19 @@ self.onmessage = async (event) => {
|
|
self.result = processResult(self.result);
|
|
self.result = processResult(self.result);
|
|
|
|
|
|
console.log('Python result:', self.result);
|
|
console.log('Python result:', self.result);
|
|
|
|
+
|
|
|
|
+ // Persist any changes to IndexedDB
|
|
|
|
+ // await new Promise<void>((resolve, reject) => {
|
|
|
|
+ // self.pyodide.FS.syncfs(false, (err) => {
|
|
|
|
+ // if (err) {
|
|
|
|
+ // console.error('Error syncing to IndexedDB:', err);
|
|
|
|
+ // reject(err);
|
|
|
|
+ // } else {
|
|
|
|
+ // console.log('Successfully synced to IndexedDB.');
|
|
|
|
+ // resolve();
|
|
|
|
+ // }
|
|
|
|
+ // });
|
|
|
|
+ // });
|
|
} catch (error) {
|
|
} catch (error) {
|
|
self.stderr = error.toString();
|
|
self.stderr = error.toString();
|
|
}
|
|
}
|