From 19025939cb0e6add5123f8046ca130decaa9c7e3 Mon Sep 17 00:00:00 2001 From: msimonin <matthieu.simonin@inria.fr> Date: Wed, 9 Mar 2022 14:54:23 +0100 Subject: [PATCH] Introduce grid5000-auth --- grid5000/cli.py | 22 ++++++++++++++++++++++ setup.cfg | 1 + 2 files changed, 23 insertions(+) diff --git a/grid5000/cli.py b/grid5000/cli.py index 2c7edda..f553e4d 100644 --- a/grid5000/cli.py +++ b/grid5000/cli.py @@ -38,3 +38,25 @@ def main(): gk = Grid5000.from_yaml(CONF_PATH) motd = MOTD % (CONF_PATH, gk.username) IPython.embed(header=motd) + + +def auth(): + import argparse + from getpass import getpass + + parser = argparse.ArgumentParser(description=f"Check or create {CONF_PATH}") + parser.add_argument("--user", "-u", help="Username on Grid'5000", required=True) + args = parser.parse_args() + + path = pathlib.Path(CONF_PATH) + if path.exists(): + print(f"{CONF_PATH} file already exists, not overwriting") + return + user = args.user + + password = getpass("Grid'5000 password: ") + path.write_text("\n".join([ + f"username: {user}", + f"password: {password}" + ])) + print(f"{CONF_PATH} created successfully") diff --git a/setup.cfg b/setup.cfg index de5c834..b31e401 100644 --- a/setup.cfg +++ b/setup.cfg @@ -33,3 +33,4 @@ exclude = [options.entry_points] console_scripts = grid5000 = grid5000.cli:main + grid5000-auth = grid5000.cli:auth \ No newline at end of file -- GitLab