diff options
author | Guillaume <g@bitimplosion.com> | 2017-01-03 14:35:10 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-03 14:35:10 +0000 |
commit | ed1814abfc22ddee88e620c49fa44c01701d08b4 (patch) | |
tree | 87c3484c9691028965a158ce686c446c55ce6a2d | |
parent | bf8afa62e0e788b5a6b3ad32cbf18bd6374fb92c (diff) | |
parent | 1cb14f33da02930f874f42054790ecbac931cf87 (diff) |
Merge pull request #3 from batisteo/no-oneliners
\o/ Death to one-liners!
-rwxr-xr-x | venvworkon.sh | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/venvworkon.sh b/venvworkon.sh index 92890b6..9dcd85c 100755 --- a/venvworkon.sh +++ b/venvworkon.sh @@ -1,24 +1,39 @@ workon() { # Sets WORKON_HOME to default if not set already - test -z "$WORKON_HOME" && WORKON_HOME="$HOME/.venv" + if [ -z $WORKON_HOME ]; then + WORKON_HOME="$HOME/.venv" + fi # Creates WORKON_HOME directory if not exists - test ! -e "$WORKON_HOME" && mkdir -p $_ + if [ ! -e $WORKON_HOME ]; then + mkdir -p $WORKON_HOME + echo "Virtual env directory created in $WORKON_HOME" + fi # Quit if there is no arguments, while showing available venvs - test "$#" -lt "1" && ls "$WORKON_HOME"; return + if [ "$#" -lt "1" ]; then + ls "$WORKON_HOME" + return + fi envdir="$WORKON_HOME/$1" # Creates virtual env if doesn't exists - test ! -e "$envdir" && pyvenv $_ && echo "Virtual env created in $_" + if [ ! -e "$envdir" ]; then + python3 -m venv $envdir + echo "Virtual env created in $envdir" + fi source "$envdir/bin/activate" unset envdir # VIRTUAL_ENV is now set by bin/activate # Jumps to project directory if exists and PROJECT_HOME is set - test -d "$PROJECT_HOME/$(basename $VIRTUAL_ENV)" && cd $_ + if [ -d "$PROJECT_HOME/$(basename $VIRTUAL_ENV)" ]; then + cd "$PROJECT_HOME/$(basename $VIRTUAL_ENV)" + fi # Source postactivate.sh if exists in the virtual env - test -e "$VIRTUAL_ENV/postactivate.sh" && source $_ + if [ -e "$VIRTUAL_ENV/postactivate.sh" ]; then + source "$VIRTUAL_ENV/postactivate.sh" + fi } |