summaryrefslogtreecommitdiff
path: root/tools/with_venv.sh
blob: 5143b5560cfa1126814046fa62b8fa73b743e97d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash

set -e

me=${0##*/}
dir="$(dirname $0)"

function print_usage() {
  cat >&2 <<EOS
Run commands in a default (or specific) virtualenv

Usage: $me [-E venv] commands

Options:
  -h        prints out this message
  -E venv   use this virtualenv (default: ${venv})
EOS
}

venv="${dir}/../.venv"

while getopts ":hE:" opt; do
  case "$opt" in
    h|\?) print_usage; exit 1 ;;
    E) venv=$OPTARG ;;
  esac
done
shift $((OPTIND-1))

source "${venv}/bin/activate" && "$@"