Skip to content
Snippets Groups Projects
update_course_repo.sh 1.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/bash
    #
    # update_course_repo.sh
    # Copyright (C) 2021 Uwe Schmitt <uwe.schmitt@id.ethz.ch>
    #
    # Distributed under terms of the MIT license.
    #
    
    set -e
    
    NOTEBOOKS=??_*.ipynb
    NEEDED="images data"
    
    schmittu's avatar
    schmittu committed
    EXTRA="README.md LICENSE intro_presentation environment*.yml custom.html"
    
    NAME=machinelearning-introduction-workshop
    
    REPOURL=https://gitlab.ethz.ch/schmittu/${NAME}
    
    
    echo
    echo This script will upload the following files and folders to ${REPOURL}:
    echo
    for P in ${NEEDED} ${EXTRA} ${NOTEBOOKS}; do
        echo "   " ${P}
    done
    echo
    echo you might be prompted to enter your NETHZ account name and password
    echo
    
    while true; do
    
        read -p "Do you wish to continue? " yn
    
        case $yn in
    
            [Yy]* ) echo; break;;
    
            [Nn]* ) exit;;
            * ) echo "Please answer yes or no.";;
        esac
    done
    
    
    FLDR=$(mktemp -d)
    git -C ${FLDR} clone ${REPOURL}.git
    
    
    
    ROOT=${FLDR}/${NAME}
    echo
    echo ${ROOT}
    echo
    
    test -d ${ROOT}/solutions || mkdir -p ${ROOT}/solutions
    
    
    cp -R ${NEEDED} ${NOTEBOOKS} ${ROOT}/solutions
    cp -R ${NEEDED} ${EXTRA} ${ROOT}
    
    for N in ${NOTEBOOKS}; do
        jupyter nbconvert ${N} \
            --TagRemovePreprocessor.enabled=True \
    
            --TagRemovePreprocessor.remove_cell_tags=solution \
    
            --to notebook \
            --output ${ROOT}/${N}
    done
    
    git -C ${ROOT} add ${ROOT}
    git -C ${ROOT} commit -m "update"
    git -C ${ROOT} push