Skip to content
Snippets Groups Projects
prepare_notebooks.sh 1.73 KiB
Newer Older
  • Learn to ignore specific revisions
  • #! /bin/sh
    #
    # create_installer.sh
    
    # 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