diff --git a/update_req.sh b/update_req.sh new file mode 100755 index 0000000..3655d76 --- /dev/null +++ b/update_req.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +VENV_PATH='./.venv' + +update(){ + fd requirements.txt ~ | while read -r filename; do + echo "Updating : $filename" + + python -m venv --upgrade-deps "$VENV_PATH" + if [ -f "$VENV_PATH"/Scripts/activate ]; then . "$VENV_PATH"/Scripts/activate + elif [ -f "$VENV_PATH"/bin/activate ]; then . "$VENV_PATH"/bin/activate + else exit 1; fi + grep -e '^[^#]' "$filename" | cut -d = -f 1 | xargs pip install -U + + TEMP_FILE=$(mktemp) + pip freeze | grep -E "($(grep -e '^[^#]' "$filename" | cut -d = -f 1 | paste -sd \|))=" > "$TEMP_FILE" + nvim -d "$filename" "$TEMP_FILE" + + deactivate + rm -rf "$VENV_PATH" "$TEMP_FILE" + done +} + +download(){ + python -m venv --upgrade-deps "$VENV_PATH" + if [ -f "$VENV_PATH"/Scripts/activate ]; then . "$VENV_PATH"/Scripts/activate + elif [ -f "$VENV_PATH"/bin/activate ]; then . "$VENV_PATH"/bin/activate + else exit 1; fi + + fd requirements.txt ~ | while read -r filename; do + echo "Downloading : $filename" + grep -e '^[^#]' "$filename" | cut -d = -f 1 | xargs pip download + rm *.whl + done + + deactivate + rm -rf "$VENV_PATH" +} + +update