From 3337696369eb5bd363f6aa1b6fee108a0b4fdfc6 Mon Sep 17 00:00:00 2001
From: Thomas Kluyver <thomas@kluyver.me.uk>
Date: Fri, 10 Sep 2021 15:57:59 +0100
Subject: [PATCH] Simplify getting command line arguments to fill notebook
 template path

---
 src/xfel_calibrate/calibrate.py | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/xfel_calibrate/calibrate.py b/src/xfel_calibrate/calibrate.py
index 9d8fade75..82fbcdd68 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"]
-- 
GitLab