diff options
author | Baptiste Darthenay <baptiste@darthenay.fr> | 2017-01-03 15:11:21 +0100 |
---|---|---|
committer | Baptiste Darthenay <baptiste@darthenay.fr> | 2017-01-03 15:11:21 +0100 |
commit | e47b1b8fbb4edd150bfc45131c0e9f78493b20a6 (patch) | |
tree | d89d2eeba6199105d66ae94574cb933cdde7fdc5 | |
parent | bf8afa62e0e788b5a6b3ad32cbf18bd6374fb92c (diff) |
Expended oneliners.
-rwxr-xr-x | venvworkon.sh | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/venvworkon.sh b/venvworkon.sh index 92890b6..48cf308 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 + pyvenv $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 } |