update_req.sh : Changed manual updating to pur package usage

This commit is contained in:
saundersp 2025-04-26 18:13:41 +02:00
parent ea8985ade5
commit 09729afd48

View File

@ -1,40 +1,28 @@
#!/bin/sh
repeat_char(){
end="$1"
for _ in $(seq 1 "$end") ; do
printf '%s' "$2";
done
}
header(){
env printf "$(repeat_char 150)┐\n"
env printf '│ %-148s │\n' "$1"
env printf "$(repeat_char 150 '─')┘\n"
}
VENV_PATH='./.venv'
update(){
fd requirements.txt ~ | while read -r filename; do
echo "Updating : $filename"
python -m venv --upgrade-deps "$VENV_PATH"
python3.12 -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
pip install --disable-pip-version pur
fd requirements.txt ~ | while read -r filename; do
echo "Downloading : $filename"
grep -e '^[^#]' "$filename" | cut -d = -f 1 | xargs pip download
rm *.whl
header "$(realpath "$filename" | sed "s,$HOME,~,")"
pur -r "$filename"
done
deactivate
rm -rf "$VENV_PATH"
}
update