retrieve current username correctly

`os.getlogin()` does not work in some cases, however `getpass.getuser()` does.
dev
Rafael Ristovski 1 year ago committed by dadevel
parent 4ae769da00
commit 4603781af9
No known key found for this signature in database
GPG Key ID: 1A8A9735430193D5

@ -4,6 +4,7 @@ from argparse import ArgumentParser, RawDescriptionHelpFormatter
from pathlib import Path from pathlib import Path
from typing import Any, Optional from typing import Any, Optional
import dataclasses import dataclasses
import getpass
import json import json
import os import os
import subprocess import subprocess
@ -92,7 +93,7 @@ def cli(args):
data = json.loads(output) data = json.loads(output)
print('\n'.join(item['name'] for item in data)) print('\n'.join(item['name'] for item in data))
elif opts.action == 'switch': elif opts.action == 'switch':
os.execvp('sudo', ['ip', 'ip', 'netns', 'exec', opts.netns, 'sudo', '-u', os.getlogin(), '-D', Path.cwd().as_posix(), os.environ['SHELL'], '-i']) os.execvp('sudo', ['ip', 'ip', 'netns', 'exec', opts.netns, 'sudo', '-u', getpass.getuser(), '-D', Path.cwd().as_posix(), os.environ['SHELL'], '-i'])
else: else:
raise RuntimeError('congratulations, you reached unreachable code') raise RuntimeError('congratulations, you reached unreachable code')

Loading…
Cancel
Save