diff --git a/src/xfel_calibrate/calibrate.py b/src/xfel_calibrate/calibrate.py index 9d8fade75438536d286b9d0bdf117a45ce681786..82fbcdd6865d3406df909f9246be0ebc94513a73 100755 --- a/src/xfel_calibrate/calibrate.py +++ b/src/xfel_calibrate/calibrate.py @@ -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"]