shortcuts: utilisation de secrets_new
On retire la fonction import_secrets. Elle ne semble pas être utilisée ailleurs. Normalement, "/usr/scripts" est dans le PYTHONPATH, si ce n'est pas le cas, l'import va planter. En cas d'erreur, on essaie (temporairement) un second import en rajoutant d'abord ce path, tout en crachant un truc sur stderr (histoire de trouver les méchants scripts qui n'ont pas le path de base).
This commit is contained in:
parent
2c3ebf58d1
commit
a9601b3660
1 changed files with 21 additions and 19 deletions
40
shortcuts.py
40
shortcuts.py
|
@ -6,13 +6,25 @@
|
|||
import sys
|
||||
import os
|
||||
|
||||
import lc_ldap as module_qui_a_le_meme_nom_que_sa_classe_principale
|
||||
import variables
|
||||
|
||||
import functools
|
||||
from ldap import SERVER_DOWN
|
||||
from time import sleep
|
||||
|
||||
# Import du fichier de secrets. Le kludge de path ci-dessous ne devrait plus
|
||||
# avoir lieu dans le futur
|
||||
try:
|
||||
from gestion import secrets_new as secrets
|
||||
except ImportError:
|
||||
sys.stderr.write("lc_ldap shortcuts: shaa, cannot import secrets_new. " +
|
||||
"try again with /usr/scripts/ in PYTHONPATH " +
|
||||
"(argv: %s)\n" % " ".join(sys.argv))
|
||||
sys.path.append("/usr/scripts")
|
||||
from gestion import secrets_new as secrets
|
||||
sys.path.pop()
|
||||
|
||||
import lc_ldap as module_qui_a_le_meme_nom_que_sa_classe_principale
|
||||
import variables
|
||||
|
||||
#: Pour enregistrer dans l'historique, on a besoin de savoir qui exécute le script
|
||||
#: Si le script a été exécuté via un sudo, la variable SUDO_USER (l'utilisateur qui a effectué le sudo)
|
||||
#: est plus pertinente que USER (qui sera root)
|
||||
|
@ -22,13 +34,6 @@ current_user = os.getenv("SUDO_USER") or os.getenv("USER") or os.getenv("LOGNAME
|
|||
if isinstance(current_user, str):
|
||||
current_user = current_user.decode("utf-8")
|
||||
|
||||
# Quand on a besoin du fichier de secrets
|
||||
def import_secrets():
|
||||
"""Importe le fichier de secrets."""
|
||||
if not "/etc/crans/secrets/" in sys.path:
|
||||
sys.path.append("/etc/crans/secrets/")
|
||||
import secrets
|
||||
return secrets
|
||||
|
||||
def lc_ldap(*args, **kwargs):
|
||||
"""Renvoie une connexion à la base LDAP."""
|
||||
|
@ -57,10 +62,9 @@ def lc_ldap_admin(*args, **kwargs):
|
|||
Possible seulement si on peut lire secrets.py
|
||||
|
||||
"""
|
||||
secrets = import_secrets()
|
||||
kwargs["uri"] = 'ldap://ldap.adm.crans.org/'
|
||||
kwargs["dn"] = secrets.ldap_auth_dn
|
||||
kwargs["cred"] = secrets.ldap_password
|
||||
kwargs["dn"] = secrets.get('ldap_auth_dn')
|
||||
kwargs["cred"] = secrets.get('ldap_password')
|
||||
kwargs.setdefault("user", current_user)
|
||||
return module_qui_a_le_meme_nom_que_sa_classe_principale.lc_ldap(*args, **kwargs)
|
||||
|
||||
|
@ -69,10 +73,9 @@ def lc_ldap_readonly(*args, **kwargs):
|
|||
Possible seulement si on peut lire secrets.py
|
||||
|
||||
"""
|
||||
secrets = import_secrets()
|
||||
kwargs["uri"] = 'ldap://ldap.adm.crans.org/'
|
||||
kwargs["dn"] = secrets.ldap_readonly_auth_dn
|
||||
kwargs["cred"] = secrets.ldap_readonly_password
|
||||
kwargs["dn"] = secrets.get('ldap_readonly_auth_dn')
|
||||
kwargs["cred"] = secrets.get('ldap_readonly_password')
|
||||
kwargs.setdefault("user", current_user)
|
||||
return module_qui_a_le_meme_nom_que_sa_classe_principale.lc_ldap(*args, **kwargs)
|
||||
|
||||
|
@ -89,9 +92,8 @@ def lc_ldap_local(*args, **kwargs):
|
|||
qui est problématique).
|
||||
|
||||
"""
|
||||
secrets = import_secrets()
|
||||
auth_dn = secrets.ldap_readonly_auth_dn
|
||||
auth_pw = secrets.ldap_readonly_password
|
||||
auth_dn = secrets.get('ldap_readonly_auth_dn')
|
||||
auth_pw = secrets.get('ldap_readonly_password')
|
||||
if os.path.exists('/var/run/slapd/ldapi'):
|
||||
ro_uri = 'ldapi://%2fvar%2frun%2fslapd%2fldapi/'
|
||||
elif os.path.exists('/var/run/ldapi'):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue