Commit 517cb1e7 authored by Vincent Le gallic's avatar Vincent Le gallic
Browse files

Ajout d'un coup de os.getenv si on veut pouvoir spécifier où est la conf client.

parent ba1612b8
......@@ -15,6 +15,15 @@ avant de lancer make install ou make install-server.
* Assurez-vous d'avoir ~/bin dans votre $PATH
* Exécutez cranspasswords test pour voir si vous arrivez à récupérer le mot de passe de test
* Si vous voulez pouvoir importer client.py pour faire des choses dans ipython par exemple,
comme votre sys.argv[0] ne sera pas "cranspasswords", il aura du mal à savoir où il doit
aller cherche sa config.
Aidez-le avec :
export CRANSPASSWORDS_CLIENT_CONFIG_DIR=/path/to/config/dir/
NB : le nom de cette variable n'est pas modifié
même si vous renommez la commande cranspasswords.
== Installation et configuration du serveur ==
* Copiez le dépôt git sur le serveur :
$ git clone git://git.crans.org/git/cranspasswords.git
......
......@@ -25,15 +25,28 @@ import time
import datetime
# Import de la config
envvar = "CRANSPASSWORDS_CLIENT_CONFIG_DIR"
try:
# Oui, le nom de la commande est dans la config, mais on n'a pas encore accès à la config
bootstrap_cmd_name = os.path.split(sys.argv[0])[1]
sys.path.append(os.path.expanduser("~/.config/%s/" % (bootstrap_cmd_name,)))
import clientconfig as config
except ImportError:
if sys.stderr.isatty() and not any([opt in sys.argv for opt in ["-q", "--quiet"]]):
sys.stderr.write(u"Va lire le fichier README.\n".encode("utf-8"))
sys.exit(1)
ducktape_display_error = sys.stderr.isatty() and not any([opt in sys.argv for opt in ["-q", "--quiet"]])
envspecified = os.getenv(envvar, None)
if envspecified is None:
if ducktape_display_error:
sys.stderr.write(u"Va lire le fichier README.\n".encode("utf-8"))
sys.exit(1)
else:
# On a spécifié à la main le dossier de conf
try:
sys.path.append(envspecified)
import clientconfig as config
except ImportError:
if ducktape_display_error:
sys.stderr.write(u"%s est spécifiée, mais aucune config pour le client ne peut être importée." % (envvar))
sys.exit(1)
#: Pattern utilisé pour détecter la ligne contenant le mot de passe dans les fichiers
pass_regexp = re.compile('[\t ]*pass(?:word)?[\t ]*:[\t ]*(.*)\r?\n?$',
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment