Skip to content
Snippets Groups Projects
Commit 33376963 authored by Thomas Kluyver's avatar Thomas Kluyver
Browse files

Simplify getting command line arguments to fill notebook template path

parent 6009d214
No related branches found
No related tags found
1 merge request!554Simplify handling of user notebook paths
......@@ -400,21 +400,18 @@ def make_extended_parser() -> argparse.ArgumentParser:
# notebook TODO: This is a very hacky workaround, better implementation
# is not really possible with the current state of this module
user_notebook_path = nb_info["user"]["notebook"]
# Pulls out the variables in the templated path string, so that they
# can be added to the argument parser
# Pull out the variables in the templated path string, and get values
# from command line args (e.g. --proposal 1234 -> {proposal})
user_notebook_variables = [
name for (_, name, _, _) in string.Formatter().parse(user_notebook_path)
if name is not None
]
user_notebook_parser = argparse.ArgumentParser()
user_notebook_parser = argparse.ArgumentParser(add_help=False)
for var in user_notebook_variables:
user_notebook_parser.add_argument(f"--{var}")
user_notebook_args, _ = user_notebook_parser.parse_known_args(
args=list(filter(lambda x: x != "-h", _)) # Drop help from args
)
user_notebook_args, _ = user_notebook_parser.parse_known_args()
nb_info["notebook"] = user_notebook_path.format(**vars(user_notebook_args))
notebook = nb_info["notebook"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment