Newer
Older
# Copyright (C) 2019-2021 Uwe Schitt <uwe.schmitt@id.ethz.ch>
#
# Distributed under terms of the MIT license.
#
set -e
# we have inplace changes we don't want to spoil to # "real" branches.
# we 1. determine current branch,
# 2. setup error handler to switch back to previous branch in all casses
# 3. create a new branch
OLD_BRANCH=$(/usr/local/bin/git branch --show-current)
WORK_BRANCH=setup_euler_temp_branch
cleanup() {
echo CLEANUP
git checkout ${OLD_BRANCH}
git branch -D ${WORK_BRANCH}
}
trap cleanup 0
git checkout -b ${WORK_BRANCH}
# files to include for installation:
NOTEBOOKS=??_*.ipynb
LOCAL_BUILD_FOLDER=$(pwd)/build
rm -rf ${LOCAL_BUILD_FOLDER}
# create fresh folder structure to build archive with notebooks
rm -rf ${LOCAL_BUILD_FOLDER}
mkdir -p ${LOCAL_BUILD_FOLDER}/course
mkdir -p ${LOCAL_BUILD_FOLDER}/solutions
cp ../custom.html ${LOCAL_BUILD_FOLDER}/course
cp ../custom.html ${LOCAL_BUILD_FOLDER}/solutions
cp -r ../data ${LOCAL_BUILD_FOLDER}/course
cp -r ../data ${LOCAL_BUILD_FOLDER}/solutions
cp -r ../images ${LOCAL_BUILD_FOLDER}/course
cp -r ../images ${LOCAL_BUILD_FOLDER}/solutions
# create solution notebooks, copy originals and solutions
# to build folder
pushd .. >/dev/null
for NOTEBOOK in ${NOTEBOOKS}; do
echo process ${NOTEBOOK}
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace ${NOTEBOOK}
TARGET=${LOCAL_BUILD_FOLDER}/course/${NOTEBOOK}
echo ${TARGET}
nb-filter-cells -i $NOTEBOOK -t solution | nb-filter-cells -t TODO -o ${TARGET}
TARGET=${LOCAL_BUILD_FOLDER}/solutions/${NOTEBOOK%.ipynb}-with-solutions.ipynb
nb-filter-cells -i $NOTEBOOK -t TODO -o ${TARGET}
# cp $NOTEBOOK ${TARGET}
done
popd >/dev/null
echo