fallback sur getpass.getuser()

Cette méthode a l'air de moins planter pour trouver le nom de l'utilisateur,
par exemple depuis un initscript qui a nettoyé drastiquement l'environnement.
En réalité je me demande s'il ne vaudrait pas mieux utiliser uniquement
celle-là… À méditer.
This commit is contained in:
Daniel STAN 2014-01-14 20:12:20 +01:00
parent c894eecc15
commit 2c3ebf58d1

View file

@ -17,7 +17,8 @@ from time import sleep
#: Si le script a été exécuté via un sudo, la variable SUDO_USER (l'utilisateur qui a effectué le sudo) #: 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) #: est plus pertinente que USER (qui sera root)
#: À noter que Cron, par exemple, n'a ni USER ni SUDO_USER mais possède bien LOGNAME #: À noter que Cron, par exemple, n'a ni USER ni SUDO_USER mais possède bien LOGNAME
current_user = os.getenv("SUDO_USER") or os.getenv("USER") or os.getenv("LOGNAME") import getpass
current_user = os.getenv("SUDO_USER") or os.getenv("USER") or os.getenv("LOGNAME") or getpass.getuser()
if isinstance(current_user, str): if isinstance(current_user, str):
current_user = current_user.decode("utf-8") current_user = current_user.decode("utf-8")