From ffa3595c2b196dc62553d59f139c05d0620a2967 Mon Sep 17 00:00:00 2001 From: Daniel STAN Date: Fri, 24 Oct 2014 20:08:20 +0200 Subject: [PATCH] =?UTF-8?q?python.sh:=20PYTHONPATH=20de=20d=C3=A9p=C3=B4t?= =?UTF-8?q?=20de=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CRANS_SCRIPTS_ROOT | 5 +++++ python.sh | 22 +++++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 CRANS_SCRIPTS_ROOT diff --git a/CRANS_SCRIPTS_ROOT b/CRANS_SCRIPTS_ROOT new file mode 100644 index 00000000..dd9745e1 --- /dev/null +++ b/CRANS_SCRIPTS_ROOT @@ -0,0 +1,5 @@ +Ce fichier indique la racine du dépôt /usr/scripts. Paradoxalement, ce fichier +est inutile en production, mais utilisé en test, lorsque le dépôt est cloné +ailleurs que dans le dossier /usr/scripts. Il permet alors au script bash +python.sh de retrouver la racine du dépôt pour correctement configurer +la variable PYTHONPATH. diff --git a/python.sh b/python.sh index 0d7a5144..73070854 100644 --- a/python.sh +++ b/python.sh @@ -2,9 +2,21 @@ #!/bin/bash /usr/scripts/python.sh #Ceci permet alors de lancer python avec un PYTHONPATH custom (/usr/scripts) #pour éviter de l'importer dans chaque script -PYTHONPATH=/usr/scripts -for i in /usr/scripts/lib/python2.7/site-packages/*.egg; do - PYTHONPATH=$PYTHONPATH:$i +CPATH=/usr/scripts +readlink -e $1 | grep "^/usr/scripts/" -q || { + f=`readlink -e $1` + p=`dirname "$f"` + while [ "$p" != "/" ]; do + if [ -f "$p/CRANS_SCRIPTS_ROOT" ]; then + CPATH=$p + break + fi + p=`dirname "$p"` + done; + echo "Dépôt custom. PYTHONPATH: $CPATH" +} +for i in $CPATH/lib/python2.7/site-packages/*.egg; do + CPATH=$CPATH:$i done -PYTHONPATH=$PYTHONPATH:/usr/scripts/lib/python2.7/site-packages/ -/usr/bin/env PYTHONPATH=$PYTHONPATH python "$@" +CPATH=$CPATH:/usr/scripts/lib/python2.7/site-packages/ +/usr/bin/env PYTHONPATH=$CPATH python "$@"