Ajout d'un coup de os.getenv si on veut pouvoir spécifier où est la conf client.
This commit is contained in:
parent
ba1612b819
commit
517cb1e745
2 changed files with 25 additions and 3 deletions
9
README
9
README
|
@ -15,6 +15,15 @@ avant de lancer make install ou make install-server.
|
||||||
* Assurez-vous d'avoir ~/bin dans votre $PATH
|
* 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
|
* 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 ==
|
== Installation et configuration du serveur ==
|
||||||
* Copiez le dépôt git sur le serveur :
|
* Copiez le dépôt git sur le serveur :
|
||||||
$ git clone git://git.crans.org/git/cranspasswords.git
|
$ git clone git://git.crans.org/git/cranspasswords.git
|
||||||
|
|
19
client.py
19
client.py
|
@ -25,15 +25,28 @@ import time
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
# Import de la config
|
# Import de la config
|
||||||
|
envvar = "CRANSPASSWORDS_CLIENT_CONFIG_DIR"
|
||||||
try:
|
try:
|
||||||
# Oui, le nom de la commande est dans la config, mais on n'a pas encore accès à la config
|
# 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]
|
bootstrap_cmd_name = os.path.split(sys.argv[0])[1]
|
||||||
sys.path.append(os.path.expanduser("~/.config/%s/" % (bootstrap_cmd_name,)))
|
sys.path.append(os.path.expanduser("~/.config/%s/" % (bootstrap_cmd_name,)))
|
||||||
import clientconfig as config
|
import clientconfig as config
|
||||||
except ImportError:
|
except ImportError:
|
||||||
if sys.stderr.isatty() and not any([opt in sys.argv for opt in ["-q", "--quiet"]]):
|
ducktape_display_error = 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"))
|
envspecified = os.getenv(envvar, None)
|
||||||
sys.exit(1)
|
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
|
#: 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?$',
|
pass_regexp = re.compile('[\t ]*pass(?:word)?[\t ]*:[\t ]*(.*)\r?\n?$',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue