From 2c3ebf58d1ceda0224458ff01cbe3a6d34b89b88 Mon Sep 17 00:00:00 2001 From: Daniel STAN Date: Tue, 14 Jan 2014 20:12:20 +0100 Subject: [PATCH] fallback sur getpass.getuser() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- shortcuts.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shortcuts.py b/shortcuts.py index 9f0090e..24eb5be 100644 --- a/shortcuts.py +++ b/shortcuts.py @@ -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) #: 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 -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): current_user = current_user.decode("utf-8")