summaryrefslogtreecommitdiff
path: root/bin/python-tool
diff options
context:
space:
mode:
Diffstat (limited to 'bin/python-tool')
-rwxr-xr-xbin/python-tool29
1 files changed, 29 insertions, 0 deletions
diff --git a/bin/python-tool b/bin/python-tool
new file mode 100755
index 0000000..27cab43
--- /dev/null
+++ b/bin/python-tool
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+set -euo pipefail
+
+basedir="${0%/*}"
+self="${0##*/}"
+cmd="$basedir/env/bin/$self"
+
+if [[ ! -x $cmd ]]
+then
+ if [[ ! -d $basedir/env ]]
+ then
+ virtualenv --python=python3 $basedir/env
+ fi
+
+ if [[ ! -e $basedir/env/.cookie || $basedir/requirements.txt -nt $basedir/env/.cookie ]]
+ then
+ $basedir/env/bin/pip install -r $basedir/requirements.txt
+ touch $basedir/env/.cookie
+ fi
+fi
+
+if [[ "$self" == "python-tool" ]]
+then
+ echo "$0: Setup complete"
+ exit 0
+fi
+
+exec "$cmd" "${@}"