docs.sheetjs.com/tests/engines/duktape-python.sh
2026-01-22 01:59:11 -05:00

36 lines
938 B
Bash
Executable File

#!/bin/bash
# https://docs.sheetjs.com/docs/demos/engines/duktape#python-demo
cd /tmp
rm -rf sheetjs-duk-python
mkdir sheetjs-duk-python
cd sheetjs-duk-python
curl -LO https://duktape.org/duktape-2.7.0.tar.xz
tar -xJf duktape-2.7.0.tar.xz
cd duktape-2.7.0
make -f Makefile.sharedlibrary
cd ..
OS="$(uname -s)"
case "$OS" in
Darwin) LIB_NAME="libduktape.207.20700.so" ;;
Linux) LIB_NAME="libduktape.so.207.20700" ;;
*) echo "Unsupported OS: $OS"; exit 1 ;;
esac
cp "duktape-2.7.0/$LIB_NAME" .
curl -LO https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/shim.min.js
curl -LO https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js
curl -LO https://docs.sheetjs.com/pres.numbers
curl -LO https://docs.sheetjs.com/duk/SheetJSDuk.py
sed "s#libduktape.207.20700.so#$LIB_NAME#g" SheetJSDuk.py > SheetJSDuk.py.tmp
mv SheetJSDuk.py.tmp SheetJSDuk.py
python3 SheetJSDuk.py pres.numbers; echo $?
npx -y xlsx-cli sheetjsw.xlsb