Compare commits

...

2 Commits

Author SHA1 Message Date
104a59c52c Merge branch 'master' into jbomb-automate
Some checks failed
/ Lint Check Shellscripts (push) Failing after 11s
/ Lint Check Shellscripts (pull_request) Failing after 11s
2026-01-11 10:15:06 +00:00
a3ccb1f3b4 lint scripts
All checks were successful
/ Lint Check Shellscripts (push) Successful in 31s
2026-01-11 10:24:20 +05:30
2 changed files with 27 additions and 27 deletions

View File

@@ -14,5 +14,5 @@ jobs:
shellcheck --version
- name: Run Linter
run: |
shellcheck penv
shellcheck jconf
shellcheck --exclude=SC1090,SC2046 penv
shellcheck --exclude=SC1090,SC2046 jconf

50
penv
View File

@@ -43,7 +43,7 @@ create(){
exit 2
fi
if [[ -d "$HOME/.envs/$name" ]]; then
echo Environment \"$name\" already exists.
echo Environment \""$name"\" already exists.
exit 4
fi
@@ -52,18 +52,18 @@ create(){
echo "Base python3 not found on your system. Install it using your package manager"
exit 3
fi
vers=`/usr/bin/python3 -V | cut -d " " -f 2 | cut -d "." -f 1,2`
vers=$(/usr/bin/python3 -V | cut -d " " -f 2 | cut -d "." -f 1,2)
echo "No version mentioned, using Python $vers"
fi
if [ ! -f /usr/bin/python$vers ]; then
if [ ! -f /usr/bin/python"$vers" ]; then
echo "Python $vers not installed on system."
exit 7
fi
mkdir -p $HOME/.envs
/usr/bin/python$vers -m venv $HOME/.envs/$name
source $HOME/.envs/$name/bin/activate
mkdir -p "$HOME"/.envs
/usr/bin/python"$vers" -m venv "$HOME"/.envs/"$name"
source "$HOME"/.envs/"$name"/bin/activate
python -m pip install ipykernel ipywidgets > /dev/stderr
python -m ipykernel install --user --name $name > /dev/stderr
python -m ipykernel install --user --name "$name" > /dev/stderr
echo
echo "Created \"$name\". It should be available as a Jupyter Kernel."
echo "Use \"pact $name\" to activate in command line."
@@ -81,12 +81,12 @@ delete(){
echo "Run \"deactivate\" to deactivate it"
exit 6
fi
read -n 1 -p "Remove environment $name (y/N)? " choise
read -r -n 1 -p "Remove environment $name (y/N)? " choise
case $choise in
[yY])
source $HOME/.envs/$name/bin/activate
source "$HOME"/.envs/"$name"/bin/activate
echo
echo Spec `jupyter-kernelspec remove -f -y $name`
echo Spec $(jupyter-kernelspec remove -f -y "$name")
deactivate
rm -r "$HOME/.envs/$name"
echo "Data Removed $HOME/.envs/$name"
@@ -114,7 +114,7 @@ delete(){
# }
activate() {
echo Use \"pact $1\"
echo Use \"pact "$1"\"
}
list(){
@@ -122,7 +122,7 @@ list(){
echo "PENV not initialized. Run \"penv init\""
exit 8
fi
ls $HOME/.envs
ls "$HOME"/.envs
}
install() {
@@ -130,8 +130,8 @@ install() {
echo PENV already installed
exit 10
fi
cp $(realpath "$0") $HOME/.local/bin/
mkdir -p $HOME/.envs/
cp $(realpath "$0") "$HOME"/.local/bin/
mkdir -p "$HOME"/.envs/
echo "
pact () {
if [[ -z \"\$1\" ]]; then
@@ -144,17 +144,17 @@ install() {
fi
. \$HOME/.envs/\$1/bin/activate
}
" > $HOME/.envs/.penv.funcs
grep -qxF "source \$HOME/.envs/.penv.funcs" $HOME/.bashrc || echo "source \$HOME/.envs/.penv.funcs" >> $HOME/.bashrc
" > "$HOME"/.envs/.penv.funcs
grep -qxF "source \$HOME/.envs/.penv.funcs" "$HOME"/.bashrc || echo "source \$HOME/.envs/.penv.funcs" >> "$HOME"/.bashrc
echo "Initialized PENV. Restart the shell"
}
uninstall() {
if [[ ! -z "$VIRTUAL_ENV" ]]; then
if [[ -n "$VIRTUAL_ENV" ]]; then
echo "Deactivate the existing environment before uninstalling"
exit 11
fi
read -n 1 -p "REALLY UNINSTALL ALL THE ENVIRONMENTS?(y/N) " ans
read -r -n 1 -p "REALLY UNINSTALL ALL THE ENVIRONMENTS?(y/N) " ans
case $ans in
[yY])
echo
@@ -170,9 +170,9 @@ uninstall() {
return;
;;
esac
sed -i "/source \$HOME\/.envs\/.penv.funcs/d" $HOME/.bashrc
rm -r $HOME/.envs
rm $HOME/.local/bin/penv
sed -i "/source \$HOME\/.envs\/.penv.funcs/d" "$HOME"/.bashrc
rm -r "$HOME"/.envs
rm "$HOME"/.local/bin/penv
echo "Uninstalled PENV"
}
@@ -186,16 +186,16 @@ cmd=$1
case "$cmd" in
new|mk)
create $2 $3
create "$2" "$3"
;;
del|rm)
delete $2
delete "$2"
;;
# setdef|sd)
# setdef $2
# ;;
act|ac)
activate $2
activate "$2"
;;
list|ls)
list
@@ -212,7 +212,7 @@ case "$cmd" in
;;
*)
echo "invalid command: \"$1\"" >&2
echo $SCRIPT
echo "$SCRIPT"
usage
;;
esac