diff --git a/surfa/pipeline.py b/surfa/pipeline.py index a8457e4..640f7b1 100644 --- a/surfa/pipeline.py +++ b/surfa/pipeline.py @@ -40,7 +40,7 @@ def __init__(self, name, log=None, keep_going=False): self.info(f'New invocation on {datetime.datetime.now()}') cmdline = ' '.join(sys.argv[1:]) self.info(f'Command options: {cmdline}') - self.info(f'User: {getpass.getuser()}') + self.info(f'User: {self.__get_user()}') self.info(f'Host: {platform.node()}') self.info(f'System: {platform.system()} {platform.release()}') @@ -82,6 +82,14 @@ def _print_message(self, tag, message, color=None): # NOTE: disabling color for now print(message) + @staticmethod + def __get_user(): + try: + return getpass.getuser() + except KeyError as e: + if len(e.args) >= 1 and e.args[0].startswith('getpwuid(): uid not found:'): + return str(os.getuid()) + def info(self, message): """ Print a message.