modified index.js and snakeapi

This commit is contained in:
yoshi 2025-05-02 00:12:05 -07:00
parent 5419e3f479
commit e64478b9bc
5 changed files with 86127 additions and 105 deletions

View file

@ -1,17 +1,29 @@
#!/usr/bin/env bash
set -eux
NOTEBOOK_DIR="notebooks"
mkdir -p "${NOTEBOOK_DIR}"
# fetch latest notebook via prefix sync
# sync notebooks from S3
aws --endpoint-url "$AWS_ENDPOINT_URL_S3" --region "$AWS_REGION" \
s3 sync "s3://$BUCKET_NAME/$INSTANCE_PREFIX/notebooks/" "${NOTEBOOK_DIR}/"
s3 sync "s3://$COMMON_BUCKET/$INSTANCE_PREFIX/notebooks/" "${NOTEBOOK_DIR}/"
# pick latest .ipynb and normalize name
latest_ipynb=$(ls -t "${NOTEBOOK_DIR}"/*.ipynb | head -1)
if [ -n "$latest_ipynb" ]; then
mv "$latest_ipynb" "${NOTEBOOK_DIR}/notebook.ipynb"
jupyter nbconvert --to script "${NOTEBOOK_DIR}/notebook.ipynb" --output "${NOTEBOOK_DIR}/notebook.py"
export NOTEBOOK_PATH="$(pwd)/${NOTEBOOK_DIR}/notebook.py"
fi
# pick latest notebook
latest_ipynb=$(ls -t "${NOTEBOOK_DIR}"/*.ipynb | head -n1)
cp "$latest_ipynb" "${NOTEBOOK_DIR}/notebook.ipynb"
# convert notebook to script
jupyter nbconvert --to script "${NOTEBOOK_DIR}/notebook.ipynb" \
--output notebook --output-dir "${NOTEBOOK_DIR}"
# remove IPython magics only
sed -i '/get_ipython()/d' "${NOTEBOOK_DIR}/notebook.py"
sed -i '/^!/d' "${NOTEBOOK_DIR}/notebook.py"
sed -i '/^%/d' "${NOTEBOOK_DIR}/notebook.py"
# remove standalone Flask run calls
sed -i '/app\.run(/d' "${NOTEBOOK_DIR}/notebook.py"
# export path and launch server
export NOTEBOOK_PATH="$(pwd)/${NOTEBOOK_DIR}/notebook.py"
exec python snakeapi_server.py