1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#!/bin/bash
set -e
# This script is called in a binder context. When this script is called, we are
# inside a git checkout of the scikit-optimize/scikit-optimize repo. This script is
# generating notebooks from the scikit-optimize python examples.
if [[ ! -f /.dockerenv ]]; then
echo "This script was written for repo2docker and is supposed to run inside a docker container."
echo "Exiting because this script can delete data if run outside of a docker container."
exit 1
fi
# Back up content we need from the scikit-learn repo
TMP_CONTENT_DIR=/tmp/scikit-learn
mkdir -p $TMP_CONTENT_DIR
cp -r examples .binder $TMP_CONTENT_DIR
# delete everything in current directory including dot files and dot folders
find . -delete
# Generate notebooks and remove other files from examples folder
GENERATED_NOTEBOOKS_DIR=.generated-notebooks
cp -r $TMP_CONTENT_DIR/examples $GENERATED_NOTEBOOKS_DIR
rm $GENERATED_NOTEBOOKS_DIR/utils.py
find $GENERATED_NOTEBOOKS_DIR -name '*.py' -exec sphx_glr_python_to_jupyter.py '{}' +
NON_NOTEBOOKS=$(find $GENERATED_NOTEBOOKS_DIR -type f | grep -v '\.ipynb')
rm -f $NON_NOTEBOOKS
# Put the .binder folder back (may be useful for debugging purposes)
mv $TMP_CONTENT_DIR/.binder .
# Final clean up
rm -rf $TMP_CONTENT_DIR
# This is for compatibility with binder sphinx-gallery integration: this makes
# sure that the binder links generated by sphinx-gallery are correct even tough
# the repo we use for binder (scikit-optimize/scikit-optimize) is not the repo of the
# generated doc (scikit-optimize/scikit-optimize.github.io)
mkdir notebooks
ln -s ../$GENERATED_NOTEBOOKS_DIR notebooks/auto_examples
|