From 66682e95bb68d3ad5b7bb71c836c5f6eeeb67fbc Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Thu, 6 Dec 2012 16:38:28 +0800 Subject: [PATCH] Better method to identify the current user --- lib/tools.py | 15 +++++++++++++++ moodle-init.py | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/tools.py b/lib/tools.py index ee0f46f..0eab3c8 100644 --- a/lib/tools.py +++ b/lib/tools.py @@ -63,6 +63,21 @@ def chmodRecursive(path, chmod): os.chmod(file, chmod) +def get_current_user(): + """Attempt to get the currently logged in user""" + username = 'root' + import os + try: + username = os.getlogin() + except OSError: + import getpass + try: + username = getpass.getuser() + except: + pass + return username + + def debug(str): print str sys.stdout.flush() diff --git a/moodle-init.py b/moodle-init.py index 9097c40..38dd07a 100755 --- a/moodle-init.py +++ b/moodle-init.py @@ -31,7 +31,7 @@ import re import pwd import subprocess -from lib.tools import debug, question +from lib.tools import debug, question, get_current_user def resolve_directory(path, user): @@ -53,7 +53,7 @@ if os.getuid() != 0: # Check what user we want to initialise for. while True: - username = question('What user are you initialising MDK for?', os.getlogin()) + username = question('What user are you initialising MDK for?', get_current_user()) try: user = pwd.getpwnam(username) usergroup = grp.getgrnam(username) -- 2.11.0