From 45c368bfefaf01d80a9f61046e2330e815ced073 Mon Sep 17 00:00:00 2001 From: James Polley Date: Sun, 28 Apr 2019 09:38:53 +1000 Subject: [PATCH] More robust use of our virtualenv Prior to this change, the script tests if it's running inside a virtualenv; and if it is, it assumes that it must be inside its own virtualenv. This change switches to testing for the activate binary in the place we expect; and if it's found, using it directly. This avoids false positives (running the script inside the wrong virtualenv) and makes sure that we're running inside the right virtualenv. --- algo | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/algo b/algo index 260c0e65..0ff3f0a4 100755 --- a/algo +++ b/algo @@ -2,19 +2,17 @@ set -e -if [ -z ${VIRTUAL_ENV+x} ] +ACTIVATE_SCRIPT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/env/bin/activate" +if [ -f "$ACTIVATE_SCRIPT" ] then - ACTIVATE_SCRIPT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/env/bin/activate" - if [ -f "$ACTIVATE_SCRIPT" ] - then # shellcheck source=/dev/null source "$ACTIVATE_SCRIPT" - else +else echo "$ACTIVATE_SCRIPT not found. Did you follow documentation to install dependencies?" exit 1 - fi fi + case "$1" in update-users) PLAYBOOK=users.yml; ARGS=( "${@:2}" -t update-users ) ;; *) PLAYBOOK=main.yml; ARGS=( "${@}" ) ;;